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 - http://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 
15 u32 get_cpu_rev(void);
16 u32 get_sysboot_value(void);
17 
18 extern struct ctrl_stat *cstat;
19 u32 get_device_type(void);
20 void save_omap_boot_params(void);
21 void setup_early_clocks(void);
22 void setup_clocks_for_console(void);
23 void mpu_pll_config_val(int mpull_m);
24 void ddr_pll_config(unsigned int ddrpll_M);
25 
26 void sdelay(unsigned long);
27 
28 void gpmc_init(void);
29 void enable_gpmc_cs_config(const u32 *gpmc_config, const struct gpmc_cs *cs, u32 base,
30 			u32 size);
31 int omap_nand_switch_ecc(uint32_t, uint32_t);
32 
33 void set_uart_mux_conf(void);
34 void set_mux_conf_regs(void);
35 void sdram_init(void);
36 u32 wait_on_value(u32, u32, void *, u32);
37 #ifdef CONFIG_NOR_BOOT
38 void enable_norboot_pin_mux(void);
39 #endif
40 void am33xx_spl_board_init(void);
41 int am335x_get_efuse_mpu_max_freq(struct ctrl_dev *cdev);
42 int am335x_get_mpu_vdd(int sil_rev, int frequency);
43 int am335x_get_tps65910_mpu_vdd(int sil_rev, int frequency);
44 #endif
45 
46 void enable_usb_clocks(int index);
47 void disable_usb_clocks(int index);
48 void do_board_detect(void);
49 u32 get_sys_clk_index(void);
50