1/* SPDX-License-Identifier: GPL-2.0+ */
2/*
3 * sys_proto.h
4 *
5 * System information header
6 *
7 * Copyright (C) 2011, Texas Instruments, Incorporated - https://www.ti.com/
8 */
9
10#ifndef _SYS_PROTO_H_
11#define _SYS_PROTO_H_
12#include <linux/mtd/omap_gpmc.h>
13#include <asm/arch/cpu.h>
14
15u32 get_cpu_rev(void);
16u32 get_sysboot_value(void);
17
18extern struct ctrl_stat *cstat;
19u32 get_device_type(void);
20void save_omap_boot_params(void);
21void setup_early_clocks(void);
22void setup_clocks_for_console(void);
23void mpu_pll_config_val(int mpull_m);
24void ddr_pll_config(unsigned int ddrpll_M);
25
26void sdelay(unsigned long);
27
28void gpmc_init(void);
29void enable_gpmc_cs_config(const u32 *gpmc_config, const struct gpmc_cs *cs, u32 base,
30			u32 size);
31int omap_nand_switch_ecc(uint32_t, uint32_t);
32
33void set_uart_mux_conf(void);
34void set_mux_conf_regs(void);
35void sdram_init(void);
36u32 wait_on_value(u32, u32, void *, u32);
37#ifdef CONFIG_NOR_BOOT
38void enable_norboot_pin_mux(void);
39#endif
40void am33xx_spl_board_init(void);
41int am335x_get_efuse_mpu_max_freq(struct ctrl_dev *cdev);
42int am335x_get_mpu_vdd(int sil_rev, int frequency);
43int am335x_get_tps65910_mpu_vdd(int sil_rev, int frequency);
44#endif
45
46void enable_usb_clocks(int index);
47void disable_usb_clocks(int index);
48void do_board_detect(void);
49u32 get_sys_clk_index(void);
50