Merge tag 'soc-drivers-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
[linux-2.6-microblaze.git] / include / dt-bindings / power / qcom-rpmpd.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /* Copyright (c) 2018, The Linux Foundation. All rights reserved. */
3
4 #ifndef _DT_BINDINGS_POWER_QCOM_RPMPD_H
5 #define _DT_BINDINGS_POWER_QCOM_RPMPD_H
6
7 /* SA8775P Power Domain Indexes */
8 #define SA8775P_CX      0
9 #define SA8775P_CX_AO   1
10 #define SA8775P_DDR     2
11 #define SA8775P_EBI     3
12 #define SA8775P_GFX     4
13 #define SA8775P_LCX     5
14 #define SA8775P_LMX     6
15 #define SA8775P_MMCX    7
16 #define SA8775P_MMCX_AO 8
17 #define SA8775P_MSS     9
18 #define SA8775P_MX      10
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
24 #define SA8775P_XO      16
25
26 /* SDM670 Power Domain Indexes */
27 #define SDM670_MX       0
28 #define SDM670_MX_AO    1
29 #define SDM670_CX       2
30 #define SDM670_CX_AO    3
31 #define SDM670_LMX      4
32 #define SDM670_LCX      5
33 #define SDM670_GFX      6
34 #define SDM670_MSS      7
35
36 /* SDM845 Power Domain Indexes */
37 #define SDM845_EBI      0
38 #define SDM845_MX       1
39 #define SDM845_MX_AO    2
40 #define SDM845_CX       3
41 #define SDM845_CX_AO    4
42 #define SDM845_LMX      5
43 #define SDM845_LCX      6
44 #define SDM845_GFX      7
45 #define SDM845_MSS      8
46
47 /* SDX55 Power Domain Indexes */
48 #define SDX55_MSS       0
49 #define SDX55_MX        1
50 #define SDX55_CX        2
51
52 /* SDX65 Power Domain Indexes */
53 #define SDX65_MSS       0
54 #define SDX65_MX        1
55 #define SDX65_MX_AO     2
56 #define SDX65_CX        3
57 #define SDX65_CX_AO     4
58 #define SDX65_MXC       5
59
60 /* SM6350 Power Domain Indexes */
61 #define SM6350_CX       0
62 #define SM6350_GFX      1
63 #define SM6350_LCX      2
64 #define SM6350_LMX      3
65 #define SM6350_MSS      4
66 #define SM6350_MX       5
67
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
79
80 /* SM8150 Power Domain Indexes */
81 #define SM8150_MSS      0
82 #define SM8150_EBI      1
83 #define SM8150_LMX      2
84 #define SM8150_LCX      3
85 #define SM8150_GFX      4
86 #define SM8150_MX       5
87 #define SM8150_MX_AO    6
88 #define SM8150_CX       7
89 #define SM8150_CX_AO    8
90 #define SM8150_MMCX     9
91 #define SM8150_MMCX_AO  10
92
93 /* SM8250 Power Domain Indexes */
94 #define SM8250_CX       0
95 #define SM8250_CX_AO    1
96 #define SM8250_EBI      2
97 #define SM8250_GFX      3
98 #define SM8250_LCX      4
99 #define SM8250_LMX      5
100 #define SM8250_MMCX     6
101 #define SM8250_MMCX_AO  7
102 #define SM8250_MX       8
103 #define SM8250_MX_AO    9
104
105 /* SM8350 Power Domain Indexes */
106 #define SM8350_CX       0
107 #define SM8350_CX_AO    1
108 #define SM8350_EBI      2
109 #define SM8350_GFX      3
110 #define SM8350_LCX      4
111 #define SM8350_LMX      5
112 #define SM8350_MMCX     6
113 #define SM8350_MMCX_AO  7
114 #define SM8350_MX       8
115 #define SM8350_MX_AO    9
116 #define SM8350_MXC      10
117 #define SM8350_MXC_AO   11
118 #define SM8350_MSS      12
119
120 /* SM8450 Power Domain Indexes */
121 #define SM8450_CX       0
122 #define SM8450_CX_AO    1
123 #define SM8450_EBI      2
124 #define SM8450_GFX      3
125 #define SM8450_LCX      4
126 #define SM8450_LMX      5
127 #define SM8450_MMCX     6
128 #define SM8450_MMCX_AO  7
129 #define SM8450_MX       8
130 #define SM8450_MX_AO    9
131 #define SM8450_MXC      10
132 #define SM8450_MXC_AO   11
133 #define SM8450_MSS      12
134
135 /* SM8550 Power Domain Indexes */
136 #define SM8550_CX       0
137 #define SM8550_CX_AO    1
138 #define SM8550_EBI      2
139 #define SM8550_GFX      3
140 #define SM8550_LCX      4
141 #define SM8550_LMX      5
142 #define SM8550_MMCX     6
143 #define SM8550_MMCX_AO  7
144 #define SM8550_MX       8
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
150
151 /* QDU1000/QRU1000 Power Domain Indexes */
152 #define QDU1000_EBI     0
153 #define QDU1000_MSS     1
154 #define QDU1000_CX      2
155 #define QDU1000_MX      3
156
157 /* SC7180 Power Domain Indexes */
158 #define SC7180_CX       0
159 #define SC7180_CX_AO    1
160 #define SC7180_GFX      2
161 #define SC7180_MX       3
162 #define SC7180_MX_AO    4
163 #define SC7180_LMX      5
164 #define SC7180_LCX      6
165 #define SC7180_MSS      7
166
167 /* SC7280 Power Domain Indexes */
168 #define SC7280_CX       0
169 #define SC7280_CX_AO    1
170 #define SC7280_EBI      2
171 #define SC7280_GFX      3
172 #define SC7280_MX       4
173 #define SC7280_MX_AO    5
174 #define SC7280_LMX      6
175 #define SC7280_LCX      7
176 #define SC7280_MSS      8
177
178 /* SC8180X Power Domain Indexes */
179 #define SC8180X_CX      0
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
188 #define SC8180X_MX      9
189 #define SC8180X_MX_AO   10
190
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
208
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
224
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
232
233 /* MSM8226 Power Domain Indexes */
234 #define MSM8226_VDDCX           0
235 #define MSM8226_VDDCX_AO        1
236 #define MSM8226_VDDCX_VFC       2
237
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
247
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
254
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
261
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
270
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
278
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
287
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
296
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
308
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
317
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
329
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
339
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
347
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
357
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
371
372 #endif