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