regs-pmu.h 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  1. /* linux/arch/arm/mach-exynos4/include/mach/regs-pmu.h
  2. *
  3. * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd.
  4. * http://www.samsung.com
  5. *
  6. * EXYNOS4 - Power management unit definition
  7. *
  8. * This program is free software; you can redistribute it and/or modify
  9. * it under the terms of the GNU General Public License version 2 as
  10. * published by the Free Software Foundation.
  11. */
  12. #ifndef __ASM_ARCH_REGS_PMU_H
  13. #define __ASM_ARCH_REGS_PMU_H __FILE__
  14. #include <mach/map.h>
  15. #define S5P_PMUREG(x) (S5P_VA_PMU + (x))
  16. #define S5P_CENTRAL_SEQ_CONFIGURATION S5P_PMUREG(0x0200)
  17. #define S5P_CENTRAL_LOWPWR_CFG (1 << 16)
  18. #define S5P_CENTRAL_SEQ_OPTION S5P_PMUREG(0x0208)
  19. #define S5P_USE_STANDBY_WFI0 (1 << 16)
  20. #define S5P_USE_STANDBY_WFI1 (1 << 17)
  21. #define S5P_USE_STANDBYWFI_ISP_ARM (1 << 18)
  22. #define S5P_USE_STANDBY_WFE0 (1 << 24)
  23. #define S5P_USE_STANDBY_WFE1 (1 << 25)
  24. #define S5P_USE_STANDBYWFE_ISP_ARM (1 << 26)
  25. #define S5P_SWRESET S5P_PMUREG(0x0400)
  26. #define EXYNOS_SWRESET S5P_PMUREG(0x0400)
  27. #define S5P_WAKEUP_STAT S5P_PMUREG(0x0600)
  28. #define S5P_EINT_WAKEUP_MASK S5P_PMUREG(0x0604)
  29. #define S5P_WAKEUP_MASK S5P_PMUREG(0x0608)
  30. #define S5P_HDMI_PHY_CONTROL S5P_PMUREG(0x0700)
  31. #define S5P_HDMI_PHY_ENABLE (1 << 0)
  32. #define S5P_DAC_PHY_CONTROL S5P_PMUREG(0x070C)
  33. #define S5P_DAC_PHY_ENABLE (1 << 0)
  34. #define S5P_MIPI_DPHY_CONTROL(n) S5P_PMUREG(0x0710 + (n) * 4)
  35. #define S5P_MIPI_DPHY_ENABLE (1 << 0)
  36. #define S5P_MIPI_DPHY_SRESETN (1 << 1)
  37. #define S5P_MIPI_DPHY_MRESETN (1 << 2)
  38. #define S5P_INFORM0 S5P_PMUREG(0x0800)
  39. #define S5P_INFORM1 S5P_PMUREG(0x0804)
  40. #define S5P_INFORM2 S5P_PMUREG(0x0808)
  41. #define S5P_INFORM3 S5P_PMUREG(0x080C)
  42. #define S5P_INFORM4 S5P_PMUREG(0x0810)
  43. #define S5P_INFORM5 S5P_PMUREG(0x0814)
  44. #define S5P_INFORM6 S5P_PMUREG(0x0818)
  45. #define S5P_INFORM7 S5P_PMUREG(0x081C)
  46. #define S5P_ARM_CORE0_LOWPWR S5P_PMUREG(0x1000)
  47. #define S5P_DIS_IRQ_CORE0 S5P_PMUREG(0x1004)
  48. #define S5P_DIS_IRQ_CENTRAL0 S5P_PMUREG(0x1008)
  49. #define S5P_ARM_CORE1_LOWPWR S5P_PMUREG(0x1010)
  50. #define S5P_DIS_IRQ_CORE1 S5P_PMUREG(0x1014)
  51. #define S5P_DIS_IRQ_CENTRAL1 S5P_PMUREG(0x1018)
  52. #define S5P_ARM_COMMON_LOWPWR S5P_PMUREG(0x1080)
  53. #define S5P_L2_0_LOWPWR S5P_PMUREG(0x10C0)
  54. #define S5P_L2_1_LOWPWR S5P_PMUREG(0x10C4)
  55. #define S5P_CMU_ACLKSTOP_LOWPWR S5P_PMUREG(0x1100)
  56. #define S5P_CMU_SCLKSTOP_LOWPWR S5P_PMUREG(0x1104)
  57. #define S5P_CMU_RESET_LOWPWR S5P_PMUREG(0x110C)
  58. #define S5P_APLL_SYSCLK_LOWPWR S5P_PMUREG(0x1120)
  59. #define S5P_MPLL_SYSCLK_LOWPWR S5P_PMUREG(0x1124)
  60. #define S5P_VPLL_SYSCLK_LOWPWR S5P_PMUREG(0x1128)
  61. #define S5P_EPLL_SYSCLK_LOWPWR S5P_PMUREG(0x112C)
  62. #define S5P_CMU_CLKSTOP_GPS_ALIVE_LOWPWR S5P_PMUREG(0x1138)
  63. #define S5P_CMU_RESET_GPSALIVE_LOWPWR S5P_PMUREG(0x113C)
  64. #define S5P_CMU_CLKSTOP_CAM_LOWPWR S5P_PMUREG(0x1140)
  65. #define S5P_CMU_CLKSTOP_TV_LOWPWR S5P_PMUREG(0x1144)
  66. #define S5P_CMU_CLKSTOP_MFC_LOWPWR S5P_PMUREG(0x1148)
  67. #define S5P_CMU_CLKSTOP_G3D_LOWPWR S5P_PMUREG(0x114C)
  68. #define S5P_CMU_CLKSTOP_LCD0_LOWPWR S5P_PMUREG(0x1150)
  69. #define S5P_CMU_CLKSTOP_MAUDIO_LOWPWR S5P_PMUREG(0x1158)
  70. #define S5P_CMU_CLKSTOP_GPS_LOWPWR S5P_PMUREG(0x115C)
  71. #define S5P_CMU_RESET_CAM_LOWPWR S5P_PMUREG(0x1160)
  72. #define S5P_CMU_RESET_TV_LOWPWR S5P_PMUREG(0x1164)
  73. #define S5P_CMU_RESET_MFC_LOWPWR S5P_PMUREG(0x1168)
  74. #define S5P_CMU_RESET_G3D_LOWPWR S5P_PMUREG(0x116C)
  75. #define S5P_CMU_RESET_LCD0_LOWPWR S5P_PMUREG(0x1170)
  76. #define S5P_CMU_RESET_MAUDIO_LOWPWR S5P_PMUREG(0x1178)
  77. #define S5P_CMU_RESET_GPS_LOWPWR S5P_PMUREG(0x117C)
  78. #define S5P_TOP_BUS_LOWPWR S5P_PMUREG(0x1180)
  79. #define S5P_TOP_RETENTION_LOWPWR S5P_PMUREG(0x1184)
  80. #define S5P_TOP_PWR_LOWPWR S5P_PMUREG(0x1188)
  81. #define S5P_LOGIC_RESET_LOWPWR S5P_PMUREG(0x11A0)
  82. #define S5P_ONENAND_MEM_LOWPWR S5P_PMUREG(0x11C0)
  83. #define S5P_G2D_ACP_MEM_LOWPWR S5P_PMUREG(0x11C8)
  84. #define S5P_USBOTG_MEM_LOWPWR S5P_PMUREG(0x11CC)
  85. #define S5P_HSMMC_MEM_LOWPWR S5P_PMUREG(0x11D0)
  86. #define S5P_CSSYS_MEM_LOWPWR S5P_PMUREG(0x11D4)
  87. #define S5P_SECSS_MEM_LOWPWR S5P_PMUREG(0x11D8)
  88. #define S5P_PAD_RETENTION_DRAM_LOWPWR S5P_PMUREG(0x1200)
  89. #define S5P_PAD_RETENTION_MAUDIO_LOWPWR S5P_PMUREG(0x1204)
  90. #define S5P_PAD_RETENTION_GPIO_LOWPWR S5P_PMUREG(0x1220)
  91. #define S5P_PAD_RETENTION_UART_LOWPWR S5P_PMUREG(0x1224)
  92. #define S5P_PAD_RETENTION_MMCA_LOWPWR S5P_PMUREG(0x1228)
  93. #define S5P_PAD_RETENTION_MMCB_LOWPWR S5P_PMUREG(0x122C)
  94. #define S5P_PAD_RETENTION_EBIA_LOWPWR S5P_PMUREG(0x1230)
  95. #define S5P_PAD_RETENTION_EBIB_LOWPWR S5P_PMUREG(0x1234)
  96. #define S5P_PAD_RETENTION_ISOLATION_LOWPWR S5P_PMUREG(0x1240)
  97. #define S5P_PAD_RETENTION_ALV_SEL_LOWPWR S5P_PMUREG(0x1260)
  98. #define S5P_XUSBXTI_LOWPWR S5P_PMUREG(0x1280)
  99. #define S5P_XXTI_LOWPWR S5P_PMUREG(0x1284)
  100. #define S5P_EXT_REGULATOR_LOWPWR S5P_PMUREG(0x12C0)
  101. #define S5P_GPIO_MODE_LOWPWR S5P_PMUREG(0x1300)
  102. #define S5P_GPIO_MODE_MAUDIO_LOWPWR S5P_PMUREG(0x1340)
  103. #define S5P_CAM_LOWPWR S5P_PMUREG(0x1380)
  104. #define S5P_TV_LOWPWR S5P_PMUREG(0x1384)
  105. #define S5P_MFC_LOWPWR S5P_PMUREG(0x1388)
  106. #define S5P_G3D_LOWPWR S5P_PMUREG(0x138C)
  107. #define S5P_LCD0_LOWPWR S5P_PMUREG(0x1390)
  108. #define S5P_MAUDIO_LOWPWR S5P_PMUREG(0x1398)
  109. #define S5P_GPS_LOWPWR S5P_PMUREG(0x139C)
  110. #define S5P_GPS_ALIVE_LOWPWR S5P_PMUREG(0x13A0)
  111. #define S5P_ARM_CORE0_CONFIGURATION S5P_PMUREG(0x2000)
  112. #define S5P_ARM_CORE0_OPTION S5P_PMUREG(0x2008)
  113. #define S5P_ARM_CORE1_CONFIGURATION S5P_PMUREG(0x2080)
  114. #define S5P_ARM_CORE1_STATUS S5P_PMUREG(0x2084)
  115. #define S5P_ARM_CORE1_OPTION S5P_PMUREG(0x2088)
  116. #define S5P_ARM_COMMON_OPTION S5P_PMUREG(0x2408)
  117. #define S5P_TOP_PWR_OPTION S5P_PMUREG(0x2C48)
  118. #define S5P_CAM_OPTION S5P_PMUREG(0x3C08)
  119. #define S5P_TV_OPTION S5P_PMUREG(0x3C28)
  120. #define S5P_MFC_OPTION S5P_PMUREG(0x3C48)
  121. #define S5P_G3D_OPTION S5P_PMUREG(0x3C68)
  122. #define S5P_LCD0_OPTION S5P_PMUREG(0x3C88)
  123. #define S5P_LCD1_OPTION S5P_PMUREG(0x3CA8)
  124. #define S5P_MAUDIO_OPTION S5P_PMUREG(0x3CC8)
  125. #define S5P_GPS_OPTION S5P_PMUREG(0x3CE8)
  126. #define S5P_GPS_ALIVE_OPTION S5P_PMUREG(0x3D08)
  127. #define S5P_PAD_RET_MAUDIO_OPTION S5P_PMUREG(0x3028)
  128. #define S5P_PAD_RET_GPIO_OPTION S5P_PMUREG(0x3108)
  129. #define S5P_PAD_RET_UART_OPTION S5P_PMUREG(0x3128)
  130. #define S5P_PAD_RET_MMCA_OPTION S5P_PMUREG(0x3148)
  131. #define S5P_PAD_RET_MMCB_OPTION S5P_PMUREG(0x3168)
  132. #define S5P_PAD_RET_EBIA_OPTION S5P_PMUREG(0x3188)
  133. #define S5P_PAD_RET_EBIB_OPTION S5P_PMUREG(0x31A8)
  134. #define S5P_PMU_CAM_CONF S5P_PMUREG(0x3C00)
  135. #define S5P_PMU_TV_CONF S5P_PMUREG(0x3C20)
  136. #define S5P_PMU_MFC_CONF S5P_PMUREG(0x3C40)
  137. #define S5P_PMU_G3D_CONF S5P_PMUREG(0x3C60)
  138. #define S5P_PMU_LCD0_CONF S5P_PMUREG(0x3C80)
  139. #define S5P_PMU_GPS_CONF S5P_PMUREG(0x3CE0)
  140. #define S5P_PMU_SATA_PHY_CONTROL_EN 0x1
  141. #define S5P_CORE_LOCAL_PWR_EN 0x3
  142. #define S5P_INT_LOCAL_PWR_EN 0x7
  143. #define S5P_CHECK_SLEEP 0x00000BAD
  144. /* Only for EXYNOS4210 */
  145. #define S5P_USBHOST_PHY_CONTROL S5P_PMUREG(0x0708)
  146. #define S5P_USBHOST_PHY_ENABLE (1 << 0)
  147. #define S5P_PMU_SATA_PHY_CONTROL S5P_PMUREG(0x0720)
  148. #define S5P_CMU_CLKSTOP_LCD1_LOWPWR S5P_PMUREG(0x1154)
  149. #define S5P_CMU_RESET_LCD1_LOWPWR S5P_PMUREG(0x1174)
  150. #define S5P_MODIMIF_MEM_LOWPWR S5P_PMUREG(0x11C4)
  151. #define S5P_PCIE_MEM_LOWPWR S5P_PMUREG(0x11E0)
  152. #define S5P_SATA_MEM_LOWPWR S5P_PMUREG(0x11E4)
  153. #define S5P_LCD1_LOWPWR S5P_PMUREG(0x1394)
  154. #define S5P_PMU_LCD1_CONF S5P_PMUREG(0x3CA0)
  155. /* Only for EXYNOS4212 */
  156. #define S5P_ISP_ARM_LOWPWR S5P_PMUREG(0x1050)
  157. #define S5P_DIS_IRQ_ISP_ARM_LOCAL_LOWPWR S5P_PMUREG(0x1054)
  158. #define S5P_DIS_IRQ_ISP_ARM_CENTRAL_LOWPWR S5P_PMUREG(0x1058)
  159. #define S5P_CMU_ACLKSTOP_COREBLK_LOWPWR S5P_PMUREG(0x1110)
  160. #define S5P_CMU_SCLKSTOP_COREBLK_LOWPWR S5P_PMUREG(0x1114)
  161. #define S5P_CMU_RESET_COREBLK_LOWPWR S5P_PMUREG(0x111C)
  162. #define S5P_MPLLUSER_SYSCLK_LOWPWR S5P_PMUREG(0x1130)
  163. #define S5P_CMU_CLKSTOP_ISP_LOWPWR S5P_PMUREG(0x1154)
  164. #define S5P_CMU_RESET_ISP_LOWPWR S5P_PMUREG(0x1174)
  165. #define S5P_TOP_BUS_COREBLK_LOWPWR S5P_PMUREG(0x1190)
  166. #define S5P_TOP_RETENTION_COREBLK_LOWPWR S5P_PMUREG(0x1194)
  167. #define S5P_TOP_PWR_COREBLK_LOWPWR S5P_PMUREG(0x1198)
  168. #define S5P_OSCCLK_GATE_LOWPWR S5P_PMUREG(0x11A4)
  169. #define S5P_LOGIC_RESET_COREBLK_LOWPWR S5P_PMUREG(0x11B0)
  170. #define S5P_OSCCLK_GATE_COREBLK_LOWPWR S5P_PMUREG(0x11B4)
  171. #define S5P_HSI_MEM_LOWPWR S5P_PMUREG(0x11C4)
  172. #define S5P_ROTATOR_MEM_LOWPWR S5P_PMUREG(0x11DC)
  173. #define S5P_PAD_RETENTION_GPIO_COREBLK_LOWPWR S5P_PMUREG(0x123C)
  174. #define S5P_PAD_ISOLATION_COREBLK_LOWPWR S5P_PMUREG(0x1250)
  175. #define S5P_GPIO_MODE_COREBLK_LOWPWR S5P_PMUREG(0x1320)
  176. #define S5P_TOP_ASB_RESET_LOWPWR S5P_PMUREG(0x1344)
  177. #define S5P_TOP_ASB_ISOLATION_LOWPWR S5P_PMUREG(0x1348)
  178. #define S5P_ISP_LOWPWR S5P_PMUREG(0x1394)
  179. #define S5P_DRAM_FREQ_DOWN_LOWPWR S5P_PMUREG(0x13B0)
  180. #define S5P_DDRPHY_DLLOFF_LOWPWR S5P_PMUREG(0x13B4)
  181. #define S5P_CMU_SYSCLK_ISP_LOWPWR S5P_PMUREG(0x13B8)
  182. #define S5P_CMU_SYSCLK_GPS_LOWPWR S5P_PMUREG(0x13BC)
  183. #define S5P_LPDDR_PHY_DLL_LOCK_LOWPWR S5P_PMUREG(0x13C0)
  184. #define S5P_ARM_L2_0_OPTION S5P_PMUREG(0x2608)
  185. #define S5P_ARM_L2_1_OPTION S5P_PMUREG(0x2628)
  186. #define S5P_ONENAND_MEM_OPTION S5P_PMUREG(0x2E08)
  187. #define S5P_HSI_MEM_OPTION S5P_PMUREG(0x2E28)
  188. #define S5P_G2D_ACP_MEM_OPTION S5P_PMUREG(0x2E48)
  189. #define S5P_USBOTG_MEM_OPTION S5P_PMUREG(0x2E68)
  190. #define S5P_HSMMC_MEM_OPTION S5P_PMUREG(0x2E88)
  191. #define S5P_CSSYS_MEM_OPTION S5P_PMUREG(0x2EA8)
  192. #define S5P_SECSS_MEM_OPTION S5P_PMUREG(0x2EC8)
  193. #define S5P_ROTATOR_MEM_OPTION S5P_PMUREG(0x2F48)
  194. #endif /* __ASM_ARCH_REGS_PMU_H */