sys_proto.h 2.1 KB

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