sram.h 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. /*
  2. * arch/arm/plat-omap/include/mach/sram.h
  3. *
  4. * Interface for functions that need to be run in internal SRAM
  5. *
  6. * This program is free software; you can redistribute it and/or modify
  7. * it under the terms of the GNU General Public License version 2 as
  8. * published by the Free Software Foundation.
  9. */
  10. #ifndef __ARCH_ARM_OMAP_SRAM_H
  11. #define __ARCH_ARM_OMAP_SRAM_H
  12. extern int __init omap_sram_init(void);
  13. extern void * omap_sram_push(void * start, unsigned long size);
  14. extern void omap_sram_reprogram_clock(u32 dpllctl, u32 ckctl);
  15. extern void omap2_sram_ddr_init(u32 *slow_dll_ctrl, u32 fast_dll_ctrl,
  16. u32 base_cs, u32 force_unlock);
  17. extern void omap2_sram_reprogram_sdrc(u32 perf_level, u32 dll_val,
  18. u32 mem_type);
  19. extern u32 omap2_set_prcm(u32 dpll_ctrl_val, u32 sdrc_rfr_val, int bypass);
  20. extern u32 omap3_configure_core_dpll(
  21. u32 m2, u32 unlock_dll, u32 f, u32 inc,
  22. u32 sdrc_rfr_ctrl_0, u32 sdrc_actim_ctrl_a_0,
  23. u32 sdrc_actim_ctrl_b_0, u32 sdrc_mr_0,
  24. u32 sdrc_rfr_ctrl_1, u32 sdrc_actim_ctrl_a_1,
  25. u32 sdrc_actim_ctrl_b_1, u32 sdrc_mr_1);
  26. extern void omap3_sram_restore_context(void);
  27. /* Do not use these */
  28. extern void omap1_sram_reprogram_clock(u32 ckctl, u32 dpllctl);
  29. extern unsigned long omap1_sram_reprogram_clock_sz;
  30. extern void omap24xx_sram_reprogram_clock(u32 ckctl, u32 dpllctl);
  31. extern unsigned long omap24xx_sram_reprogram_clock_sz;
  32. extern void omap242x_sram_ddr_init(u32 *slow_dll_ctrl, u32 fast_dll_ctrl,
  33. u32 base_cs, u32 force_unlock);
  34. extern unsigned long omap242x_sram_ddr_init_sz;
  35. extern u32 omap242x_sram_set_prcm(u32 dpll_ctrl_val, u32 sdrc_rfr_val,
  36. int bypass);
  37. extern unsigned long omap242x_sram_set_prcm_sz;
  38. extern void omap242x_sram_reprogram_sdrc(u32 perf_level, u32 dll_val,
  39. u32 mem_type);
  40. extern unsigned long omap242x_sram_reprogram_sdrc_sz;
  41. extern void omap243x_sram_ddr_init(u32 *slow_dll_ctrl, u32 fast_dll_ctrl,
  42. u32 base_cs, u32 force_unlock);
  43. extern unsigned long omap243x_sram_ddr_init_sz;
  44. extern u32 omap243x_sram_set_prcm(u32 dpll_ctrl_val, u32 sdrc_rfr_val,
  45. int bypass);
  46. extern unsigned long omap243x_sram_set_prcm_sz;
  47. extern void omap243x_sram_reprogram_sdrc(u32 perf_level, u32 dll_val,
  48. u32 mem_type);
  49. extern unsigned long omap243x_sram_reprogram_sdrc_sz;
  50. extern u32 omap3_sram_configure_core_dpll(
  51. u32 m2, u32 unlock_dll, u32 f, u32 inc,
  52. u32 sdrc_rfr_ctrl_0, u32 sdrc_actim_ctrl_a_0,
  53. u32 sdrc_actim_ctrl_b_0, u32 sdrc_mr_0,
  54. u32 sdrc_rfr_ctrl_1, u32 sdrc_actim_ctrl_a_1,
  55. u32 sdrc_actim_ctrl_b_1, u32 sdrc_mr_1);
  56. extern unsigned long omap3_sram_configure_core_dpll_sz;
  57. #ifdef CONFIG_PM
  58. extern void omap_push_sram_idle(void);
  59. #else
  60. static inline void omap_push_sram_idle(void) {}
  61. #endif /* CONFIG_PM */
  62. #endif