xref: /rk3399_ARM-atf/include/drivers/st/stm32mp21_pwr.h (revision 2ec3cec569d2420370d5f9a14b40b435c450b53e)
1*2ec3cec5SNicolas Le Bayon /*
2*2ec3cec5SNicolas Le Bayon  * Copyright (c) 2025, STMicroelectronics - All Rights Reserved
3*2ec3cec5SNicolas Le Bayon  *
4*2ec3cec5SNicolas Le Bayon  * SPDX-License-Identifier: BSD-3-Clause
5*2ec3cec5SNicolas Le Bayon  */
6*2ec3cec5SNicolas Le Bayon 
7*2ec3cec5SNicolas Le Bayon #ifndef STM32MP21_PWR_H
8*2ec3cec5SNicolas Le Bayon #define STM32MP21_PWR_H
9*2ec3cec5SNicolas Le Bayon 
10*2ec3cec5SNicolas Le Bayon #include <lib/utils_def.h>
11*2ec3cec5SNicolas Le Bayon 
12*2ec3cec5SNicolas Le Bayon #define PWR_CR1					U(0x00)
13*2ec3cec5SNicolas Le Bayon #define PWR_CR2					U(0x04)
14*2ec3cec5SNicolas Le Bayon #define PWR_CR3					U(0x08)
15*2ec3cec5SNicolas Le Bayon #define PWR_CR7					U(0x18)
16*2ec3cec5SNicolas Le Bayon #define PWR_CR8					U(0x1C)
17*2ec3cec5SNicolas Le Bayon #define PWR_CR9					U(0x20)
18*2ec3cec5SNicolas Le Bayon #define PWR_CR10				U(0x24)
19*2ec3cec5SNicolas Le Bayon #define PWR_CR11				U(0x28)
20*2ec3cec5SNicolas Le Bayon #define PWR_BDCR				U(0x38)
21*2ec3cec5SNicolas Le Bayon #define PWR_CPU1CR				U(0x40)
22*2ec3cec5SNicolas Le Bayon #define PWR_CPU2CR				U(0x44)
23*2ec3cec5SNicolas Le Bayon #define PWR_D1CR				U(0x4C)
24*2ec3cec5SNicolas Le Bayon #define PWR_D2CR				U(0x50)
25*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR1				U(0x60)
26*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR2				U(0x64)
27*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR3				U(0x68)
28*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR4				U(0x6C)
29*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR5				U(0x70)
30*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR6				U(0x74)
31*2ec3cec5SNicolas Le Bayon #define PWR_RSECCFGR				U(0x100)
32*2ec3cec5SNicolas Le Bayon #define PWR_RPRIVCFGR				U(0x104)
33*2ec3cec5SNicolas Le Bayon #define PWR_R0CIDCFGR				U(0x108)
34*2ec3cec5SNicolas Le Bayon #define PWR_R1CIDCFGR				U(0x10C)
35*2ec3cec5SNicolas Le Bayon #define PWR_R2CIDCFGR				U(0x110)
36*2ec3cec5SNicolas Le Bayon #define PWR_R3CIDCFGR				U(0x114)
37*2ec3cec5SNicolas Le Bayon #define PWR_R4CIDCFGR				U(0x118)
38*2ec3cec5SNicolas Le Bayon #define PWR_R5CIDCFGR				U(0x11C)
39*2ec3cec5SNicolas Le Bayon #define PWR_R6CIDCFGR				U(0x120)
40*2ec3cec5SNicolas Le Bayon #define PWR_WIOSECCFGR				U(0x180)
41*2ec3cec5SNicolas Le Bayon #define PWR_WIOPRIVCFGR				U(0x184)
42*2ec3cec5SNicolas Le Bayon #define PWR_WIO1CIDCFGR				U(0x188)
43*2ec3cec5SNicolas Le Bayon #define PWR_WIO1SEMCR				U(0x18C)
44*2ec3cec5SNicolas Le Bayon #define PWR_WIO2CIDCFGR				U(0x190)
45*2ec3cec5SNicolas Le Bayon #define PWR_WIO2SEMCR				U(0x194)
46*2ec3cec5SNicolas Le Bayon #define PWR_WIO3CIDCFGR				U(0x198)
47*2ec3cec5SNicolas Le Bayon #define PWR_WIO3SEMCR				U(0x19C)
48*2ec3cec5SNicolas Le Bayon #define PWR_WIO4CIDCFGR				U(0x1A0)
49*2ec3cec5SNicolas Le Bayon #define PWR_WIO4SEMCR				U(0x1A4)
50*2ec3cec5SNicolas Le Bayon #define PWR_WIO5CIDCFGR				U(0x1A8)
51*2ec3cec5SNicolas Le Bayon #define PWR_WIO5SEMCR				U(0x1AC)
52*2ec3cec5SNicolas Le Bayon #define PWR_WIO6CIDCFGR				U(0x1B0)
53*2ec3cec5SNicolas Le Bayon #define PWR_WIO6SEMCR				U(0x1B4)
54*2ec3cec5SNicolas Le Bayon #define PWR_CPU1D1SR				U(0x200)
55*2ec3cec5SNicolas Le Bayon #define PWR_CPU2D2SR				U(0x204)
56*2ec3cec5SNicolas Le Bayon #define PWR_DBGR				U(0x308)
57*2ec3cec5SNicolas Le Bayon #define PWR_VERR				U(0x3F4)
58*2ec3cec5SNicolas Le Bayon #define PWR_IPIDR				U(0x3F8)
59*2ec3cec5SNicolas Le Bayon #define PWR_SIDR				U(0x3FC)
60*2ec3cec5SNicolas Le Bayon 
61*2ec3cec5SNicolas Le Bayon /* PWR_CR1 register fields */
62*2ec3cec5SNicolas Le Bayon #define PWR_CR1_VDDIO3VMEN			BIT(0)
63*2ec3cec5SNicolas Le Bayon #define PWR_CR1_USB33VMEN			BIT(2)
64*2ec3cec5SNicolas Le Bayon #define PWR_CR1_AVMEN				BIT(4)
65*2ec3cec5SNicolas Le Bayon #define PWR_CR1_VDDIO3SV			BIT(8)
66*2ec3cec5SNicolas Le Bayon #define PWR_CR1_USB33SV				BIT(10)
67*2ec3cec5SNicolas Le Bayon #define PWR_CR1_ASV				BIT(12)
68*2ec3cec5SNicolas Le Bayon #define PWR_CR1_VDDIO3RDY			BIT(16)
69*2ec3cec5SNicolas Le Bayon #define PWR_CR1_USB33RDY			BIT(18)
70*2ec3cec5SNicolas Le Bayon #define PWR_CR1_ARDY				BIT(20)
71*2ec3cec5SNicolas Le Bayon #define PWR_CR1_VDDIOVRSEL			BIT(24)
72*2ec3cec5SNicolas Le Bayon #define PWR_CR1_VDDIO3VRSEL			BIT(25)
73*2ec3cec5SNicolas Le Bayon #define PWR_CR1_GPVMO				BIT(31)
74*2ec3cec5SNicolas Le Bayon 
75*2ec3cec5SNicolas Le Bayon /* PWR_CR2 register fields */
76*2ec3cec5SNicolas Le Bayon #define PWR_CR2_MONEN				BIT(0)
77*2ec3cec5SNicolas Le Bayon #define PWR_CR2_VBATL				BIT(8)
78*2ec3cec5SNicolas Le Bayon #define PWR_CR2_VBATH				BIT(9)
79*2ec3cec5SNicolas Le Bayon #define PWR_CR2_TEMPL				BIT(10)
80*2ec3cec5SNicolas Le Bayon #define PWR_CR2_TEMPH				BIT(11)
81*2ec3cec5SNicolas Le Bayon 
82*2ec3cec5SNicolas Le Bayon /* PWR_CR3 register fields */
83*2ec3cec5SNicolas Le Bayon #define PWR_CR3_PVDEN				BIT(0)
84*2ec3cec5SNicolas Le Bayon #define PWR_CR3_PVDO				BIT(8)
85*2ec3cec5SNicolas Le Bayon 
86*2ec3cec5SNicolas Le Bayon /* PWR_CR7 register fields */
87*2ec3cec5SNicolas Le Bayon #define PWR_CR7_VDDIO2VMEN			BIT(0)
88*2ec3cec5SNicolas Le Bayon #define PWR_CR7_VDDIO2SV			BIT(8)
89*2ec3cec5SNicolas Le Bayon #define PWR_CR7_VDDIO2RDY			BIT(16)
90*2ec3cec5SNicolas Le Bayon #define PWR_CR7_VDDIO2VRSEL			BIT(24)
91*2ec3cec5SNicolas Le Bayon #define PWR_CR7_VDDIO2VRSTBY			BIT(25)
92*2ec3cec5SNicolas Le Bayon 
93*2ec3cec5SNicolas Le Bayon /* PWR_CR8 register fields */
94*2ec3cec5SNicolas Le Bayon #define PWR_CR8_VDDIO1VMEN			BIT(0)
95*2ec3cec5SNicolas Le Bayon #define PWR_CR8_VDDIO1SV			BIT(8)
96*2ec3cec5SNicolas Le Bayon #define PWR_CR8_VDDIO1RDY			BIT(16)
97*2ec3cec5SNicolas Le Bayon #define PWR_CR8_VDDIO1VRSEL			BIT(24)
98*2ec3cec5SNicolas Le Bayon #define PWR_CR8_VDDIO1VRSTBY			BIT(25)
99*2ec3cec5SNicolas Le Bayon 
100*2ec3cec5SNicolas Le Bayon /* PWR_CR9 register fields */
101*2ec3cec5SNicolas Le Bayon #define PWR_CR9_BKPRBSEN			BIT(0)
102*2ec3cec5SNicolas Le Bayon 
103*2ec3cec5SNicolas Le Bayon /* PWR_CR10 register fields */
104*2ec3cec5SNicolas Le Bayon #define PWR_CR10_RETRBSEN_MASK			GENMASK_32(1, 0)
105*2ec3cec5SNicolas Le Bayon #define PWR_CR10_RETRBSEN_SHIFT			0
106*2ec3cec5SNicolas Le Bayon #define PWR_CR10_RETRBSEN_DISABLE		0U
107*2ec3cec5SNicolas Le Bayon #define PWR_CR10_RETRBSEN_STANDBY_VBAT		1U
108*2ec3cec5SNicolas Le Bayon #define PWR_CR10_RETRBSEN_STANDBY		2U
109*2ec3cec5SNicolas Le Bayon 
110*2ec3cec5SNicolas Le Bayon /* PWR_CR11 register fields */
111*2ec3cec5SNicolas Le Bayon #define PWR_CR11_DDRRETDIS			BIT(0)
112*2ec3cec5SNicolas Le Bayon 
113*2ec3cec5SNicolas Le Bayon /* PWR_BDCR register fields */
114*2ec3cec5SNicolas Le Bayon #define PWR_BDCR_DBP				BIT(0)
115*2ec3cec5SNicolas Le Bayon 
116*2ec3cec5SNicolas Le Bayon /* PWR_CPU1CR register fields */
117*2ec3cec5SNicolas Le Bayon #define PWR_CPU1CR_PDDS_D2			BIT(0)
118*2ec3cec5SNicolas Le Bayon #define PWR_CPU1CR_PDDS_D1			BIT(1)
119*2ec3cec5SNicolas Le Bayon #define PWR_CPU1CR_VBF				BIT(4)
120*2ec3cec5SNicolas Le Bayon #define PWR_CPU1CR_STOPF			BIT(5)
121*2ec3cec5SNicolas Le Bayon #define PWR_CPU1CR_SBF				BIT(6)
122*2ec3cec5SNicolas Le Bayon #define PWR_CPU1CR_SBF_D1			BIT(7)
123*2ec3cec5SNicolas Le Bayon #define PWR_CPU1CR_CSSF				BIT(9)
124*2ec3cec5SNicolas Le Bayon #define PWR_CPU1CR_STANDBYWFIL2			BIT(15)
125*2ec3cec5SNicolas Le Bayon #define PWR_CPU1CR_LPDS_D1			BIT(16)
126*2ec3cec5SNicolas Le Bayon #define PWR_CPU1CR_LVDS_D1			BIT(17)
127*2ec3cec5SNicolas Le Bayon 
128*2ec3cec5SNicolas Le Bayon /* PWR_CPU2CR register fields */
129*2ec3cec5SNicolas Le Bayon #define PWR_CPU2CR_PDDS_D2			BIT(0)
130*2ec3cec5SNicolas Le Bayon #define PWR_CPU2CR_VBF				BIT(4)
131*2ec3cec5SNicolas Le Bayon #define PWR_CPU2CR_STOPF			BIT(5)
132*2ec3cec5SNicolas Le Bayon #define PWR_CPU2CR_SBF				BIT(6)
133*2ec3cec5SNicolas Le Bayon #define PWR_CPU2CR_SBF_D2			BIT(7)
134*2ec3cec5SNicolas Le Bayon #define PWR_CPU2CR_CSSF				BIT(9)
135*2ec3cec5SNicolas Le Bayon #define PWR_CPU2CR_DEEPSLEEP			BIT(15)
136*2ec3cec5SNicolas Le Bayon #define PWR_CPU2CR_LPDS_D2			BIT(16)
137*2ec3cec5SNicolas Le Bayon #define PWR_CPU2CR_LVDS_D2			BIT(17)
138*2ec3cec5SNicolas Le Bayon 
139*2ec3cec5SNicolas Le Bayon /* PWR_D1CR register fields */
140*2ec3cec5SNicolas Le Bayon #define PWR_D1CR_LPCFG_D1			BIT(0)
141*2ec3cec5SNicolas Le Bayon #define PWR_D1CR_POPL_D1_MASK			GENMASK_32(12, 8)
142*2ec3cec5SNicolas Le Bayon #define PWR_D1CR_POPL_D1_SHIFT			8
143*2ec3cec5SNicolas Le Bayon 
144*2ec3cec5SNicolas Le Bayon /* PWR_D2CR register fields */
145*2ec3cec5SNicolas Le Bayon #define PWR_D2CR_LPCFG_D2			BIT(0)
146*2ec3cec5SNicolas Le Bayon #define PWR_D2CR_POPL_D2_MASK			GENMASK_32(12, 8)
147*2ec3cec5SNicolas Le Bayon #define PWR_D2CR_POPL_D2_SHIFT			8
148*2ec3cec5SNicolas Le Bayon #define PWR_D2CR_LPLVDLY_D2_MASK		GENMASK_32(18, 16)
149*2ec3cec5SNicolas Le Bayon #define PWR_D2CR_LPLVDLY_D2_SHIFT		16
150*2ec3cec5SNicolas Le Bayon #define PWR_D2CR_PODH_D2_MASK			GENMASK_32(27, 24)
151*2ec3cec5SNicolas Le Bayon #define PWR_D2CR_PODH_D2_SHIFT			24
152*2ec3cec5SNicolas Le Bayon 
153*2ec3cec5SNicolas Le Bayon /* PWR_WKUPCR1 register fields */
154*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR1_WKUPC			BIT(0)
155*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR1_WKUPP			BIT(8)
156*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR1_WKUPPUPD_MASK		GENMASK_32(13, 12)
157*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR1_WKUPPUPD_SHIFT		12
158*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR1_WKUPENCPU1			BIT(16)
159*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR1_WKUPENCPU2			BIT(17)
160*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR1_WKUPF			BIT(31)
161*2ec3cec5SNicolas Le Bayon 
162*2ec3cec5SNicolas Le Bayon /* PWR_WKUPCR2 register fields */
163*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR2_WKUPC			BIT(0)
164*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR2_WKUPP			BIT(8)
165*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR2_WKUPPUPD_MASK		GENMASK_32(13, 12)
166*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR2_WKUPPUPD_SHIFT		12
167*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR2_WKUPENCPU1			BIT(16)
168*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR2_WKUPENCPU2			BIT(17)
169*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR2_WKUPF			BIT(31)
170*2ec3cec5SNicolas Le Bayon 
171*2ec3cec5SNicolas Le Bayon /* PWR_WKUPCR3 register fields */
172*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR3_WKUPC			BIT(0)
173*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR3_WKUPP			BIT(8)
174*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR3_WKUPPUPD_MASK		GENMASK_32(13, 12)
175*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR3_WKUPPUPD_SHIFT		12
176*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR3_WKUPENCPU1			BIT(16)
177*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR3_WKUPENCPU2			BIT(17)
178*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR3_WKUPF			BIT(31)
179*2ec3cec5SNicolas Le Bayon 
180*2ec3cec5SNicolas Le Bayon /* PWR_WKUPCR4 register fields */
181*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR4_WKUPC			BIT(0)
182*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR4_WKUPP			BIT(8)
183*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR4_WKUPPUPD_MASK		GENMASK_32(13, 12)
184*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR4_WKUPPUPD_SHIFT		12
185*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR4_WKUPENCPU1			BIT(16)
186*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR4_WKUPENCPU2			BIT(17)
187*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR4_WKUPF			BIT(31)
188*2ec3cec5SNicolas Le Bayon 
189*2ec3cec5SNicolas Le Bayon /* PWR_WKUPCR5 register fields */
190*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR5_WKUPC			BIT(0)
191*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR5_WKUPP			BIT(8)
192*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR5_WKUPPUPD_MASK		GENMASK_32(13, 12)
193*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR5_WKUPPUPD_SHIFT		12
194*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR5_WKUPENCPU1			BIT(16)
195*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR5_WKUPENCPU2			BIT(17)
196*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR5_WKUPF			BIT(31)
197*2ec3cec5SNicolas Le Bayon 
198*2ec3cec5SNicolas Le Bayon /* PWR_WKUPCR6 register fields */
199*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR6_WKUPC			BIT(0)
200*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR6_WKUPP			BIT(8)
201*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR6_WKUPPUPD_MASK		GENMASK_32(13, 12)
202*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR6_WKUPPUPD_SHIFT		12
203*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR6_WKUPENCPU1			BIT(16)
204*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR6_WKUPENCPU2			BIT(17)
205*2ec3cec5SNicolas Le Bayon #define PWR_WKUPCR6_WKUPF			BIT(31)
206*2ec3cec5SNicolas Le Bayon 
207*2ec3cec5SNicolas Le Bayon /* PWR_RSECCFGR register fields */
208*2ec3cec5SNicolas Le Bayon #define PWR_RSECCFGR_RSEC0			BIT(0)
209*2ec3cec5SNicolas Le Bayon #define PWR_RSECCFGR_RSEC1			BIT(1)
210*2ec3cec5SNicolas Le Bayon #define PWR_RSECCFGR_RSEC2			BIT(2)
211*2ec3cec5SNicolas Le Bayon #define PWR_RSECCFGR_RSEC3			BIT(3)
212*2ec3cec5SNicolas Le Bayon #define PWR_RSECCFGR_RSEC4			BIT(4)
213*2ec3cec5SNicolas Le Bayon #define PWR_RSECCFGR_RSEC5			BIT(5)
214*2ec3cec5SNicolas Le Bayon #define PWR_RSECCFGR_RSEC6			BIT(6)
215*2ec3cec5SNicolas Le Bayon 
216*2ec3cec5SNicolas Le Bayon /* PWR_RPRIVCFGR register fields */
217*2ec3cec5SNicolas Le Bayon #define PWR_RPRIVCFGR_RPRIV0			BIT(0)
218*2ec3cec5SNicolas Le Bayon #define PWR_RPRIVCFGR_RPRIV1			BIT(1)
219*2ec3cec5SNicolas Le Bayon #define PWR_RPRIVCFGR_RPRIV2			BIT(2)
220*2ec3cec5SNicolas Le Bayon #define PWR_RPRIVCFGR_RPRIV3			BIT(3)
221*2ec3cec5SNicolas Le Bayon #define PWR_RPRIVCFGR_RPRIV4			BIT(4)
222*2ec3cec5SNicolas Le Bayon #define PWR_RPRIVCFGR_RPRIV5			BIT(5)
223*2ec3cec5SNicolas Le Bayon #define PWR_RPRIVCFGR_RPRIV6			BIT(6)
224*2ec3cec5SNicolas Le Bayon 
225*2ec3cec5SNicolas Le Bayon /* PWR_R0CIDCFGR register fields */
226*2ec3cec5SNicolas Le Bayon #define PWR_R0CIDCFGR_CFEN			BIT(0)
227*2ec3cec5SNicolas Le Bayon #define PWR_R0CIDCFGR_SCID_MASK			GENMASK_32(6, 4)
228*2ec3cec5SNicolas Le Bayon #define PWR_R0CIDCFGR_SCID_SHIFT		4
229*2ec3cec5SNicolas Le Bayon 
230*2ec3cec5SNicolas Le Bayon /* PWR_R1CIDCFGR register fields */
231*2ec3cec5SNicolas Le Bayon #define PWR_R1CIDCFGR_CFEN			BIT(0)
232*2ec3cec5SNicolas Le Bayon #define PWR_R1CIDCFGR_SCID_MASK			GENMASK_32(6, 4)
233*2ec3cec5SNicolas Le Bayon #define PWR_R1CIDCFGR_SCID_SHIFT		4
234*2ec3cec5SNicolas Le Bayon 
235*2ec3cec5SNicolas Le Bayon /* PWR_R2CIDCFGR register fields */
236*2ec3cec5SNicolas Le Bayon #define PWR_R2CIDCFGR_CFEN			BIT(0)
237*2ec3cec5SNicolas Le Bayon #define PWR_R2CIDCFGR_SCID_MASK			GENMASK_32(6, 4)
238*2ec3cec5SNicolas Le Bayon #define PWR_R2CIDCFGR_SCID_SHIFT		4
239*2ec3cec5SNicolas Le Bayon 
240*2ec3cec5SNicolas Le Bayon /* PWR_R3CIDCFGR register fields */
241*2ec3cec5SNicolas Le Bayon #define PWR_R3CIDCFGR_CFEN			BIT(0)
242*2ec3cec5SNicolas Le Bayon #define PWR_R3CIDCFGR_SCID_MASK			GENMASK_32(6, 4)
243*2ec3cec5SNicolas Le Bayon #define PWR_R3CIDCFGR_SCID_SHIFT		4
244*2ec3cec5SNicolas Le Bayon 
245*2ec3cec5SNicolas Le Bayon /* PWR_R4CIDCFGR register fields */
246*2ec3cec5SNicolas Le Bayon #define PWR_R4CIDCFGR_CFEN			BIT(0)
247*2ec3cec5SNicolas Le Bayon #define PWR_R4CIDCFGR_SCID_MASK			GENMASK_32(6, 4)
248*2ec3cec5SNicolas Le Bayon #define PWR_R4CIDCFGR_SCID_SHIFT		4
249*2ec3cec5SNicolas Le Bayon 
250*2ec3cec5SNicolas Le Bayon /* PWR_R5CIDCFGR register fields */
251*2ec3cec5SNicolas Le Bayon #define PWR_R5CIDCFGR_CFEN			BIT(0)
252*2ec3cec5SNicolas Le Bayon #define PWR_R5CIDCFGR_SCID_MASK			GENMASK_32(6, 4)
253*2ec3cec5SNicolas Le Bayon #define PWR_R5CIDCFGR_SCID_SHIFT		4
254*2ec3cec5SNicolas Le Bayon 
255*2ec3cec5SNicolas Le Bayon /* PWR_R6CIDCFGR register fields */
256*2ec3cec5SNicolas Le Bayon #define PWR_R6CIDCFGR_CFEN			BIT(0)
257*2ec3cec5SNicolas Le Bayon #define PWR_R6CIDCFGR_SCID_MASK			GENMASK_32(6, 4)
258*2ec3cec5SNicolas Le Bayon #define PWR_R6CIDCFGR_SCID_SHIFT		4
259*2ec3cec5SNicolas Le Bayon 
260*2ec3cec5SNicolas Le Bayon /* PWR_WIOSECCFGR register fields */
261*2ec3cec5SNicolas Le Bayon #define PWR_WIOSECCFGR_WIOSEC1			BIT(0)
262*2ec3cec5SNicolas Le Bayon #define PWR_WIOSECCFGR_WIOSEC2			BIT(1)
263*2ec3cec5SNicolas Le Bayon #define PWR_WIOSECCFGR_WIOSEC3			BIT(2)
264*2ec3cec5SNicolas Le Bayon #define PWR_WIOSECCFGR_WIOSEC4			BIT(3)
265*2ec3cec5SNicolas Le Bayon #define PWR_WIOSECCFGR_WIOSEC5			BIT(4)
266*2ec3cec5SNicolas Le Bayon #define PWR_WIOSECCFGR_WIOSEC6			BIT(5)
267*2ec3cec5SNicolas Le Bayon 
268*2ec3cec5SNicolas Le Bayon /* PWR_WIOPRIVCFGR register fields */
269*2ec3cec5SNicolas Le Bayon #define PWR_WIOPRIVCFGR_WIOPRIV1		BIT(0)
270*2ec3cec5SNicolas Le Bayon #define PWR_WIOPRIVCFGR_WIOPRIV2		BIT(1)
271*2ec3cec5SNicolas Le Bayon #define PWR_WIOPRIVCFGR_WIOPRIV3		BIT(2)
272*2ec3cec5SNicolas Le Bayon #define PWR_WIOPRIVCFGR_WIOPRIV4		BIT(3)
273*2ec3cec5SNicolas Le Bayon #define PWR_WIOPRIVCFGR_WIOPRIV5		BIT(4)
274*2ec3cec5SNicolas Le Bayon #define PWR_WIOPRIVCFGR_WIOPRIV6		BIT(5)
275*2ec3cec5SNicolas Le Bayon 
276*2ec3cec5SNicolas Le Bayon /* PWR_WIO1CIDCFGR register fields */
277*2ec3cec5SNicolas Le Bayon #define PWR_WIO1CIDCFGR_CFEN			BIT(0)
278*2ec3cec5SNicolas Le Bayon #define PWR_WIO1CIDCFGR_SEM_EN			BIT(1)
279*2ec3cec5SNicolas Le Bayon #define PWR_WIO1CIDCFGR_SCID_MASK		GENMASK_32(6, 4)
280*2ec3cec5SNicolas Le Bayon #define PWR_WIO1CIDCFGR_SCID_SHIFT		4
281*2ec3cec5SNicolas Le Bayon #define PWR_WIO1CIDCFGR_SEMWLC0			BIT(16)
282*2ec3cec5SNicolas Le Bayon #define PWR_WIO1CIDCFGR_SEMWLC1			BIT(17)
283*2ec3cec5SNicolas Le Bayon #define PWR_WIO1CIDCFGR_SEMWLC2			BIT(18)
284*2ec3cec5SNicolas Le Bayon #define PWR_WIO1CIDCFGR_SEMWLC3			BIT(19)
285*2ec3cec5SNicolas Le Bayon #define PWR_WIO1CIDCFGR_SEMWLC4			BIT(20)
286*2ec3cec5SNicolas Le Bayon #define PWR_WIO1CIDCFGR_SEMWLC5			BIT(21)
287*2ec3cec5SNicolas Le Bayon #define PWR_WIO1CIDCFGR_SEMWLC6			BIT(22)
288*2ec3cec5SNicolas Le Bayon #define PWR_WIO1CIDCFGR_SEMWLC7			BIT(23)
289*2ec3cec5SNicolas Le Bayon 
290*2ec3cec5SNicolas Le Bayon /* PWR_WIO1SEMCR register fields */
291*2ec3cec5SNicolas Le Bayon #define PWR_WIO1SEMCR_SEM_MUTEX			BIT(0)
292*2ec3cec5SNicolas Le Bayon #define PWR_WIO1SEMCR_SEMCID_MASK		GENMASK_32(6, 4)
293*2ec3cec5SNicolas Le Bayon #define PWR_WIO1SEMCR_SEMCID_SHIFT		4
294*2ec3cec5SNicolas Le Bayon 
295*2ec3cec5SNicolas Le Bayon /* PWR_WIO2CIDCFGR register fields */
296*2ec3cec5SNicolas Le Bayon #define PWR_WIO2CIDCFGR_CFEN			BIT(0)
297*2ec3cec5SNicolas Le Bayon #define PWR_WIO2CIDCFGR_SEM_EN			BIT(1)
298*2ec3cec5SNicolas Le Bayon #define PWR_WIO2CIDCFGR_SCID_MASK		GENMASK_32(6, 4)
299*2ec3cec5SNicolas Le Bayon #define PWR_WIO2CIDCFGR_SCID_SHIFT		4
300*2ec3cec5SNicolas Le Bayon #define PWR_WIO2CIDCFGR_SEMWLC0			BIT(16)
301*2ec3cec5SNicolas Le Bayon #define PWR_WIO2CIDCFGR_SEMWLC1			BIT(17)
302*2ec3cec5SNicolas Le Bayon #define PWR_WIO2CIDCFGR_SEMWLC2			BIT(18)
303*2ec3cec5SNicolas Le Bayon #define PWR_WIO2CIDCFGR_SEMWLC3			BIT(19)
304*2ec3cec5SNicolas Le Bayon #define PWR_WIO2CIDCFGR_SEMWLC4			BIT(20)
305*2ec3cec5SNicolas Le Bayon #define PWR_WIO2CIDCFGR_SEMWLC5			BIT(21)
306*2ec3cec5SNicolas Le Bayon #define PWR_WIO2CIDCFGR_SEMWLC6			BIT(22)
307*2ec3cec5SNicolas Le Bayon #define PWR_WIO2CIDCFGR_SEMWLC7			BIT(23)
308*2ec3cec5SNicolas Le Bayon 
309*2ec3cec5SNicolas Le Bayon /* PWR_WIO2SEMCR register fields */
310*2ec3cec5SNicolas Le Bayon #define PWR_WIO2SEMCR_SEM_MUTEX			BIT(0)
311*2ec3cec5SNicolas Le Bayon #define PWR_WIO2SEMCR_SEMCID_MASK		GENMASK_32(6, 4)
312*2ec3cec5SNicolas Le Bayon #define PWR_WIO2SEMCR_SEMCID_SHIFT		4
313*2ec3cec5SNicolas Le Bayon 
314*2ec3cec5SNicolas Le Bayon /* PWR_WIO3CIDCFGR register fields */
315*2ec3cec5SNicolas Le Bayon #define PWR_WIO3CIDCFGR_CFEN			BIT(0)
316*2ec3cec5SNicolas Le Bayon #define PWR_WIO3CIDCFGR_SEM_EN			BIT(1)
317*2ec3cec5SNicolas Le Bayon #define PWR_WIO3CIDCFGR_SCID_MASK		GENMASK_32(6, 4)
318*2ec3cec5SNicolas Le Bayon #define PWR_WIO3CIDCFGR_SCID_SHIFT		4
319*2ec3cec5SNicolas Le Bayon #define PWR_WIO3CIDCFGR_SEMWLC0			BIT(16)
320*2ec3cec5SNicolas Le Bayon #define PWR_WIO3CIDCFGR_SEMWLC1			BIT(17)
321*2ec3cec5SNicolas Le Bayon #define PWR_WIO3CIDCFGR_SEMWLC2			BIT(18)
322*2ec3cec5SNicolas Le Bayon #define PWR_WIO3CIDCFGR_SEMWLC3			BIT(19)
323*2ec3cec5SNicolas Le Bayon #define PWR_WIO3CIDCFGR_SEMWLC4			BIT(20)
324*2ec3cec5SNicolas Le Bayon #define PWR_WIO3CIDCFGR_SEMWLC5			BIT(21)
325*2ec3cec5SNicolas Le Bayon #define PWR_WIO3CIDCFGR_SEMWLC6			BIT(22)
326*2ec3cec5SNicolas Le Bayon #define PWR_WIO3CIDCFGR_SEMWLC7			BIT(23)
327*2ec3cec5SNicolas Le Bayon 
328*2ec3cec5SNicolas Le Bayon /* PWR_WIO3SEMCR register fields */
329*2ec3cec5SNicolas Le Bayon #define PWR_WIO3SEMCR_SEM_MUTEX			BIT(0)
330*2ec3cec5SNicolas Le Bayon #define PWR_WIO3SEMCR_SEMCID_MASK		GENMASK_32(6, 4)
331*2ec3cec5SNicolas Le Bayon #define PWR_WIO3SEMCR_SEMCID_SHIFT		4
332*2ec3cec5SNicolas Le Bayon 
333*2ec3cec5SNicolas Le Bayon /* PWR_WIO4CIDCFGR register fields */
334*2ec3cec5SNicolas Le Bayon #define PWR_WIO4CIDCFGR_CFEN			BIT(0)
335*2ec3cec5SNicolas Le Bayon #define PWR_WIO4CIDCFGR_SEM_EN			BIT(1)
336*2ec3cec5SNicolas Le Bayon #define PWR_WIO4CIDCFGR_SCID_MASK		GENMASK_32(6, 4)
337*2ec3cec5SNicolas Le Bayon #define PWR_WIO4CIDCFGR_SCID_SHIFT		4
338*2ec3cec5SNicolas Le Bayon #define PWR_WIO4CIDCFGR_SEMWLC0			BIT(16)
339*2ec3cec5SNicolas Le Bayon #define PWR_WIO4CIDCFGR_SEMWLC1			BIT(17)
340*2ec3cec5SNicolas Le Bayon #define PWR_WIO4CIDCFGR_SEMWLC2			BIT(18)
341*2ec3cec5SNicolas Le Bayon #define PWR_WIO4CIDCFGR_SEMWLC3			BIT(19)
342*2ec3cec5SNicolas Le Bayon #define PWR_WIO4CIDCFGR_SEMWLC4			BIT(20)
343*2ec3cec5SNicolas Le Bayon #define PWR_WIO4CIDCFGR_SEMWLC5			BIT(21)
344*2ec3cec5SNicolas Le Bayon #define PWR_WIO4CIDCFGR_SEMWLC6			BIT(22)
345*2ec3cec5SNicolas Le Bayon #define PWR_WIO4CIDCFGR_SEMWLC7			BIT(23)
346*2ec3cec5SNicolas Le Bayon 
347*2ec3cec5SNicolas Le Bayon /* PWR_WIO4SEMCR register fields */
348*2ec3cec5SNicolas Le Bayon #define PWR_WIO4SEMCR_SEM_MUTEX			BIT(0)
349*2ec3cec5SNicolas Le Bayon #define PWR_WIO4SEMCR_SEMCID_MASK		GENMASK_32(6, 4)
350*2ec3cec5SNicolas Le Bayon #define PWR_WIO4SEMCR_SEMCID_SHIFT		4
351*2ec3cec5SNicolas Le Bayon 
352*2ec3cec5SNicolas Le Bayon /* PWR_WIO5CIDCFGR register fields */
353*2ec3cec5SNicolas Le Bayon #define PWR_WIO5CIDCFGR_CFEN			BIT(0)
354*2ec3cec5SNicolas Le Bayon #define PWR_WIO5CIDCFGR_SEM_EN			BIT(1)
355*2ec3cec5SNicolas Le Bayon #define PWR_WIO5CIDCFGR_SCID_MASK		GENMASK_32(6, 4)
356*2ec3cec5SNicolas Le Bayon #define PWR_WIO5CIDCFGR_SCID_SHIFT		4
357*2ec3cec5SNicolas Le Bayon #define PWR_WIO5CIDCFGR_SEMWLC0			BIT(16)
358*2ec3cec5SNicolas Le Bayon #define PWR_WIO5CIDCFGR_SEMWLC1			BIT(17)
359*2ec3cec5SNicolas Le Bayon #define PWR_WIO5CIDCFGR_SEMWLC2			BIT(18)
360*2ec3cec5SNicolas Le Bayon #define PWR_WIO5CIDCFGR_SEMWLC3			BIT(19)
361*2ec3cec5SNicolas Le Bayon #define PWR_WIO5CIDCFGR_SEMWLC4			BIT(20)
362*2ec3cec5SNicolas Le Bayon #define PWR_WIO5CIDCFGR_SEMWLC5			BIT(21)
363*2ec3cec5SNicolas Le Bayon #define PWR_WIO5CIDCFGR_SEMWLC6			BIT(22)
364*2ec3cec5SNicolas Le Bayon #define PWR_WIO5CIDCFGR_SEMWLC7			BIT(23)
365*2ec3cec5SNicolas Le Bayon 
366*2ec3cec5SNicolas Le Bayon /* PWR_WIO5SEMCR register fields */
367*2ec3cec5SNicolas Le Bayon #define PWR_WIO5SEMCR_SEM_MUTEX			BIT(0)
368*2ec3cec5SNicolas Le Bayon #define PWR_WIO5SEMCR_SEMCID_MASK		GENMASK_32(6, 4)
369*2ec3cec5SNicolas Le Bayon #define PWR_WIO5SEMCR_SEMCID_SHIFT		4
370*2ec3cec5SNicolas Le Bayon 
371*2ec3cec5SNicolas Le Bayon /* PWR_WIO6CIDCFGR register fields */
372*2ec3cec5SNicolas Le Bayon #define PWR_WIO6CIDCFGR_CFEN			BIT(0)
373*2ec3cec5SNicolas Le Bayon #define PWR_WIO6CIDCFGR_SEM_EN			BIT(1)
374*2ec3cec5SNicolas Le Bayon #define PWR_WIO6CIDCFGR_SCID_MASK		GENMASK_32(6, 4)
375*2ec3cec5SNicolas Le Bayon #define PWR_WIO6CIDCFGR_SCID_SHIFT		4
376*2ec3cec5SNicolas Le Bayon #define PWR_WIO6CIDCFGR_SEMWLC0			BIT(16)
377*2ec3cec5SNicolas Le Bayon #define PWR_WIO6CIDCFGR_SEMWLC1			BIT(17)
378*2ec3cec5SNicolas Le Bayon #define PWR_WIO6CIDCFGR_SEMWLC2			BIT(18)
379*2ec3cec5SNicolas Le Bayon #define PWR_WIO6CIDCFGR_SEMWLC3			BIT(19)
380*2ec3cec5SNicolas Le Bayon #define PWR_WIO6CIDCFGR_SEMWLC4			BIT(20)
381*2ec3cec5SNicolas Le Bayon #define PWR_WIO6CIDCFGR_SEMWLC5			BIT(21)
382*2ec3cec5SNicolas Le Bayon #define PWR_WIO6CIDCFGR_SEMWLC6			BIT(22)
383*2ec3cec5SNicolas Le Bayon #define PWR_WIO6CIDCFGR_SEMWLC7			BIT(23)
384*2ec3cec5SNicolas Le Bayon 
385*2ec3cec5SNicolas Le Bayon /* PWR_WIO6SEMCR register fields */
386*2ec3cec5SNicolas Le Bayon #define PWR_WIO6SEMCR_SEM_MUTEX			BIT(0)
387*2ec3cec5SNicolas Le Bayon #define PWR_WIO6SEMCR_SEMCID_MASK		GENMASK_32(6, 4)
388*2ec3cec5SNicolas Le Bayon #define PWR_WIO6SEMCR_SEMCID_SHIFT		4
389*2ec3cec5SNicolas Le Bayon 
390*2ec3cec5SNicolas Le Bayon /* PWR_CPU1D1SR register fields */
391*2ec3cec5SNicolas Le Bayon #define PWR_CPU1D1SR_HOLD_BOOT			BIT(0)
392*2ec3cec5SNicolas Le Bayon #define PWR_CPU1D1SR_CSTATE_MASK		GENMASK_32(3, 2)
393*2ec3cec5SNicolas Le Bayon #define PWR_CPU1D1SR_CSTATE_SHIFT		2
394*2ec3cec5SNicolas Le Bayon #define PWR_CPU1D1SR_DSTATE_MASK		GENMASK_32(10, 8)
395*2ec3cec5SNicolas Le Bayon #define PWR_CPU1D1SR_DSTATE_SHIFT		8
396*2ec3cec5SNicolas Le Bayon 
397*2ec3cec5SNicolas Le Bayon /* PWR_CPU2D2SR register fields */
398*2ec3cec5SNicolas Le Bayon #define PWR_CPU2D2SR_HOLD_BOOT			BIT(0)
399*2ec3cec5SNicolas Le Bayon #define PWR_CPU2D2SR_WFBEN			BIT(1)
400*2ec3cec5SNicolas Le Bayon #define PWR_CPU2D2SR_CSTATE_MASK		GENMASK_32(3, 2)
401*2ec3cec5SNicolas Le Bayon #define PWR_CPU2D2SR_CSTATE_SHIFT		2
402*2ec3cec5SNicolas Le Bayon #define PWR_CPU2D2SR_DSTATE_MASK		GENMASK_32(10, 8)
403*2ec3cec5SNicolas Le Bayon #define PWR_CPU2D2SR_DSTATE_SHIFT		8
404*2ec3cec5SNicolas Le Bayon 
405*2ec3cec5SNicolas Le Bayon /* PWR_DBGR register fields */
406*2ec3cec5SNicolas Le Bayon #define PWR_DBGR_VDDIOKRETRAM			BIT(16)
407*2ec3cec5SNicolas Le Bayon #define PWR_DBGR_VDDIOKBKPRAM			BIT(17)
408*2ec3cec5SNicolas Le Bayon 
409*2ec3cec5SNicolas Le Bayon /* PWR_VERR register fields */
410*2ec3cec5SNicolas Le Bayon #define PWR_VERR_MINREV_MASK			GENMASK_32(3, 0)
411*2ec3cec5SNicolas Le Bayon #define PWR_VERR_MINREV_SHIFT			0
412*2ec3cec5SNicolas Le Bayon #define PWR_VERR_MAJREV_MASK			GENMASK_32(7, 4)
413*2ec3cec5SNicolas Le Bayon #define PWR_VERR_MAJREV_SHIFT			4
414*2ec3cec5SNicolas Le Bayon 
415*2ec3cec5SNicolas Le Bayon #endif /* STM32MP21_PWR_H */
416*2ec3cec5SNicolas Le Bayon 
417