xref: /rk3399_rockchip-uboot/arch/arm/include/asm/arch-omap4/sys_proto.h (revision 3ef56e61c8cbfdfdca155f5b1e2cd4d5cb5e048a)
1d34efc76SSteve Sakoman /*
2d34efc76SSteve Sakoman  * (C) Copyright 2010
3d34efc76SSteve Sakoman  * Texas Instruments, <www.ti.com>
4d34efc76SSteve Sakoman  *
51a459660SWolfgang Denk  * SPDX-License-Identifier:	GPL-2.0+
6d34efc76SSteve Sakoman  */
7d34efc76SSteve Sakoman 
8d34efc76SSteve Sakoman #ifndef _SYS_PROTO_H_
9d34efc76SSteve Sakoman #define _SYS_PROTO_H_
10d34efc76SSteve Sakoman 
11508a58faSSricharan #include <asm/arch/omap.h>
12af1d002fSLokesh Vutla #include <asm/arch/clock.h>
13d34efc76SSteve Sakoman #include <asm/io.h>
14d2f18c27SAneesh V #include <asm/omap_common.h>
156aff0509Spekon gupta #include <linux/mtd/omap_gpmc.h>
16469ec1e3SAneesh V #include <asm/arch/mux_omap4.h>
17939911a6STom Rini #include <asm/ti-common/sys_proto.h>
18d34efc76SSteve Sakoman 
194a0eb757SSRICHARAN R DECLARE_GLOBAL_DATA_PTR;
204a0eb757SSRICHARAN R 
217cb998baSPaul Kocialkowski #ifdef CONFIG_SYS_EMIF_PRECALCULATED_TIMING_REGS
22675cc77aSHardik Patel extern const struct emif_regs emif_regs_elpida_200_mhz_2cs;
23675cc77aSHardik Patel extern const struct emif_regs emif_regs_elpida_380_mhz_1cs;
24675cc77aSHardik Patel extern const struct emif_regs emif_regs_elpida_400_mhz_1cs;
25675cc77aSHardik Patel extern const struct emif_regs emif_regs_elpida_400_mhz_2cs;
2638e5a5abSNishanth Menon extern const struct dmm_lisa_map_regs lisa_map_2G_x_1_x_2;
2738e5a5abSNishanth Menon extern const struct dmm_lisa_map_regs lisa_map_2G_x_2_x_2;
2838e5a5abSNishanth Menon extern const struct dmm_lisa_map_regs ma_lisa_map_2G_x_2_x_2;
297cb998baSPaul Kocialkowski #else
307cb998baSPaul Kocialkowski extern const struct lpddr2_device_details elpida_2G_S4_details;
317cb998baSPaul Kocialkowski extern const struct lpddr2_device_details elpida_4G_S4_details;
327cb998baSPaul Kocialkowski #endif
3396703acdSPaul Kocialkowski 
34ed5ddebeSPaul Kocialkowski #ifdef CONFIG_SYS_DEFAULT_LPDDR2_TIMINGS
35ed5ddebeSPaul Kocialkowski extern const struct lpddr2_device_timings jedec_default_timings;
36ed5ddebeSPaul Kocialkowski #else
3796703acdSPaul Kocialkowski extern const struct lpddr2_device_timings elpida_2G_S4_timings;
3896703acdSPaul Kocialkowski #endif
3996703acdSPaul Kocialkowski 
40d34efc76SSteve Sakoman struct omap_sysinfo {
41d34efc76SSteve Sakoman 	char *board_string;
42d34efc76SSteve Sakoman };
43d2f18c27SAneesh V extern const struct omap_sysinfo sysinfo;
44d34efc76SSteve Sakoman 
4527952014SSteve Sakoman void gpmc_init(void);
46d34efc76SSteve Sakoman void watchdog_init(void);
47d34efc76SSteve Sakoman u32 get_device_type(void);
48469ec1e3SAneesh V void do_set_mux(u32 base, struct pad_conf_entry const *array, int size);
49*3ef56e61SPaul Kocialkowski void set_muxconf_regs(void);
500e7b6217SSteve Sakoman u32 wait_on_value(u32, u32, void *, u32);
510e7b6217SSteve Sakoman void sdelay(unsigned long);
5293e6253dSKipisz, Steven void setup_early_clocks(void);
533776801dSAneesh V void prcm_init(void);
54d88d6c8cSKipisz, Steven void do_board_detect(void);
5501b753ffSSRICHARAN R void bypass_dpll(u32 const base);
563776801dSAneesh V void freq_update_core(void);
573776801dSAneesh V u32 get_sys_clk_freq(void);
583776801dSAneesh V u32 omap4_ddr_clk(void);
59095aea29SAneesh V void cancel_out(u32 *num, u32 *den, u32 den_limit);
602ae610f0SAneesh V void sdram_init(void);
61508a58faSSricharan u32 omap_sdram_size(void);
62508a58faSSricharan u32 cortex_rev(void);
634596dcc1STom Rini void save_omap_boot_params(void);
64508a58faSSricharan void init_omap_revision(void);
65508a58faSSricharan void do_io_settings(void);
664ca94d81SLokesh Vutla void sri2c_init(void);
67a78274b2SNishanth Menon int omap_vc_bypass_send_value(u8 sa, u8 reg_addr, u8 reg_data);
6870239507SLokesh Vutla u32 warm_reset(void);
6938f25b12SLokesh Vutla void force_emif_self_refresh(void);
700b1b60c7SLokesh Vutla void setup_warmreset_time(void);
716d8abe6aSNishanth Menon 
726d8abe6aSNishanth Menon #define OMAP4_SERVICE_PL310_CONTROL_REG_SET	0x102
736d8abe6aSNishanth Menon 
74d34efc76SSteve Sakoman #endif
75