sys_proto.h 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. /* SPDX-License-Identifier: GPL-2.0+ */
  2. /*
  3. * (C) Copyright 2010
  4. * Texas Instruments, <www.ti.com>
  5. */
  6. #ifndef _SYS_PROTO_H_
  7. #define _SYS_PROTO_H_
  8. #include <asm/arch/omap.h>
  9. #include <asm/arch/clock.h>
  10. #include <asm/io.h>
  11. #include <asm/omap_common.h>
  12. #include <linux/mtd/omap_gpmc.h>
  13. #include <asm/arch/mux_omap4.h>
  14. #include <asm/ti-common/sys_proto.h>
  15. #ifdef CONFIG_SYS_EMIF_PRECALCULATED_TIMING_REGS
  16. extern const struct emif_regs emif_regs_elpida_200_mhz_2cs;
  17. extern const struct emif_regs emif_regs_elpida_380_mhz_1cs;
  18. extern const struct emif_regs emif_regs_elpida_400_mhz_1cs;
  19. extern const struct emif_regs emif_regs_elpida_400_mhz_2cs;
  20. extern const struct dmm_lisa_map_regs lisa_map_2G_x_1_x_2;
  21. extern const struct dmm_lisa_map_regs lisa_map_2G_x_2_x_2;
  22. extern const struct dmm_lisa_map_regs ma_lisa_map_2G_x_2_x_2;
  23. #else
  24. extern const struct lpddr2_device_details elpida_2G_S4_details;
  25. extern const struct lpddr2_device_details elpida_4G_S4_details;
  26. #endif
  27. #ifdef CONFIG_SYS_DEFAULT_LPDDR2_TIMINGS
  28. extern const struct lpddr2_device_timings jedec_default_timings;
  29. #else
  30. extern const struct lpddr2_device_timings elpida_2G_S4_timings;
  31. #endif
  32. struct omap_sysinfo {
  33. char *board_string;
  34. };
  35. extern const struct omap_sysinfo sysinfo;
  36. void gpmc_init(void);
  37. void watchdog_init(void);
  38. u32 get_device_type(void);
  39. void do_set_mux(u32 base, struct pad_conf_entry const *array, int size);
  40. void set_muxconf_regs(void);
  41. u32 wait_on_value(u32, u32, void *, u32);
  42. void sdelay(unsigned long);
  43. void setup_early_clocks(void);
  44. void prcm_init(void);
  45. void do_board_detect(void);
  46. void bypass_dpll(u32 const base);
  47. void freq_update_core(void);
  48. u32 get_sys_clk_freq(void);
  49. u32 omap4_ddr_clk(void);
  50. void cancel_out(u32 *num, u32 *den, u32 den_limit);
  51. void sdram_init(void);
  52. u32 omap_sdram_size(void);
  53. u32 cortex_rev(void);
  54. void save_omap_boot_params(void);
  55. void init_omap_revision(void);
  56. void do_io_settings(void);
  57. void sri2c_init(void);
  58. int omap_vc_bypass_send_value(u8 sa, u8 reg_addr, u8 reg_data);
  59. u32 warm_reset(void);
  60. void force_emif_self_refresh(void);
  61. void setup_warmreset_time(void);
  62. #define OMAP4_SERVICE_PL310_CONTROL_REG_SET 0x102
  63. #endif