pmu_bits.h 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697
  1. /*
  2. * Copyright (c) 2016, ARM Limited and Contributors. All rights reserved.
  3. *
  4. * SPDX-License-Identifier: BSD-3-Clause
  5. */
  6. #ifndef PMU_BITS_H
  7. #define PMU_BITS_H
  8. enum pmu_powerdomain_id {
  9. PD_CPUL0 = 0,
  10. PD_CPUL1,
  11. PD_CPUL2,
  12. PD_CPUL3,
  13. PD_CPUB0,
  14. PD_CPUB1,
  15. PD_SCUL,
  16. PD_SCUB,
  17. PD_TCPD0,
  18. PD_TCPD1,
  19. PD_CCI,
  20. PD_PERILP,
  21. PD_PERIHP,
  22. PD_CENTER,
  23. PD_VIO,
  24. PD_GPU,
  25. PD_VCODEC,
  26. PD_VDU,
  27. PD_RGA,
  28. PD_IEP,
  29. PD_VO,
  30. PD_ISP0 = 22,
  31. PD_ISP1,
  32. PD_HDCP,
  33. PD_GMAC,
  34. PD_EMMC,
  35. PD_USB3,
  36. PD_EDP,
  37. PD_GIC,
  38. PD_SD,
  39. PD_SDIOAUDIO,
  40. PD_END
  41. };
  42. enum powerdomain_state {
  43. PMU_POWER_ON = 0,
  44. PMU_POWER_OFF,
  45. };
  46. enum pmu_bus_id {
  47. BUS_ID_GPU = 0,
  48. BUS_ID_PERILP,
  49. BUS_ID_PERIHP,
  50. BUS_ID_VCODEC,
  51. BUS_ID_VDU,
  52. BUS_ID_RGA,
  53. BUS_ID_IEP,
  54. BUS_ID_VOPB,
  55. BUS_ID_VOPL,
  56. BUS_ID_ISP0,
  57. BUS_ID_ISP1,
  58. BUS_ID_HDCP,
  59. BUS_ID_USB3,
  60. BUS_ID_PERILPM0,
  61. BUS_ID_CENTER,
  62. BUS_ID_CCIM0,
  63. BUS_ID_CCIM1,
  64. BUS_ID_VIO,
  65. BUS_ID_MSCH0,
  66. BUS_ID_MSCH1,
  67. BUS_ID_ALIVE,
  68. BUS_ID_PMU,
  69. BUS_ID_EDP,
  70. BUS_ID_GMAC,
  71. BUS_ID_EMMC,
  72. BUS_ID_CENTER1,
  73. BUS_ID_PMUM0,
  74. BUS_ID_GIC,
  75. BUS_ID_SD,
  76. BUS_ID_SDIOAUDIO,
  77. };
  78. enum pmu_bus_state {
  79. BUS_ACTIVE,
  80. BUS_IDLE,
  81. };
  82. /* pmu_cpuapm bit */
  83. enum pmu_cores_pm_by_wfi {
  84. core_pm_en = 0,
  85. core_pm_int_wakeup_en,
  86. core_pm_resv,
  87. core_pm_sft_wakeup_en
  88. };
  89. enum pmu_wkup_cfg0 {
  90. PMU_GPIO0A_POSE_WKUP_EN = 0,
  91. PMU_GPIO0B_POSE_WKUP_EN = 8,
  92. PMU_GPIO0C_POSE_WKUP_EN = 16,
  93. PMU_GPIO0D_POSE_WKUP_EN = 24,
  94. };
  95. enum pmu_wkup_cfg1 {
  96. PMU_GPIO0A_NEGEDGE_WKUP_EN = 0,
  97. PMU_GPIO0B_NEGEDGE_WKUP_EN = 7,
  98. PMU_GPIO0C_NEGEDGE_WKUP_EN = 16,
  99. PMU_GPIO0D_NEGEDGE_WKUP_EN = 24,
  100. };
  101. enum pmu_wkup_cfg2 {
  102. PMU_GPIO1A_POSE_WKUP_EN = 0,
  103. PMU_GPIO1B_POSE_WKUP_EN = 7,
  104. PMU_GPIO1C_POSE_WKUP_EN = 16,
  105. PMU_GPIO1D_POSE_WKUP_EN = 24,
  106. };
  107. enum pmu_wkup_cfg3 {
  108. PMU_GPIO1A_NEGEDGE_WKUP_EN = 0,
  109. PMU_GPIO1B_NEGEDGE_WKUP_EN = 7,
  110. PMU_GPIO1C_NEGEDGE_WKUP_EN = 16,
  111. PMU_GPIO1D_NEGEDGE_WKUP_EN = 24,
  112. };
  113. /* pmu_wkup_cfg4 */
  114. enum pmu_wkup_cfg4 {
  115. PMU_CLUSTER_L_WKUP_EN = 0,
  116. PMU_CLUSTER_B_WKUP_EN,
  117. PMU_GPIO_WKUP_EN,
  118. PMU_SDIO_WKUP_EN,
  119. PMU_SDMMC_WKUP_EN,
  120. PMU_TIMER_WKUP_EN = 6,
  121. PMU_USBDEV_WKUP_EN,
  122. PMU_SFT_WKUP_EN,
  123. PMU_M0_WDT_WKUP_EN,
  124. PMU_TIMEOUT_WKUP_EN,
  125. PMU_PWM_WKUP_EN,
  126. PMU_PCIE_WKUP_EN = 13,
  127. };
  128. enum pmu_pwrdn_con {
  129. PMU_A53_L0_PWRDWN_EN = 0,
  130. PMU_A53_L1_PWRDWN_EN,
  131. PMU_A53_L2_PWRDWN_EN,
  132. PMU_A53_L3_PWRDWN_EN,
  133. PMU_A72_B0_PWRDWN_EN,
  134. PMU_A72_B1_PWRDWN_EN,
  135. PMU_SCU_L_PWRDWN_EN,
  136. PMU_SCU_B_PWRDWN_EN,
  137. PMU_TCPD0_PWRDWN_EN,
  138. PMU_TCPD1_PWRDWN_EN,
  139. PMU_CCI_PWRDWN_EN,
  140. PMU_PERILP_PWRDWN_EN,
  141. PMU_PERIHP_PWRDWN_EN,
  142. PMU_CENTER_PWRDWN_EN,
  143. PMU_VIO_PWRDWN_EN,
  144. PMU_GPU_PWRDWN_EN,
  145. PMU_VCODEC_PWRDWN_EN,
  146. PMU_VDU_PWRDWN_EN,
  147. PMU_RGA_PWRDWN_EN,
  148. PMU_IEP_PWRDWN_EN,
  149. PMU_VO_PWRDWN_EN,
  150. PMU_ISP0_PWRDWN_EN = 22,
  151. PMU_ISP1_PWRDWN_EN,
  152. PMU_HDCP_PWRDWN_EN,
  153. PMU_GMAC_PWRDWN_EN,
  154. PMU_EMMC_PWRDWN_EN,
  155. PMU_USB3_PWRDWN_EN,
  156. PMU_EDP_PWRDWN_EN,
  157. PMU_GIC_PWRDWN_EN,
  158. PMU_SD_PWRDWN_EN,
  159. PMU_SDIOAUDIO_PWRDWN_EN,
  160. };
  161. enum pmu_pwrdn_st {
  162. PMU_A53_L0_PWRDWN_ST = 0,
  163. PMU_A53_L1_PWRDWN_ST,
  164. PMU_A53_L2_PWRDWN_ST,
  165. PMU_A53_L3_PWRDWN_ST,
  166. PMU_A72_B0_PWRDWN_ST,
  167. PMU_A72_B1_PWRDWN_ST,
  168. PMU_SCU_L_PWRDWN_ST,
  169. PMU_SCU_B_PWRDWN_ST,
  170. PMU_TCPD0_PWRDWN_ST,
  171. PMU_TCPD1_PWRDWN_ST,
  172. PMU_CCI_PWRDWN_ST,
  173. PMU_PERILP_PWRDWN_ST,
  174. PMU_PERIHP_PWRDWN_ST,
  175. PMU_CENTER_PWRDWN_ST,
  176. PMU_VIO_PWRDWN_ST,
  177. PMU_GPU_PWRDWN_ST,
  178. PMU_VCODEC_PWRDWN_ST,
  179. PMU_VDU_PWRDWN_ST,
  180. PMU_RGA_PWRDWN_ST,
  181. PMU_IEP_PWRDWN_ST,
  182. PMU_VO_PWRDWN_ST,
  183. PMU_ISP0_PWRDWN_ST = 22,
  184. PMU_ISP1_PWRDWN_ST,
  185. PMU_HDCP_PWRDWN_ST,
  186. PMU_GMAC_PWRDWN_ST,
  187. PMU_EMMC_PWRDWN_ST,
  188. PMU_USB3_PWRDWN_ST,
  189. PMU_EDP_PWRDWN_ST,
  190. PMU_GIC_PWRDWN_ST,
  191. PMU_SD_PWRDWN_ST,
  192. PMU_SDIOAUDIO_PWRDWN_ST,
  193. };
  194. enum pmu_pll_con {
  195. PMU_PLL_PD_CFG = 0,
  196. PMU_SFT_PLL_PD = 8,
  197. };
  198. enum pmu_pwermode_con {
  199. PMU_PWR_MODE_EN = 0,
  200. PMU_WKUP_RST_EN,
  201. PMU_INPUT_CLAMP_EN,
  202. PMU_OSC_DIS,
  203. PMU_ALIVE_USE_LF,
  204. PMU_PMU_USE_LF,
  205. PMU_POWER_OFF_REQ_CFG,
  206. PMU_CHIP_PD_EN,
  207. PMU_PLL_PD_EN,
  208. PMU_CPU0_PD_EN,
  209. PMU_L2_FLUSH_EN,
  210. PMU_L2_IDLE_EN,
  211. PMU_SCU_PD_EN,
  212. PMU_CCI_PD_EN,
  213. PMU_PERILP_PD_EN,
  214. PMU_CENTER_PD_EN,
  215. PMU_SREF0_ENTER_EN,
  216. PMU_DDRC0_GATING_EN,
  217. PMU_DDRIO0_RET_EN,
  218. PMU_DDRIO0_RET_DE_REQ,
  219. PMU_SREF1_ENTER_EN,
  220. PMU_DDRC1_GATING_EN,
  221. PMU_DDRIO1_RET_EN,
  222. PMU_DDRIO1_RET_DE_REQ,
  223. PMU_CLK_CENTER_SRC_GATE_EN = 26,
  224. PMU_CLK_PERILP_SRC_GATE_EN,
  225. PMU_CLK_CORE_SRC_GATE_EN,
  226. PMU_DDRIO_RET_HW_DE_REQ,
  227. PMU_SLP_OUTPUT_CFG,
  228. PMU_MAIN_CLUSTER,
  229. };
  230. enum pmu_sft_con {
  231. PMU_WKUP_SFT = 0,
  232. PMU_INPUT_CLAMP_CFG,
  233. PMU_OSC_DIS_CFG,
  234. PMU_PMU_LF_EN_CFG,
  235. PMU_ALIVE_LF_EN_CFG,
  236. PMU_24M_EN_CFG,
  237. PMU_DBG_PWRUP_L0_CFG,
  238. PMU_WKUP_SFT_M0,
  239. PMU_DDRCTL0_C_SYSREQ_CFG,
  240. PMU_DDR0_IO_RET_CFG,
  241. PMU_DDRCTL1_C_SYSREQ_CFG = 12,
  242. PMU_DDR1_IO_RET_CFG,
  243. DBG_PWRUP_B0_CFG = 15,
  244. DBG_NOPWERDWN_L0_EN,
  245. DBG_NOPWERDWN_L1_EN,
  246. DBG_NOPWERDWN_L2_EN,
  247. DBG_NOPWERDWN_L3_EN,
  248. DBG_PWRUP_REQ_L_EN = 20,
  249. CLUSTER_L_CLK_SRC_GATING_CFG,
  250. L2_FLUSH_REQ_CLUSTER_L,
  251. ACINACTM_CLUSTER_L_CFG,
  252. DBG_NO_PWERDWN_B0_EN,
  253. DBG_NO_PWERDWN_B1_EN,
  254. DBG_PWRUP_REQ_B_EN = 28,
  255. CLUSTER_B_CLK_SRC_GATING_CFG,
  256. L2_FLUSH_REQ_CLUSTER_B,
  257. ACINACTM_CLUSTER_B_CFG,
  258. };
  259. enum pmu_int_con {
  260. PMU_PMU_INT_EN = 0,
  261. PMU_PWRMD_WKUP_INT_EN,
  262. PMU_WKUP_GPIO0_NEG_INT_EN,
  263. PMU_WKUP_GPIO0_POS_INT_EN,
  264. PMU_WKUP_GPIO1_NEG_INT_EN,
  265. PMU_WKUP_GPIO1_POS_INT_EN,
  266. };
  267. enum pmu_int_st {
  268. PMU_PWRMD_WKUP_INT_ST = 1,
  269. PMU_WKUP_GPIO0_NEG_INT_ST,
  270. PMU_WKUP_GPIO0_POS_INT_ST,
  271. PMU_WKUP_GPIO1_NEG_INT_ST,
  272. PMU_WKUP_GPIO1_POS_INT_ST,
  273. };
  274. enum pmu_gpio0_pos_int_con {
  275. PMU_GPIO0A_POS_INT_EN = 0,
  276. PMU_GPIO0B_POS_INT_EN = 8,
  277. PMU_GPIO0C_POS_INT_EN = 16,
  278. PMU_GPIO0D_POS_INT_EN = 24,
  279. };
  280. enum pmu_gpio0_neg_int_con {
  281. PMU_GPIO0A_NEG_INT_EN = 0,
  282. PMU_GPIO0B_NEG_INT_EN = 8,
  283. PMU_GPIO0C_NEG_INT_EN = 16,
  284. PMU_GPIO0D_NEG_INT_EN = 24,
  285. };
  286. enum pmu_gpio1_pos_int_con {
  287. PMU_GPIO1A_POS_INT_EN = 0,
  288. PMU_GPIO1B_POS_INT_EN = 8,
  289. PMU_GPIO1C_POS_INT_EN = 16,
  290. PMU_GPIO1D_POS_INT_EN = 24,
  291. };
  292. enum pmu_gpio1_neg_int_con {
  293. PMU_GPIO1A_NEG_INT_EN = 0,
  294. PMU_GPIO1B_NEG_INT_EN = 8,
  295. PMU_GPIO1C_NEG_INT_EN = 16,
  296. PMU_GPIO1D_NEG_INT_EN = 24,
  297. };
  298. enum pmu_gpio0_pos_int_st {
  299. PMU_GPIO0A_POS_INT_ST = 0,
  300. PMU_GPIO0B_POS_INT_ST = 8,
  301. PMU_GPIO0C_POS_INT_ST = 16,
  302. PMU_GPIO0D_POS_INT_ST = 24,
  303. };
  304. enum pmu_gpio0_neg_int_st {
  305. PMU_GPIO0A_NEG_INT_ST = 0,
  306. PMU_GPIO0B_NEG_INT_ST = 8,
  307. PMU_GPIO0C_NEG_INT_ST = 16,
  308. PMU_GPIO0D_NEG_INT_ST = 24,
  309. };
  310. enum pmu_gpio1_pos_int_st {
  311. PMU_GPIO1A_POS_INT_ST = 0,
  312. PMU_GPIO1B_POS_INT_ST = 8,
  313. PMU_GPIO1C_POS_INT_ST = 16,
  314. PMU_GPIO1D_POS_INT_ST = 24,
  315. };
  316. enum pmu_gpio1_neg_int_st {
  317. PMU_GPIO1A_NEG_INT_ST = 0,
  318. PMU_GPIO1B_NEG_INT_ST = 8,
  319. PMU_GPIO1C_NEG_INT_ST = 16,
  320. PMU_GPIO1D_NEG_INT_ST = 24,
  321. };
  322. /* pmu power down configure register 0x0050 */
  323. enum pmu_pwrdn_inten {
  324. PMU_A53_L0_PWR_SWITCH_INT_EN = 0,
  325. PMU_A53_L1_PWR_SWITCH_INT_EN,
  326. PMU_A53_L2_PWR_SWITCH_INT_EN,
  327. PMU_A53_L3_PWR_SWITCH_INT_EN,
  328. PMU_A72_B0_PWR_SWITCH_INT_EN,
  329. PMU_A72_B1_PWR_SWITCH_INT_EN,
  330. PMU_SCU_L_PWR_SWITCH_INT_EN,
  331. PMU_SCU_B_PWR_SWITCH_INT_EN,
  332. PMU_TCPD0_PWR_SWITCH_INT_EN,
  333. PMU_TCPD1_PWR_SWITCH_INT_EN,
  334. PMU_CCI_PWR_SWITCH_INT_EN,
  335. PMU_PERILP_PWR_SWITCH_INT_EN,
  336. PMU_PERIHP_PWR_SWITCH_INT_EN,
  337. PMU_CENTER_PWR_SWITCH_INT_EN,
  338. PMU_VIO_PWR_SWITCH_INT_EN,
  339. PMU_GPU_PWR_SWITCH_INT_EN,
  340. PMU_VCODEC_PWR_SWITCH_INT_EN,
  341. PMU_VDU_PWR_SWITCH_INT_EN,
  342. PMU_RGA_PWR_SWITCH_INT_EN,
  343. PMU_IEP_PWR_SWITCH_INT_EN,
  344. PMU_VO_PWR_SWITCH_INT_EN,
  345. PMU_ISP0_PWR_SWITCH_INT_EN = 22,
  346. PMU_ISP1_PWR_SWITCH_INT_EN,
  347. PMU_HDCP_PWR_SWITCH_INT_EN,
  348. PMU_GMAC_PWR_SWITCH_INT_EN,
  349. PMU_EMMC_PWR_SWITCH_INT_EN,
  350. PMU_USB3_PWR_SWITCH_INT_EN,
  351. PMU_EDP_PWR_SWITCH_INT_EN,
  352. PMU_GIC_PWR_SWITCH_INT_EN,
  353. PMU_SD_PWR_SWITCH_INT_EN,
  354. PMU_SDIOAUDIO_PWR_SWITCH_INT_EN,
  355. };
  356. enum pmu_wkup_status {
  357. PMU_WKUP_BY_CLSTER_L_INT = 0,
  358. PMU_WKUP_BY_CLSTER_b_INT,
  359. PMU_WKUP_BY_GPIO_INT,
  360. PMU_WKUP_BY_SDIO_DET,
  361. PMU_WKUP_BY_SDMMC_DET,
  362. PMU_WKUP_BY_TIMER = 6,
  363. PMU_WKUP_BY_USBDEV_DET,
  364. PMU_WKUP_BY_M0_SFT,
  365. PMU_WKUP_BY_M0_WDT_INT,
  366. PMU_WKUP_BY_TIMEOUT,
  367. PMU_WKUP_BY_PWM,
  368. PMU_WKUP_BY_PCIE = 13,
  369. };
  370. enum pmu_bus_clr {
  371. PMU_CLR_GPU = 0,
  372. PMU_CLR_PERILP,
  373. PMU_CLR_PERIHP,
  374. PMU_CLR_VCODEC,
  375. PMU_CLR_VDU,
  376. PMU_CLR_RGA,
  377. PMU_CLR_IEP,
  378. PMU_CLR_VOPB,
  379. PMU_CLR_VOPL,
  380. PMU_CLR_ISP0,
  381. PMU_CLR_ISP1,
  382. PMU_CLR_HDCP,
  383. PMU_CLR_USB3,
  384. PMU_CLR_PERILPM0,
  385. PMU_CLR_CENTER,
  386. PMU_CLR_CCIM1,
  387. PMU_CLR_CCIM0,
  388. PMU_CLR_VIO,
  389. PMU_CLR_MSCH0,
  390. PMU_CLR_MSCH1,
  391. PMU_CLR_ALIVE,
  392. PMU_CLR_PMU,
  393. PMU_CLR_EDP,
  394. PMU_CLR_GMAC,
  395. PMU_CLR_EMMC,
  396. PMU_CLR_CENTER1,
  397. PMU_CLR_PMUM0,
  398. PMU_CLR_GIC,
  399. PMU_CLR_SD,
  400. PMU_CLR_SDIOAUDIO,
  401. };
  402. /* PMU bus idle request register */
  403. enum pmu_bus_idle_req {
  404. PMU_IDLE_REQ_GPU = 0,
  405. PMU_IDLE_REQ_PERILP,
  406. PMU_IDLE_REQ_PERIHP,
  407. PMU_IDLE_REQ_VCODEC,
  408. PMU_IDLE_REQ_VDU,
  409. PMU_IDLE_REQ_RGA,
  410. PMU_IDLE_REQ_IEP,
  411. PMU_IDLE_REQ_VOPB,
  412. PMU_IDLE_REQ_VOPL,
  413. PMU_IDLE_REQ_ISP0,
  414. PMU_IDLE_REQ_ISP1,
  415. PMU_IDLE_REQ_HDCP,
  416. PMU_IDLE_REQ_USB3,
  417. PMU_IDLE_REQ_PERILPM0,
  418. PMU_IDLE_REQ_CENTER,
  419. PMU_IDLE_REQ_CCIM0,
  420. PMU_IDLE_REQ_CCIM1,
  421. PMU_IDLE_REQ_VIO,
  422. PMU_IDLE_REQ_MSCH0,
  423. PMU_IDLE_REQ_MSCH1,
  424. PMU_IDLE_REQ_ALIVE,
  425. PMU_IDLE_REQ_PMU,
  426. PMU_IDLE_REQ_EDP,
  427. PMU_IDLE_REQ_GMAC,
  428. PMU_IDLE_REQ_EMMC,
  429. PMU_IDLE_REQ_CENTER1,
  430. PMU_IDLE_REQ_PMUM0,
  431. PMU_IDLE_REQ_GIC,
  432. PMU_IDLE_REQ_SD,
  433. PMU_IDLE_REQ_SDIOAUDIO,
  434. };
  435. /* pmu bus idle status register */
  436. enum pmu_bus_idle_st {
  437. PMU_IDLE_ST_GPU = 0,
  438. PMU_IDLE_ST_PERILP,
  439. PMU_IDLE_ST_PERIHP,
  440. PMU_IDLE_ST_VCODEC,
  441. PMU_IDLE_ST_VDU,
  442. PMU_IDLE_ST_RGA,
  443. PMU_IDLE_ST_IEP,
  444. PMU_IDLE_ST_VOPB,
  445. PMU_IDLE_ST_VOPL,
  446. PMU_IDLE_ST_ISP0,
  447. PMU_IDLE_ST_ISP1,
  448. PMU_IDLE_ST_HDCP,
  449. PMU_IDLE_ST_USB3,
  450. PMU_IDLE_ST_PERILPM0,
  451. PMU_IDLE_ST_CENTER,
  452. PMU_IDLE_ST_CCIM0,
  453. PMU_IDLE_ST_CCIM1,
  454. PMU_IDLE_ST_VIO,
  455. PMU_IDLE_ST_MSCH0,
  456. PMU_IDLE_ST_MSCH1,
  457. PMU_IDLE_ST_ALIVE,
  458. PMU_IDLE_ST_PMU,
  459. PMU_IDLE_ST_EDP,
  460. PMU_IDLE_ST_GMAC,
  461. PMU_IDLE_ST_EMMC,
  462. PMU_IDLE_ST_CENTER1,
  463. PMU_IDLE_ST_PMUM0,
  464. PMU_IDLE_ST_GIC,
  465. PMU_IDLE_ST_SD,
  466. PMU_IDLE_ST_SDIOAUDIO,
  467. };
  468. enum pmu_bus_idle_ack {
  469. PMU_IDLE_ACK_GPU = 0,
  470. PMU_IDLE_ACK_PERILP,
  471. PMU_IDLE_ACK_PERIHP,
  472. PMU_IDLE_ACK_VCODEC,
  473. PMU_IDLE_ACK_VDU,
  474. PMU_IDLE_ACK_RGA,
  475. PMU_IDLE_ACK_IEP,
  476. PMU_IDLE_ACK_VOPB,
  477. PMU_IDLE_ACK_VOPL,
  478. PMU_IDLE_ACK_ISP0,
  479. PMU_IDLE_ACK_ISP1,
  480. PMU_IDLE_ACK_HDCP,
  481. PMU_IDLE_ACK_USB3,
  482. PMU_IDLE_ACK_PERILPM0,
  483. PMU_IDLE_ACK_CENTER,
  484. PMU_IDLE_ACK_CCIM0,
  485. PMU_IDLE_ACK_CCIM1,
  486. PMU_IDLE_ACK_VIO,
  487. PMU_IDLE_ACK_MSCH0,
  488. PMU_IDLE_ACK_MSCH1,
  489. PMU_IDLE_ACK_ALIVE,
  490. PMU_IDLE_ACK_PMU,
  491. PMU_IDLE_ACK_EDP,
  492. PMU_IDLE_ACK_GMAC,
  493. PMU_IDLE_ACK_EMMC,
  494. PMU_IDLE_ACK_CENTER1,
  495. PMU_IDLE_ACK_PMUM0,
  496. PMU_IDLE_ACK_GIC,
  497. PMU_IDLE_ACK_SD,
  498. PMU_IDLE_ACK_SDIOAUDIO,
  499. };
  500. enum pmu_cci500_con {
  501. PMU_PREQ_CCI500_CFG_SW = 0,
  502. PMU_CLR_PREQ_CCI500_HW,
  503. PMU_PSTATE_CCI500_0,
  504. PMU_PSTATE_CCI500_1,
  505. PMU_PSTATE_CCI500_2,
  506. PMU_QREQ_CCI500_CFG_SW,
  507. PMU_CLR_QREQ_CCI500_HW,
  508. PMU_QGATING_CCI500_CFG,
  509. PMU_PREQ_CCI500_CFG_SW_WMSK = 16,
  510. PMU_CLR_PREQ_CCI500_HW_WMSK,
  511. PMU_PSTATE_CCI500_0_WMSK,
  512. PMU_PSTATE_CCI500_1_WMSK,
  513. PMU_PSTATE_CCI500_2_WMSK,
  514. PMU_QREQ_CCI500_CFG_SW_WMSK,
  515. PMU_CLR_QREQ_CCI500_HW_WMSK,
  516. PMU_QGATING_CCI500_CFG_WMSK,
  517. };
  518. enum pmu_adb400_con {
  519. PMU_PWRDWN_REQ_CXCS_SW = 0,
  520. PMU_PWRDWN_REQ_CORE_L_SW,
  521. PMU_PWRDWN_REQ_CORE_L_2GIC_SW,
  522. PMU_PWRDWN_REQ_GIC2_CORE_L_SW,
  523. PMU_PWRDWN_REQ_CORE_B_SW,
  524. PMU_PWRDWN_REQ_CORE_B_2GIC_SW,
  525. PMU_PWRDWN_REQ_GIC2_CORE_B_SW,
  526. PMU_CLR_CXCS_HW = 8,
  527. PMU_CLR_CORE_L_HW,
  528. PMU_CLR_CORE_L_2GIC_HW,
  529. PMU_CLR_GIC2_CORE_L_HW,
  530. PMU_CLR_CORE_B_HW,
  531. PMU_CLR_CORE_B_2GIC_HW,
  532. PMU_CLR_GIC2_CORE_B_HW,
  533. PMU_PWRDWN_REQ_CXCS_SW_WMSK = 16,
  534. PMU_PWRDWN_REQ_CORE_L_SW_WMSK,
  535. PMU_PWRDWN_REQ_CORE_L_2GIC_SW_WMSK,
  536. PMU_PWRDWN_REQ_GIC2_CORE_L_SW_WMSK,
  537. PMU_PWRDWN_REQ_CORE_B_SW_WMSK,
  538. PMU_PWRDWN_REQ_CORE_B_2GIC_SW_WMSK,
  539. PMU_PWRDWN_REQ_GIC2_CORE_B_SW_WMSK,
  540. PMU_CLR_CXCS_HW_WMSK = 24,
  541. PMU_CLR_CORE_L_HW_WMSK,
  542. PMU_CLR_CORE_L_2GIC_HW_WMSK,
  543. PMU_CLR_GIC2_CORE_L_HW_WMSK,
  544. PMU_CLR_CORE_B_HW_WMSK,
  545. PMU_CLR_CORE_B_2GIC_HW_WMSK,
  546. PMU_CLR_GIC2_CORE_B_HW_WMSK,
  547. };
  548. enum pmu_adb400_st {
  549. PMU_PWRDWN_REQ_CXCS_SW_ST = 0,
  550. PMU_PWRDWN_REQ_CORE_L_SW_ST,
  551. PMU_PWRDWN_REQ_CORE_L_2GIC_SW_ST,
  552. PMU_PWRDWN_REQ_GIC2_CORE_L_SW_ST,
  553. PMU_PWRDWN_REQ_CORE_B_SW_ST,
  554. PMU_PWRDWN_REQ_CORE_B_2GIC_SW_ST,
  555. PMU_PWRDWN_REQ_GIC2_CORE_B_SW_ST,
  556. PMU_CLR_CXCS_HW_ST = 8,
  557. PMU_CLR_CORE_L_HW_ST,
  558. PMU_CLR_CORE_L_2GIC_HW_ST,
  559. PMU_CLR_GIC2_CORE_L_HW_ST,
  560. PMU_CLR_CORE_B_HW_ST,
  561. PMU_CLR_CORE_B_2GIC_HW_ST,
  562. PMU_CLR_GIC2_CORE_B_HW_ST,
  563. };
  564. enum pmu_pwrdn_con1 {
  565. PMU_VD_SCU_L_PWRDN_EN = 0,
  566. PMU_VD_SCU_B_PWRDN_EN,
  567. PMU_VD_CENTER_PWRDN_EN,
  568. };
  569. enum pmu_core_pwr_st {
  570. L2_FLUSHDONE_CLUSTER_L = 0,
  571. STANDBY_BY_WFIL2_CLUSTER_L,
  572. L2_FLUSHDONE_CLUSTER_B = 10,
  573. STANDBY_BY_WFIL2_CLUSTER_B,
  574. };
  575. #endif /* PMU_BITS_H */