xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/soc/rockchip/rockchip-pm-config.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun* the suspend mode config
2*4882a593Smuzhiyun
3*4882a593SmuzhiyunRequired properties:
4*4882a593Smuzhiyun- compatible: Should be one of the following.
5*4882a593Smuzhiyun- "rockchip,pm-px30" - for PX30 SOCs.
6*4882a593Smuzhiyun- "rockchip,pm-rk1808" - for RK1808 SOCs.
7*4882a593Smuzhiyun- "rockchip,pm-rk322x" - for RK322x SOCs.
8*4882a593Smuzhiyun- "rockchip,pm-rk3288" - for RK3288 SOCs.
9*4882a593Smuzhiyun- "rockchip,pm-rk3328" - for RK3328 SOCs.
10*4882a593Smuzhiyun- "rockchip,pm-rk3368" - for RK3368 SoCs.
11*4882a593Smuzhiyun- "rockchip,pm-rk3399" - for RK3399 SoCs.
12*4882a593Smuzhiyun- "rockchip,pm-rk3528" - for RK3528 SoCs.
13*4882a593Smuzhiyun- "rockchip,pm-rk3562" - for RK3562 SoCs.
14*4882a593Smuzhiyun- "rockchip,pm-rk3588" - for RK3588 SoCs.
15*4882a593Smuzhiyun- "rockchip,pm-rv1126" - for RV1126 SoCs.
16*4882a593Smuzhiyun
17*4882a593Smuzhiyun- rockchip,sleep-mode-config : the sleep mode config,
18*4882a593Smuzhiyun  ARMOFF, OSC disabled ...
19*4882a593Smuzhiyun
20*4882a593Smuzhiyun- rockchip,wakeup-config: the wake up sourece enable.
21*4882a593Smuzhiyun  GPIO, USB, SD...
22*4882a593Smuzhiyun
23*4882a593Smuzhiyun- rockchip,pwm-regulator-config: the pwm regulator name.
24*4882a593Smuzhiyun
25*4882a593SmuzhiyunExample:
26*4882a593Smuzhiyun	rockchip_suspend: rockchip-suspend {
27*4882a593Smuzhiyun		compatible = "rockchip,pm-px30";
28*4882a593Smuzhiyun		status = "disabled";
29*4882a593Smuzhiyun		rockchip,sleep-debug-en = <0>;
30*4882a593Smuzhiyun		rockchip,sleep-mode-config = <
31*4882a593Smuzhiyun			(0
32*4882a593Smuzhiyun			| RKPM_SLP_ARMOFF
33*4882a593Smuzhiyun			| RKPM_SLP_PMU_HW_PLLS_PD
34*4882a593Smuzhiyun			| RKPM_SLP_PMU_PMUALIVE_32K
35*4882a593Smuzhiyun			| RKPM_SLP_PMU_DIS_OSC
36*4882a593Smuzhiyun			| RKPM_SLP_PMIC_LP
37*4882a593Smuzhiyun			)
38*4882a593Smuzhiyun		>;
39*4882a593Smuzhiyun		rockchip,wakeup-config = <
40*4882a593Smuzhiyun			(0
41*4882a593Smuzhiyun			| RKPM_CLUSTER_WKUP_EN
42*4882a593Smuzhiyun			| RKPM_GPIO_WKUP_EN
43*4882a593Smuzhiyun			| RKPM_USB_WKUP_EN
44*4882a593Smuzhiyun			)
45*4882a593Smuzhiyun		>;
46*4882a593Smuzhiyun	};
47*4882a593Smuzhiyun
48*4882a593Smuzhiyun	rockchip_suspend: rockchip-suspend {
49*4882a593Smuzhiyun		compatible = "rockchip,pm-rk1808";
50*4882a593Smuzhiyun		status = "disabled";
51*4882a593Smuzhiyun		rockchip,sleep-debug-en = <1>;
52*4882a593Smuzhiyun		rockchip,sleep-mode-config = <
53*4882a593Smuzhiyun			(0
54*4882a593Smuzhiyun			| RKPM_SLP_ARMOFF
55*4882a593Smuzhiyun			| RKPM_SLP_PMU_PMUALIVE_32K
56*4882a593Smuzhiyun			| RKPM_SLP_PMU_DIS_OSC
57*4882a593Smuzhiyun			)
58*4882a593Smuzhiyun		>;
59*4882a593Smuzhiyun		rockchip,wakeup-config = <
60*4882a593Smuzhiyun			(0
61*4882a593Smuzhiyun			| RKPM_CLUSTER_WKUP_EN
62*4882a593Smuzhiyun			| RKPM_GPIO_WKUP_EN
63*4882a593Smuzhiyun			)
64*4882a593Smuzhiyun		>;
65*4882a593Smuzhiyun	};
66*4882a593Smuzhiyun
67*4882a593Smuzhiyun	rockchip_suspend: rockchip-suspend {
68*4882a593Smuzhiyun		compatible = "rockchip,pm-rk322x";
69*4882a593Smuzhiyun		status = "disabled";
70*4882a593Smuzhiyun		rockchip,sleep-mode-config = <
71*4882a593Smuzhiyun			(0
72*4882a593Smuzhiyun			|RKPM_CTR_GTCLKS
73*4882a593Smuzhiyun			|RKPM_CTR_IDLESRAM_MD
74*4882a593Smuzhiyun			)
75*4882a593Smuzhiyun		>;
76*4882a593Smuzhiyun	};
77*4882a593Smuzhiyun
78*4882a593Smuzhiyun	rockchip_suspend: rockchip-suspend {
79*4882a593Smuzhiyun		compatible = "rockchip,pm-rk3288";
80*4882a593Smuzhiyun		status = "disabled";
81*4882a593Smuzhiyun		rockchip,sleep-mode-config = <
82*4882a593Smuzhiyun			(0
83*4882a593Smuzhiyun			|RKPM_CTR_PWR_DMNS
84*4882a593Smuzhiyun			|RKPM_CTR_GTCLKS
85*4882a593Smuzhiyun			|RKPM_CTR_PLLS
86*4882a593Smuzhiyun			|RKPM_CTR_ARMOFF_LPMD
87*4882a593Smuzhiyun			)
88*4882a593Smuzhiyun		>;
89*4882a593Smuzhiyun		rockchip,wakeup-config = <
90*4882a593Smuzhiyun			(0
91*4882a593Smuzhiyun			| RKPM_GPIO_WKUP_EN
92*4882a593Smuzhiyun			)
93*4882a593Smuzhiyun		>;
94*4882a593Smuzhiyun		rockchip,pwm-regulator-config = <
95*4882a593Smuzhiyun			(0
96*4882a593Smuzhiyun			| PWM2_REGULATOR_EN
97*4882a593Smuzhiyun			)
98*4882a593Smuzhiyun		>;
99*4882a593Smuzhiyun	};
100*4882a593Smuzhiyun
101*4882a593Smuzhiyun	rockchip_suspend: rockchip-suspend {
102*4882a593Smuzhiyun		compatible = "rockchip,pm-rk3308";
103*4882a593Smuzhiyun		status = "okay";
104*4882a593Smuzhiyun		rockchip,sleep-mode-config = <
105*4882a593Smuzhiyun			(0
106*4882a593Smuzhiyun			| RKPM_ARMOFF
107*4882a593Smuzhiyun			| RKPM_PMU_HW_PLLS_PD
108*4882a593Smuzhiyun			| RKPM_DBG_FSM_SOUT
109*4882a593Smuzhiyun			)
110*4882a593Smuzhiyun		>;
111*4882a593Smuzhiyun		rockchip,wakeup-config = <
112*4882a593Smuzhiyun			(0
113*4882a593Smuzhiyun			| RKPM_GPIO0_WAKEUP_EN
114*4882a593Smuzhiyun			)
115*4882a593Smuzhiyun		>;
116*4882a593Smuzhiyun		rockchip,pwm-regulator-config = <
117*4882a593Smuzhiyun			(0
118*4882a593Smuzhiyun			| RKPM_PWM_REGULATOR
119*4882a593Smuzhiyun			)
120*4882a593Smuzhiyun		>;
121*4882a593Smuzhiyun	};
122*4882a593Smuzhiyun
123*4882a593Smuzhiyun	rockchip_suspend: rockchip-suspend {
124*4882a593Smuzhiyun		compatible = "rockchip,pm-rk3328";
125*4882a593Smuzhiyun		status = "disabled";
126*4882a593Smuzhiyun		rockchip,virtual-poweroff = <0>;
127*4882a593Smuzhiyun	};
128*4882a593Smuzhiyun
129*4882a593Smuzhiyun	rockchip_suspend: rockchip-suspend {
130*4882a593Smuzhiyun		compatible = "rockchip,pm-rk3368";
131*4882a593Smuzhiyun		status = "disabled";
132*4882a593Smuzhiyun		rockchip,sleep-mode-config = <
133*4882a593Smuzhiyun			(0
134*4882a593Smuzhiyun			| RKPM_SLP_ARMOFF_LOGPD
135*4882a593Smuzhiyun			| RKPM_SLP_PMU_PLLS_PWRDN
136*4882a593Smuzhiyun			| RKPM_SLP_PMU_PMUALIVE_32K
137*4882a593Smuzhiyun			| RKPM_SLP_SFT_PLLS_DEEP
138*4882a593Smuzhiyun			| RKPM_SLP_PMU_DIS_OSC
139*4882a593Smuzhiyun			| RKPM_SLP_SFT_PD_NBSCUS
140*4882a593Smuzhiyun			)
141*4882a593Smuzhiyun		>;
142*4882a593Smuzhiyun	};
143*4882a593Smuzhiyun
144*4882a593Smuzhiyun	rockchip_suspend: rockchip_suspend {
145*4882a593Smuzhiyun		compatible = "rockchip,pm-rk3399";
146*4882a593Smuzhiyun		status = "okay";
147*4882a593Smuzhiyun		rockchip,sleep-mode-config = <
148*4882a593Smuzhiyun			(0
149*4882a593Smuzhiyun			| RKPM_SLP_ARMPD
150*4882a593Smuzhiyun			| RKPM_SLP_PERILPPD
151*4882a593Smuzhiyun			| RKPM_SLP_DDR_RET
152*4882a593Smuzhiyun			| RKPM_SLP_PLLPD
153*4882a593Smuzhiyun			| RKPM_SLP_OSC_DIS
154*4882a593Smuzhiyun			| RKPM_SLP_CENTER_PD
155*4882a593Smuzhiyun			| RKPM_SLP_AP_PWROFF
156*4882a593Smuzhiyun			)
157*4882a593Smuzhiyun		>;
158*4882a593Smuzhiyun		rockchip,wakeup-config = <
159*4882a593Smuzhiyun			(0 |
160*4882a593Smuzhiyun			RKPM_GPIO_WKUP_EN |
161*4882a593Smuzhiyun			RKPM_PWM_WKUP_EN)
162*4882a593Smuzhiyun		>;
163*4882a593Smuzhiyun		rockchip,pwm-regulator-config = <
164*4882a593Smuzhiyun			(0 |
165*4882a593Smuzhiyun			PWM2_REGULATOR_EN
166*4882a593Smuzhiyun			)
167*4882a593Smuzhiyun		>;
168*4882a593Smuzhiyun	};
169*4882a593Smuzhiyun
170*4882a593Smuzhiyun	rockchip_suspend: rockchip-suspend {
171*4882a593Smuzhiyun		compatible = "rockchip,pm-rk3528";
172*4882a593Smuzhiyun		status = "disabled";
173*4882a593Smuzhiyun		rockchip,sleep-debug-en = <0>;
174*4882a593Smuzhiyun		rockchip,sleep-mode-config = <
175*4882a593Smuzhiyun			(0
176*4882a593Smuzhiyun			| RKPM_SLP_ARMPD
177*4882a593Smuzhiyun			)
178*4882a593Smuzhiyun		>;
179*4882a593Smuzhiyun		rockchip,wakeup-config = <
180*4882a593Smuzhiyun			(0
181*4882a593Smuzhiyun			| RKPM_CPU0_WKUP_EN
182*4882a593Smuzhiyun			| RKPM_GPIO_WKUP_EN
183*4882a593Smuzhiyun			)
184*4882a593Smuzhiyun		>;
185*4882a593Smuzhiyun	};
186*4882a593Smuzhiyun
187*4882a593Smuzhiyun	rockchip_suspend: rockchip-suspend {
188*4882a593Smuzhiyun		compatible = "rockchip,pm-rk3562";
189*4882a593Smuzhiyun		status = "okay";
190*4882a593Smuzhiyun		rockchip,sleep-debug-en = <1>;
191*4882a593Smuzhiyun		rockchip,sleep-mode-config = <
192*4882a593Smuzhiyun			(0
193*4882a593Smuzhiyun			| RKPM_SLP_DEEP1_MODE
194*4882a593Smuzhiyun			| RKPM_SLP_PMIC_LP
195*4882a593Smuzhiyun			| RKPM_SLP_HW_PLLS_OFF
196*4882a593Smuzhiyun			| RKPM_SLP_PMUALIVE_32K
197*4882a593Smuzhiyun			| RKPM_SLP_OSC_DIS
198*4882a593Smuzhiyun			| RKPM_SLP_32K_PVTM
199*4882a593Smuzhiyun			)
200*4882a593Smuzhiyun		>;
201*4882a593Smuzhiyun		rockchip,wakeup-config = <
202*4882a593Smuzhiyun			(0
203*4882a593Smuzhiyun			| RKPM_GPIO0_WKUP_EN
204*4882a593Smuzhiyun			)
205*4882a593Smuzhiyun		>;
206*4882a593Smuzhiyun	};
207*4882a593Smuzhiyun
208*4882a593Smuzhiyun	rockchip_suspend: rockchip_suspend {
209*4882a593Smuzhiyun		compatible = "rockchip,pm-rk3568";
210*4882a593Smuzhiyun		status = "okay";
211*4882a593Smuzhiyun		rockchip,sleep-debug-en = <0>;
212*4882a593Smuzhiyun		rockchip,sleep-mode-config = <
213*4882a593Smuzhiyun				(0
214*4882a593Smuzhiyun				| RKPM_SLP_ARMOFF
215*4882a593Smuzhiyun				| RKPM_SLP_PMU_PMUALIVE_32K
216*4882a593Smuzhiyun				| RKPM_SLP_PMU_DIS_OSC
217*4882a593Smuzhiyun				| RKPM_SLP_PMIC_LP
218*4882a593Smuzhiyun				| RKPM_SLP_32K_EXT
219*4882a593Smuzhiyun				| RKPM_SLP_PIN_REVERSE
220*4882a593Smuzhiyun				)
221*4882a593Smuzhiyun		>;
222*4882a593Smuzhiyun
223*4882a593Smuzhiyun		rockchip,regulator-off-in-mem-lite = ...;
224*4882a593Smuzhiyun		rockchip,regulator-on-in-mem-lite = ...;
225*4882a593Smuzhiyun
226*4882a593Smuzhiyun		rockchip,regulator-off-in-mem = ...;
227*4882a593Smuzhiyun		rockchip,regulator-on-in-mem = ...;
228*4882a593Smuzhiyun
229*4882a593Smuzhiyun		rockchip,regulator-off-in-mem-ultra = ...;
230*4882a593Smuzhiyun		rockchip,regulator-on-in-mem-ultra = ...;
231*4882a593Smuzhiyun	};
232*4882a593Smuzhiyun
233*4882a593Smuzhiyun	rockchip_suspend: rockchip-suspend {
234*4882a593Smuzhiyun		compatible = "rockchip,pm-rk3588";
235*4882a593Smuzhiyun		status = "okay";
236*4882a593Smuzhiyun		rockchip,sleep-debug-en = <0>;
237*4882a593Smuzhiyun		rockchip,sleep-mode-config = <
238*4882a593Smuzhiyun			(0
239*4882a593Smuzhiyun			| RKPM_SLP_ARMOFF_DDRPD
240*4882a593Smuzhiyun			| RKPM_SLP_PMU_PMUALIVE_32K
241*4882a593Smuzhiyun			| RKPM_SLP_PMU_DIS_OSC
242*4882a593Smuzhiyun			| RKPM_SLP_32K_EXT
243*4882a593Smuzhiyun			| RKPM_SLP_PMU_DBG
244*4882a593Smuzhiyun			)
245*4882a593Smuzhiyun		>;
246*4882a593Smuzhiyun		rockchip,wakeup-config = <
247*4882a593Smuzhiyun			(0
248*4882a593Smuzhiyun			| RKPM_GPIO_WKUP_EN
249*4882a593Smuzhiyun			)
250*4882a593Smuzhiyun		>;
251*4882a593Smuzhiyun	};
252*4882a593Smuzhiyun
253*4882a593Smuzhiyun	rockchip_suspend: rockchip-suspend {
254*4882a593Smuzhiyun		compatible = "rockchip,pm-rv1126";
255*4882a593Smuzhiyun		status = "disabled";
256*4882a593Smuzhiyun		rockchip,sleep-debug-en = <0>;
257*4882a593Smuzhiyun		rockchip,sleep-mode-config = <
258*4882a593Smuzhiyun			(0
259*4882a593Smuzhiyun			| RKPM_SLP_ARMOFF
260*4882a593Smuzhiyun			| RKPM_SLP_PMU_PMUALIVE_32K
261*4882a593Smuzhiyun			| RKPM_SLP_PMU_DIS_OSC
262*4882a593Smuzhiyun			| RKPM_SLP_PMIC_LP
263*4882a593Smuzhiyun			)
264*4882a593Smuzhiyun		>;
265*4882a593Smuzhiyun		rockchip,wakeup-config = <
266*4882a593Smuzhiyun			(0
267*4882a593Smuzhiyun			| RKPM_GPIO_WKUP_EN
268*4882a593Smuzhiyun			)
269*4882a593Smuzhiyun		>;
270*4882a593Smuzhiyun	};
271