1 /* SPDX-License-Identifier: GPL-2.0 */
2 /* Copyright (c) 2018, The Linux Foundation. All rights reserved. */
4 #ifndef _DT_BINDINGS_POWER_QCOM_RPMPD_H
5 #define _DT_BINDINGS_POWER_QCOM_RPMPD_H
7 /* SA8775P Power Domain Indexes */
9 #define SA8775P_CX_AO 1
15 #define SA8775P_MMCX 7
16 #define SA8775P_MMCX_AO 8
19 #define SA8775P_MX_AO 11
20 #define SA8775P_MXC 12
21 #define SA8775P_MXC_AO 13
22 #define SA8775P_NSP0 14
23 #define SA8775P_NSP1 15
26 /* SDM670 Power Domain Indexes */
28 #define SDM670_MX_AO 1
30 #define SDM670_CX_AO 3
36 /* SDM845 Power Domain Indexes */
39 #define SDM845_MX_AO 2
41 #define SDM845_CX_AO 4
47 /* SDX55 Power Domain Indexes */
52 /* SDX65 Power Domain Indexes */
60 /* SM6350 Power Domain Indexes */
68 /* SM6350 Power Domain Indexes */
69 #define SM6375_VDDCX 0
70 #define SM6375_VDDCX_AO 1
71 #define SM6375_VDDCX_VFL 2
72 #define SM6375_VDDMX 3
73 #define SM6375_VDDMX_AO 4
74 #define SM6375_VDDMX_VFL 5
75 #define SM6375_VDDGX 6
76 #define SM6375_VDDGX_AO 7
77 #define SM6375_VDD_LPI_CX 8
78 #define SM6375_VDD_LPI_MX 9
80 /* SM8150 Power Domain Indexes */
87 #define SM8150_MX_AO 6
89 #define SM8150_CX_AO 8
91 #define SM8150_MMCX_AO 10
93 /* SM8250 Power Domain Indexes */
95 #define SM8250_CX_AO 1
100 #define SM8250_MMCX 6
101 #define SM8250_MMCX_AO 7
103 #define SM8250_MX_AO 9
105 /* SM8350 Power Domain Indexes */
107 #define SM8350_CX_AO 1
112 #define SM8350_MMCX 6
113 #define SM8350_MMCX_AO 7
115 #define SM8350_MX_AO 9
116 #define SM8350_MXC 10
117 #define SM8350_MXC_AO 11
118 #define SM8350_MSS 12
120 /* SM8450 Power Domain Indexes */
122 #define SM8450_CX_AO 1
127 #define SM8450_MMCX 6
128 #define SM8450_MMCX_AO 7
130 #define SM8450_MX_AO 9
131 #define SM8450_MXC 10
132 #define SM8450_MXC_AO 11
133 #define SM8450_MSS 12
135 /* SM8550 Power Domain Indexes */
137 #define SM8550_CX_AO 1
142 #define SM8550_MMCX 6
143 #define SM8550_MMCX_AO 7
145 #define SM8550_MX_AO 9
146 #define SM8550_MXC 10
147 #define SM8550_MXC_AO 11
148 #define SM8550_MSS 12
149 #define SM8550_NSP 13
151 /* QDU1000/QRU1000 Power Domain Indexes */
152 #define QDU1000_EBI 0
153 #define QDU1000_MSS 1
157 /* SC7180 Power Domain Indexes */
159 #define SC7180_CX_AO 1
162 #define SC7180_MX_AO 4
167 /* SC7280 Power Domain Indexes */
169 #define SC7280_CX_AO 1
173 #define SC7280_MX_AO 5
178 /* SC8180X Power Domain Indexes */
180 #define SC8180X_CX_AO 1
181 #define SC8180X_EBI 2
182 #define SC8180X_GFX 3
183 #define SC8180X_LCX 4
184 #define SC8180X_LMX 5
185 #define SC8180X_MMCX 6
186 #define SC8180X_MMCX_AO 7
187 #define SC8180X_MSS 8
189 #define SC8180X_MX_AO 10
191 /* SC8280XP Power Domain Indexes */
192 #define SC8280XP_CX 0
193 #define SC8280XP_CX_AO 1
194 #define SC8280XP_DDR 2
195 #define SC8280XP_EBI 3
196 #define SC8280XP_GFX 4
197 #define SC8280XP_LCX 5
198 #define SC8280XP_LMX 6
199 #define SC8280XP_MMCX 7
200 #define SC8280XP_MMCX_AO 8
201 #define SC8280XP_MSS 9
202 #define SC8280XP_MX 10
203 #define SC8280XP_MXC 12
204 #define SC8280XP_MX_AO 11
205 #define SC8280XP_NSP 13
206 #define SC8280XP_QPHY 14
207 #define SC8280XP_XO 15
209 /* SDM845 Power Domain performance levels */
210 #define RPMH_REGULATOR_LEVEL_RETENTION 16
211 #define RPMH_REGULATOR_LEVEL_MIN_SVS 48
212 #define RPMH_REGULATOR_LEVEL_LOW_SVS_D1 56
213 #define RPMH_REGULATOR_LEVEL_LOW_SVS 64
214 #define RPMH_REGULATOR_LEVEL_LOW_SVS_L1 80
215 #define RPMH_REGULATOR_LEVEL_SVS 128
216 #define RPMH_REGULATOR_LEVEL_SVS_L0 144
217 #define RPMH_REGULATOR_LEVEL_SVS_L1 192
218 #define RPMH_REGULATOR_LEVEL_SVS_L2 224
219 #define RPMH_REGULATOR_LEVEL_NOM 256
220 #define RPMH_REGULATOR_LEVEL_NOM_L1 320
221 #define RPMH_REGULATOR_LEVEL_NOM_L2 336
222 #define RPMH_REGULATOR_LEVEL_TURBO 384
223 #define RPMH_REGULATOR_LEVEL_TURBO_L1 416
225 /* MDM9607 Power Domains */
226 #define MDM9607_VDDCX 0
227 #define MDM9607_VDDCX_AO 1
228 #define MDM9607_VDDCX_VFL 2
229 #define MDM9607_VDDMX 3
230 #define MDM9607_VDDMX_AO 4
231 #define MDM9607_VDDMX_VFL 5
233 /* MSM8226 Power Domain Indexes */
234 #define MSM8226_VDDCX 0
235 #define MSM8226_VDDCX_AO 1
236 #define MSM8226_VDDCX_VFC 2
238 /* MSM8939 Power Domains */
239 #define MSM8939_VDDMDCX 0
240 #define MSM8939_VDDMDCX_AO 1
241 #define MSM8939_VDDMDCX_VFC 2
242 #define MSM8939_VDDCX 3
243 #define MSM8939_VDDCX_AO 4
244 #define MSM8939_VDDCX_VFC 5
245 #define MSM8939_VDDMX 6
246 #define MSM8939_VDDMX_AO 7
248 /* MSM8916 Power Domain Indexes */
249 #define MSM8916_VDDCX 0
250 #define MSM8916_VDDCX_AO 1
251 #define MSM8916_VDDCX_VFC 2
252 #define MSM8916_VDDMX 3
253 #define MSM8916_VDDMX_AO 4
255 /* MSM8909 Power Domain Indexes */
256 #define MSM8909_VDDCX MSM8916_VDDCX
257 #define MSM8909_VDDCX_AO MSM8916_VDDCX_AO
258 #define MSM8909_VDDCX_VFC MSM8916_VDDCX_VFC
259 #define MSM8909_VDDMX MSM8916_VDDMX
260 #define MSM8909_VDDMX_AO MSM8916_VDDMX_AO
262 /* MSM8953 Power Domain Indexes */
263 #define MSM8953_VDDMD 0
264 #define MSM8953_VDDMD_AO 1
265 #define MSM8953_VDDCX 2
266 #define MSM8953_VDDCX_AO 3
267 #define MSM8953_VDDCX_VFL 4
268 #define MSM8953_VDDMX 5
269 #define MSM8953_VDDMX_AO 6
271 /* MSM8976 Power Domain Indexes */
272 #define MSM8976_VDDCX 0
273 #define MSM8976_VDDCX_AO 1
274 #define MSM8976_VDDCX_VFL 2
275 #define MSM8976_VDDMX 3
276 #define MSM8976_VDDMX_AO 4
277 #define MSM8976_VDDMX_VFL 5
279 /* MSM8994 Power Domain Indexes */
280 #define MSM8994_VDDCX 0
281 #define MSM8994_VDDCX_AO 1
282 #define MSM8994_VDDCX_VFC 2
283 #define MSM8994_VDDMX 3
284 #define MSM8994_VDDMX_AO 4
285 #define MSM8994_VDDGFX 5
286 #define MSM8994_VDDGFX_VFC 6
288 /* MSM8996 Power Domain Indexes */
289 #define MSM8996_VDDCX 0
290 #define MSM8996_VDDCX_AO 1
291 #define MSM8996_VDDCX_VFC 2
292 #define MSM8996_VDDMX 3
293 #define MSM8996_VDDMX_AO 4
294 #define MSM8996_VDDSSCX 5
295 #define MSM8996_VDDSSCX_VFC 6
297 /* MSM8998 Power Domain Indexes */
298 #define MSM8998_VDDCX 0
299 #define MSM8998_VDDCX_AO 1
300 #define MSM8998_VDDCX_VFL 2
301 #define MSM8998_VDDMX 3
302 #define MSM8998_VDDMX_AO 4
303 #define MSM8998_VDDMX_VFL 5
304 #define MSM8998_SSCCX 6
305 #define MSM8998_SSCCX_VFL 7
306 #define MSM8998_SSCMX 8
307 #define MSM8998_SSCMX_VFL 9
309 /* QCS404 Power Domains */
310 #define QCS404_VDDMX 0
311 #define QCS404_VDDMX_AO 1
312 #define QCS404_VDDMX_VFL 2
313 #define QCS404_LPICX 3
314 #define QCS404_LPICX_VFL 4
315 #define QCS404_LPIMX 5
316 #define QCS404_LPIMX_VFL 6
318 /* SDM660 Power Domains */
319 #define SDM660_VDDCX 0
320 #define SDM660_VDDCX_AO 1
321 #define SDM660_VDDCX_VFL 2
322 #define SDM660_VDDMX 3
323 #define SDM660_VDDMX_AO 4
324 #define SDM660_VDDMX_VFL 5
325 #define SDM660_SSCCX 6
326 #define SDM660_SSCCX_VFL 7
327 #define SDM660_SSCMX 8
328 #define SDM660_SSCMX_VFL 9
330 /* SM6115 Power Domains */
331 #define SM6115_VDDCX 0
332 #define SM6115_VDDCX_AO 1
333 #define SM6115_VDDCX_VFL 2
334 #define SM6115_VDDMX 3
335 #define SM6115_VDDMX_AO 4
336 #define SM6115_VDDMX_VFL 5
337 #define SM6115_VDD_LPI_CX 6
338 #define SM6115_VDD_LPI_MX 7
340 /* SM6125 Power Domains */
341 #define SM6125_VDDCX 0
342 #define SM6125_VDDCX_AO 1
343 #define SM6125_VDDCX_VFL 2
344 #define SM6125_VDDMX 3
345 #define SM6125_VDDMX_AO 4
346 #define SM6125_VDDMX_VFL 5
348 /* QCM2290 Power Domains */
349 #define QCM2290_VDDCX 0
350 #define QCM2290_VDDCX_AO 1
351 #define QCM2290_VDDCX_VFL 2
352 #define QCM2290_VDDMX 3
353 #define QCM2290_VDDMX_AO 4
354 #define QCM2290_VDDMX_VFL 5
355 #define QCM2290_VDD_LPI_CX 6
356 #define QCM2290_VDD_LPI_MX 7
358 /* RPM SMD Power Domain performance levels */
359 #define RPM_SMD_LEVEL_RETENTION 16
360 #define RPM_SMD_LEVEL_RETENTION_PLUS 32
361 #define RPM_SMD_LEVEL_MIN_SVS 48
362 #define RPM_SMD_LEVEL_LOW_SVS 64
363 #define RPM_SMD_LEVEL_SVS 128
364 #define RPM_SMD_LEVEL_SVS_PLUS 192
365 #define RPM_SMD_LEVEL_NOM 256
366 #define RPM_SMD_LEVEL_NOM_PLUS 320
367 #define RPM_SMD_LEVEL_TURBO 384
368 #define RPM_SMD_LEVEL_TURBO_NO_CPR 416
369 #define RPM_SMD_LEVEL_TURBO_HIGH 448
370 #define RPM_SMD_LEVEL_BINNING 512