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 /* SDM845 Power Domain Indexes */
8 #define SDM845_EBI	0
9 #define SDM845_MX	1
10 #define SDM845_MX_AO	2
11 #define SDM845_CX	3
12 #define SDM845_CX_AO	4
13 #define SDM845_LMX	5
14 #define SDM845_LCX	6
15 #define SDM845_GFX	7
16 #define SDM845_MSS	8
17 
18 /* SDX55 Power Domain Indexes */
19 #define SDX55_MSS	0
20 #define SDX55_MX	1
21 #define SDX55_CX	2
22 
23 /* SM6350 Power Domain Indexes */
24 #define SM6350_CX	0
25 #define SM6350_GFX	1
26 #define SM6350_LCX	2
27 #define SM6350_LMX	3
28 #define SM6350_MSS	4
29 #define SM6350_MX	5
30 
31 /* SM8150 Power Domain Indexes */
32 #define SM8150_MSS	0
33 #define SM8150_EBI	1
34 #define SM8150_LMX	2
35 #define SM8150_LCX	3
36 #define SM8150_GFX	4
37 #define SM8150_MX	5
38 #define SM8150_MX_AO	6
39 #define SM8150_CX	7
40 #define SM8150_CX_AO	8
41 #define SM8150_MMCX	9
42 #define SM8150_MMCX_AO	10
43 
44 /* SM8250 Power Domain Indexes */
45 #define SM8250_CX	0
46 #define SM8250_CX_AO	1
47 #define SM8250_EBI	2
48 #define SM8250_GFX	3
49 #define SM8250_LCX	4
50 #define SM8250_LMX	5
51 #define SM8250_MMCX	6
52 #define SM8250_MMCX_AO	7
53 #define SM8250_MX	8
54 #define SM8250_MX_AO	9
55 
56 /* SM8350 Power Domain Indexes */
57 #define SM8350_CX	0
58 #define SM8350_CX_AO	1
59 #define SM8350_EBI	2
60 #define SM8350_GFX	3
61 #define SM8350_LCX	4
62 #define SM8350_LMX	5
63 #define SM8350_MMCX	6
64 #define SM8350_MMCX_AO	7
65 #define SM8350_MX	8
66 #define SM8350_MX_AO	9
67 #define SM8350_MXC	10
68 #define SM8350_MXC_AO	11
69 #define SM8350_MSS	12
70 
71 /* SM8450 Power Domain Indexes */
72 #define SM8450_CX	0
73 #define SM8450_CX_AO	1
74 #define SM8450_EBI	2
75 #define SM8450_GFX	3
76 #define SM8450_LCX	4
77 #define SM8450_LMX	5
78 #define SM8450_MMCX	6
79 #define SM8450_MMCX_AO	7
80 #define SM8450_MX	8
81 #define SM8450_MX_AO	9
82 #define SM8450_MXC	10
83 #define SM8450_MXC_AO	11
84 #define SM8450_MSS	12
85 
86 /* SC7180 Power Domain Indexes */
87 #define SC7180_CX	0
88 #define SC7180_CX_AO	1
89 #define SC7180_GFX	2
90 #define SC7180_MX	3
91 #define SC7180_MX_AO	4
92 #define SC7180_LMX	5
93 #define SC7180_LCX	6
94 #define SC7180_MSS	7
95 
96 /* SC7280 Power Domain Indexes */
97 #define SC7280_CX	0
98 #define SC7280_CX_AO	1
99 #define SC7280_EBI	2
100 #define SC7280_GFX	3
101 #define SC7280_MX	4
102 #define SC7280_MX_AO	5
103 #define SC7280_LMX	6
104 #define SC7280_LCX	7
105 #define SC7280_MSS	8
106 
107 /* SC8180X Power Domain Indexes */
108 #define SC8180X_CX	0
109 #define SC8180X_CX_AO	1
110 #define SC8180X_EBI	2
111 #define SC8180X_GFX	3
112 #define SC8180X_LCX	4
113 #define SC8180X_LMX	5
114 #define SC8180X_MMCX	6
115 #define SC8180X_MMCX_AO	7
116 #define SC8180X_MSS	8
117 #define SC8180X_MX	9
118 #define SC8180X_MX_AO	10
119 
120 /* SDM845 Power Domain performance levels */
121 #define RPMH_REGULATOR_LEVEL_RETENTION	16
122 #define RPMH_REGULATOR_LEVEL_MIN_SVS	48
123 #define RPMH_REGULATOR_LEVEL_LOW_SVS	64
124 #define RPMH_REGULATOR_LEVEL_SVS	128
125 #define RPMH_REGULATOR_LEVEL_SVS_L0	144
126 #define RPMH_REGULATOR_LEVEL_SVS_L1	192
127 #define RPMH_REGULATOR_LEVEL_SVS_L2	224
128 #define RPMH_REGULATOR_LEVEL_NOM	256
129 #define RPMH_REGULATOR_LEVEL_NOM_L1	320
130 #define RPMH_REGULATOR_LEVEL_NOM_L2	336
131 #define RPMH_REGULATOR_LEVEL_TURBO	384
132 #define RPMH_REGULATOR_LEVEL_TURBO_L1	416
133 
134 /* MDM9607 Power Domains */
135 #define MDM9607_VDDCX		0
136 #define MDM9607_VDDCX_AO	1
137 #define MDM9607_VDDCX_VFL	2
138 #define MDM9607_VDDMX		3
139 #define MDM9607_VDDMX_AO	4
140 #define MDM9607_VDDMX_VFL	5
141 
142 /* MSM8939 Power Domains */
143 #define MSM8939_VDDMDCX		0
144 #define MSM8939_VDDMDCX_AO	1
145 #define MSM8939_VDDMDCX_VFC	2
146 #define MSM8939_VDDCX		3
147 #define MSM8939_VDDCX_AO	4
148 #define MSM8939_VDDCX_VFC	5
149 #define MSM8939_VDDMX		6
150 #define MSM8939_VDDMX_AO	7
151 
152 /* MSM8916 Power Domain Indexes */
153 #define MSM8916_VDDCX		0
154 #define MSM8916_VDDCX_AO	1
155 #define MSM8916_VDDCX_VFC	2
156 #define MSM8916_VDDMX		3
157 #define MSM8916_VDDMX_AO	4
158 
159 /* MSM8953 Power Domain Indexes */
160 #define MSM8953_VDDMD		0
161 #define MSM8953_VDDMD_AO	1
162 #define MSM8953_VDDCX		2
163 #define MSM8953_VDDCX_AO	3
164 #define MSM8953_VDDCX_VFL	4
165 #define MSM8953_VDDMX		5
166 #define MSM8953_VDDMX_AO	6
167 
168 /* MSM8976 Power Domain Indexes */
169 #define MSM8976_VDDCX		0
170 #define MSM8976_VDDCX_AO	1
171 #define MSM8976_VDDCX_VFL	2
172 #define MSM8976_VDDMX		3
173 #define MSM8976_VDDMX_AO	4
174 #define MSM8976_VDDMX_VFL	5
175 
176 /* MSM8994 Power Domain Indexes */
177 #define MSM8994_VDDCX		0
178 #define MSM8994_VDDCX_AO	1
179 #define MSM8994_VDDCX_VFC	2
180 #define MSM8994_VDDMX		3
181 #define MSM8994_VDDMX_AO	4
182 #define MSM8994_VDDGFX		5
183 #define MSM8994_VDDGFX_VFC	6
184 
185 /* MSM8996 Power Domain Indexes */
186 #define MSM8996_VDDCX		0
187 #define MSM8996_VDDCX_AO	1
188 #define MSM8996_VDDCX_VFC	2
189 #define MSM8996_VDDMX		3
190 #define MSM8996_VDDMX_AO	4
191 #define MSM8996_VDDSSCX		5
192 #define MSM8996_VDDSSCX_VFC	6
193 
194 /* MSM8998 Power Domain Indexes */
195 #define MSM8998_VDDCX		0
196 #define MSM8998_VDDCX_AO	1
197 #define MSM8998_VDDCX_VFL	2
198 #define MSM8998_VDDMX		3
199 #define MSM8998_VDDMX_AO	4
200 #define MSM8998_VDDMX_VFL	5
201 #define MSM8998_SSCCX		6
202 #define MSM8998_SSCCX_VFL	7
203 #define MSM8998_SSCMX		8
204 #define MSM8998_SSCMX_VFL	9
205 
206 /* QCS404 Power Domains */
207 #define QCS404_VDDMX		0
208 #define QCS404_VDDMX_AO		1
209 #define QCS404_VDDMX_VFL	2
210 #define QCS404_LPICX		3
211 #define QCS404_LPICX_VFL	4
212 #define QCS404_LPIMX		5
213 #define QCS404_LPIMX_VFL	6
214 
215 /* SDM660 Power Domains */
216 #define SDM660_VDDCX		0
217 #define SDM660_VDDCX_AO		1
218 #define SDM660_VDDCX_VFL	2
219 #define SDM660_VDDMX		3
220 #define SDM660_VDDMX_AO		4
221 #define SDM660_VDDMX_VFL	5
222 #define SDM660_SSCCX		6
223 #define SDM660_SSCCX_VFL	7
224 #define SDM660_SSCMX		8
225 #define SDM660_SSCMX_VFL	9
226 
227 /* SM6115 Power Domains */
228 #define SM6115_VDDCX		0
229 #define SM6115_VDDCX_AO		1
230 #define SM6115_VDDCX_VFL	2
231 #define SM6115_VDDMX		3
232 #define SM6115_VDDMX_AO		4
233 #define SM6115_VDDMX_VFL	5
234 #define SM6115_VDD_LPI_CX	6
235 #define SM6115_VDD_LPI_MX	7
236 
237 /* SM6125 Power Domains */
238 #define SM6125_VDDCX		0
239 #define SM6125_VDDCX_AO		1
240 #define SM6125_VDDCX_VFL	2
241 #define SM6125_VDDMX		3
242 #define SM6125_VDDMX_AO		4
243 #define SM6125_VDDMX_VFL	5
244 
245 /* QCM2290 Power Domains */
246 #define QCM2290_VDDCX		0
247 #define QCM2290_VDDCX_AO	1
248 #define QCM2290_VDDCX_VFL	2
249 #define QCM2290_VDDMX		3
250 #define QCM2290_VDDMX_AO	4
251 #define QCM2290_VDDMX_VFL	5
252 #define QCM2290_VDD_LPI_CX	6
253 #define QCM2290_VDD_LPI_MX	7
254 
255 /* RPM SMD Power Domain performance levels */
256 #define RPM_SMD_LEVEL_RETENTION       16
257 #define RPM_SMD_LEVEL_RETENTION_PLUS  32
258 #define RPM_SMD_LEVEL_MIN_SVS         48
259 #define RPM_SMD_LEVEL_LOW_SVS         64
260 #define RPM_SMD_LEVEL_SVS             128
261 #define RPM_SMD_LEVEL_SVS_PLUS        192
262 #define RPM_SMD_LEVEL_NOM             256
263 #define RPM_SMD_LEVEL_NOM_PLUS        320
264 #define RPM_SMD_LEVEL_TURBO           384
265 #define RPM_SMD_LEVEL_TURBO_NO_CPR    416
266 #define RPM_SMD_LEVEL_TURBO_HIGH      448
267 #define RPM_SMD_LEVEL_BINNING         512
268 
269 #endif
270