1c6e6eff4SRajendra Nayak /* SPDX-License-Identifier: GPL-2.0 */
2c6e6eff4SRajendra Nayak /* Copyright (c) 2018, The Linux Foundation. All rights reserved. */
3c6e6eff4SRajendra Nayak 
4c6e6eff4SRajendra Nayak #ifndef _DT_BINDINGS_POWER_QCOM_RPMPD_H
5c6e6eff4SRajendra Nayak #define _DT_BINDINGS_POWER_QCOM_RPMPD_H
6c6e6eff4SRajendra Nayak 
7c6e6eff4SRajendra Nayak /* SDM845 Power Domain Indexes */
8c6e6eff4SRajendra Nayak #define SDM845_EBI	0
9c6e6eff4SRajendra Nayak #define SDM845_MX	1
10c6e6eff4SRajendra Nayak #define SDM845_MX_AO	2
11c6e6eff4SRajendra Nayak #define SDM845_CX	3
12c6e6eff4SRajendra Nayak #define SDM845_CX_AO	4
13c6e6eff4SRajendra Nayak #define SDM845_LMX	5
14c6e6eff4SRajendra Nayak #define SDM845_LCX	6
15c6e6eff4SRajendra Nayak #define SDM845_GFX	7
16c6e6eff4SRajendra Nayak #define SDM845_MSS	8
17c6e6eff4SRajendra Nayak 
18f365bd33SVinod Koul /* SDX55 Power Domain Indexes */
19f365bd33SVinod Koul #define SDX55_MSS	0
20f365bd33SVinod Koul #define SDX55_MX	1
21f365bd33SVinod Koul #define SDX55_CX	2
22f365bd33SVinod Koul 
23ccc70635SRohit Agarwal /* SDX65 Power Domain Indexes */
24ccc70635SRohit Agarwal #define SDX65_MSS	0
25ccc70635SRohit Agarwal #define SDX65_MX	1
26ccc70635SRohit Agarwal #define SDX65_MX_AO	2
27ccc70635SRohit Agarwal #define SDX65_CX	3
28ccc70635SRohit Agarwal #define SDX65_CX_AO	4
29ccc70635SRohit Agarwal #define SDX65_MXC	5
30ccc70635SRohit Agarwal 
3192dde327SKonrad Dybcio /* SM6350 Power Domain Indexes */
3292dde327SKonrad Dybcio #define SM6350_CX	0
3392dde327SKonrad Dybcio #define SM6350_GFX	1
3492dde327SKonrad Dybcio #define SM6350_LCX	2
3592dde327SKonrad Dybcio #define SM6350_LMX	3
3692dde327SKonrad Dybcio #define SM6350_MSS	4
3792dde327SKonrad Dybcio #define SM6350_MX	5
3892dde327SKonrad Dybcio 
3918ec173dSSibi Sankar /* SM8150 Power Domain Indexes */
4018ec173dSSibi Sankar #define SM8150_MSS	0
4118ec173dSSibi Sankar #define SM8150_EBI	1
4218ec173dSSibi Sankar #define SM8150_LMX	2
4318ec173dSSibi Sankar #define SM8150_LCX	3
4418ec173dSSibi Sankar #define SM8150_GFX	4
4518ec173dSSibi Sankar #define SM8150_MX	5
4618ec173dSSibi Sankar #define SM8150_MX_AO	6
4718ec173dSSibi Sankar #define SM8150_CX	7
4818ec173dSSibi Sankar #define SM8150_CX_AO	8
4918ec173dSSibi Sankar #define SM8150_MMCX	9
5018ec173dSSibi Sankar #define SM8150_MMCX_AO	10
5118ec173dSSibi Sankar 
5264016bb8SBjorn Andersson /* SM8250 Power Domain Indexes */
5364016bb8SBjorn Andersson #define SM8250_CX	0
5464016bb8SBjorn Andersson #define SM8250_CX_AO	1
5564016bb8SBjorn Andersson #define SM8250_EBI	2
5664016bb8SBjorn Andersson #define SM8250_GFX	3
5764016bb8SBjorn Andersson #define SM8250_LCX	4
5864016bb8SBjorn Andersson #define SM8250_LMX	5
5964016bb8SBjorn Andersson #define SM8250_MMCX	6
6064016bb8SBjorn Andersson #define SM8250_MMCX_AO	7
6164016bb8SBjorn Andersson #define SM8250_MX	8
6264016bb8SBjorn Andersson #define SM8250_MX_AO	9
6364016bb8SBjorn Andersson 
64f20b61b8SVinod Koul /* SM8350 Power Domain Indexes */
65f20b61b8SVinod Koul #define SM8350_CX	0
66f20b61b8SVinod Koul #define SM8350_CX_AO	1
67f20b61b8SVinod Koul #define SM8350_EBI	2
68f20b61b8SVinod Koul #define SM8350_GFX	3
69f20b61b8SVinod Koul #define SM8350_LCX	4
70f20b61b8SVinod Koul #define SM8350_LMX	5
71f20b61b8SVinod Koul #define SM8350_MMCX	6
72f20b61b8SVinod Koul #define SM8350_MMCX_AO	7
73f20b61b8SVinod Koul #define SM8350_MX	8
74f20b61b8SVinod Koul #define SM8350_MX_AO	9
75f20b61b8SVinod Koul #define SM8350_MXC	10
76f20b61b8SVinod Koul #define SM8350_MXC_AO	11
77f20b61b8SVinod Koul #define SM8350_MSS	12
78f20b61b8SVinod Koul 
7922c75570SDmitry Baryshkov /* SM8450 Power Domain Indexes */
8022c75570SDmitry Baryshkov #define SM8450_CX	0
8122c75570SDmitry Baryshkov #define SM8450_CX_AO	1
8222c75570SDmitry Baryshkov #define SM8450_EBI	2
8322c75570SDmitry Baryshkov #define SM8450_GFX	3
8422c75570SDmitry Baryshkov #define SM8450_LCX	4
8522c75570SDmitry Baryshkov #define SM8450_LMX	5
8622c75570SDmitry Baryshkov #define SM8450_MMCX	6
8722c75570SDmitry Baryshkov #define SM8450_MMCX_AO	7
8822c75570SDmitry Baryshkov #define SM8450_MX	8
8922c75570SDmitry Baryshkov #define SM8450_MX_AO	9
9022c75570SDmitry Baryshkov #define SM8450_MXC	10
9122c75570SDmitry Baryshkov #define SM8450_MXC_AO	11
9222c75570SDmitry Baryshkov #define SM8450_MSS	12
9322c75570SDmitry Baryshkov 
9452a4cb57SSibi Sankar /* SC7180 Power Domain Indexes */
9552a4cb57SSibi Sankar #define SC7180_CX	0
9652a4cb57SSibi Sankar #define SC7180_CX_AO	1
9752a4cb57SSibi Sankar #define SC7180_GFX	2
9852a4cb57SSibi Sankar #define SC7180_MX	3
9952a4cb57SSibi Sankar #define SC7180_MX_AO	4
10052a4cb57SSibi Sankar #define SC7180_LMX	5
10152a4cb57SSibi Sankar #define SC7180_LCX	6
10252a4cb57SSibi Sankar #define SC7180_MSS	7
10352a4cb57SSibi Sankar 
1049a3e49d7SRajendra Nayak /* SC7280 Power Domain Indexes */
1059a3e49d7SRajendra Nayak #define SC7280_CX	0
1069a3e49d7SRajendra Nayak #define SC7280_CX_AO	1
1079a3e49d7SRajendra Nayak #define SC7280_EBI	2
1089a3e49d7SRajendra Nayak #define SC7280_GFX	3
1099a3e49d7SRajendra Nayak #define SC7280_MX	4
1109a3e49d7SRajendra Nayak #define SC7280_MX_AO	5
1119a3e49d7SRajendra Nayak #define SC7280_LMX	6
1129a3e49d7SRajendra Nayak #define SC7280_LCX	7
1139a3e49d7SRajendra Nayak #define SC7280_MSS	8
1149a3e49d7SRajendra Nayak 
115dfa3d406SBjorn Andersson /* SC8180X Power Domain Indexes */
116dfa3d406SBjorn Andersson #define SC8180X_CX	0
117dfa3d406SBjorn Andersson #define SC8180X_CX_AO	1
118dfa3d406SBjorn Andersson #define SC8180X_EBI	2
119dfa3d406SBjorn Andersson #define SC8180X_GFX	3
120dfa3d406SBjorn Andersson #define SC8180X_LCX	4
121dfa3d406SBjorn Andersson #define SC8180X_LMX	5
122dfa3d406SBjorn Andersson #define SC8180X_MMCX	6
123dfa3d406SBjorn Andersson #define SC8180X_MMCX_AO	7
124dfa3d406SBjorn Andersson #define SC8180X_MSS	8
125dfa3d406SBjorn Andersson #define SC8180X_MX	9
126dfa3d406SBjorn Andersson #define SC8180X_MX_AO	10
127dfa3d406SBjorn Andersson 
128*dbfb5f94SBjorn Andersson /* SC8280XP Power Domain Indexes */
129*dbfb5f94SBjorn Andersson #define SC8280XP_CX		0
130*dbfb5f94SBjorn Andersson #define SC8280XP_CX_AO		1
131*dbfb5f94SBjorn Andersson #define SC8280XP_DDR		2
132*dbfb5f94SBjorn Andersson #define SC8280XP_EBI		3
133*dbfb5f94SBjorn Andersson #define SC8280XP_GFX		4
134*dbfb5f94SBjorn Andersson #define SC8280XP_LCX		5
135*dbfb5f94SBjorn Andersson #define SC8280XP_LMX		6
136*dbfb5f94SBjorn Andersson #define SC8280XP_MMCX		7
137*dbfb5f94SBjorn Andersson #define SC8280XP_MMCX_AO	8
138*dbfb5f94SBjorn Andersson #define SC8280XP_MSS		9
139*dbfb5f94SBjorn Andersson #define SC8280XP_MX		10
140*dbfb5f94SBjorn Andersson #define SC8280XP_MXC		12
141*dbfb5f94SBjorn Andersson #define SC8280XP_MX_AO		11
142*dbfb5f94SBjorn Andersson #define SC8280XP_NSP		13
143*dbfb5f94SBjorn Andersson #define SC8280XP_QPHY		14
144*dbfb5f94SBjorn Andersson #define SC8280XP_XO		15
145*dbfb5f94SBjorn Andersson 
146c6e6eff4SRajendra Nayak /* SDM845 Power Domain performance levels */
147c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_RETENTION	16
148c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_MIN_SVS	48
149c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_LOW_SVS	64
150c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_SVS	128
15187b517a8SJonathan Marek #define RPMH_REGULATOR_LEVEL_SVS_L0	144
152c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_SVS_L1	192
15318ec173dSSibi Sankar #define RPMH_REGULATOR_LEVEL_SVS_L2	224
154c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_NOM	256
155c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_NOM_L1	320
156c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_NOM_L2	336
157c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_TURBO	384
158c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_TURBO_L1	416
159c6e6eff4SRajendra Nayak 
160af32011fSKonrad Dybcio /* MDM9607 Power Domains */
161af32011fSKonrad Dybcio #define MDM9607_VDDCX		0
162af32011fSKonrad Dybcio #define MDM9607_VDDCX_AO	1
163af32011fSKonrad Dybcio #define MDM9607_VDDCX_VFL	2
164af32011fSKonrad Dybcio #define MDM9607_VDDMX		3
165af32011fSKonrad Dybcio #define MDM9607_VDDMX_AO	4
166af32011fSKonrad Dybcio #define MDM9607_VDDMX_VFL	5
167af32011fSKonrad Dybcio 
168d1483636SLuca Weiss /* MSM8226 Power Domain Indexes */
169d1483636SLuca Weiss #define MSM8226_VDDCX		0
170d1483636SLuca Weiss #define MSM8226_VDDCX_AO	1
171d1483636SLuca Weiss #define MSM8226_VDDCX_VFC	2
172d1483636SLuca Weiss 
1731dd50f17SJun Nie /* MSM8939 Power Domains */
1741dd50f17SJun Nie #define MSM8939_VDDMDCX		0
1751dd50f17SJun Nie #define MSM8939_VDDMDCX_AO	1
1761dd50f17SJun Nie #define MSM8939_VDDMDCX_VFC	2
1771dd50f17SJun Nie #define MSM8939_VDDCX		3
1781dd50f17SJun Nie #define MSM8939_VDDCX_AO	4
1791dd50f17SJun Nie #define MSM8939_VDDCX_VFC	5
1801dd50f17SJun Nie #define MSM8939_VDDMX		6
1811dd50f17SJun Nie #define MSM8939_VDDMX_AO	7
1821dd50f17SJun Nie 
183819f7d91SStephan Gerhold /* MSM8916 Power Domain Indexes */
184819f7d91SStephan Gerhold #define MSM8916_VDDCX		0
185819f7d91SStephan Gerhold #define MSM8916_VDDCX_AO	1
186819f7d91SStephan Gerhold #define MSM8916_VDDCX_VFC	2
187819f7d91SStephan Gerhold #define MSM8916_VDDMX		3
188819f7d91SStephan Gerhold #define MSM8916_VDDMX_AO	4
189819f7d91SStephan Gerhold 
190cdb6f604SVladimir Lypak /* MSM8953 Power Domain Indexes */
191cdb6f604SVladimir Lypak #define MSM8953_VDDMD		0
192cdb6f604SVladimir Lypak #define MSM8953_VDDMD_AO	1
193cdb6f604SVladimir Lypak #define MSM8953_VDDCX		2
194cdb6f604SVladimir Lypak #define MSM8953_VDDCX_AO	3
195cdb6f604SVladimir Lypak #define MSM8953_VDDCX_VFL	4
196cdb6f604SVladimir Lypak #define MSM8953_VDDMX		5
197cdb6f604SVladimir Lypak #define MSM8953_VDDMX_AO	6
198cdb6f604SVladimir Lypak 
199b1d52244SAngeloGioacchino Del Regno /* MSM8976 Power Domain Indexes */
200b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDCX		0
201b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDCX_AO	1
202b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDCX_VFL	2
203b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDMX		3
204b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDMX_AO	4
205b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDMX_VFL	5
206b1d52244SAngeloGioacchino Del Regno 
20743eb76a2SKonrad Dybcio /* MSM8994 Power Domain Indexes */
20843eb76a2SKonrad Dybcio #define MSM8994_VDDCX		0
20943eb76a2SKonrad Dybcio #define MSM8994_VDDCX_AO	1
21043eb76a2SKonrad Dybcio #define MSM8994_VDDCX_VFC	2
21143eb76a2SKonrad Dybcio #define MSM8994_VDDMX		3
21243eb76a2SKonrad Dybcio #define MSM8994_VDDMX_AO	4
21343eb76a2SKonrad Dybcio #define MSM8994_VDDGFX		5
21443eb76a2SKonrad Dybcio #define MSM8994_VDDGFX_VFC	6
21543eb76a2SKonrad Dybcio 
216c6e6eff4SRajendra Nayak /* MSM8996 Power Domain Indexes */
217c6e6eff4SRajendra Nayak #define MSM8996_VDDCX		0
218c6e6eff4SRajendra Nayak #define MSM8996_VDDCX_AO	1
219c6e6eff4SRajendra Nayak #define MSM8996_VDDCX_VFC	2
220c6e6eff4SRajendra Nayak #define MSM8996_VDDMX		3
221c6e6eff4SRajendra Nayak #define MSM8996_VDDMX_AO	4
222c6e6eff4SRajendra Nayak #define MSM8996_VDDSSCX		5
223c6e6eff4SRajendra Nayak #define MSM8996_VDDSSCX_VFC	6
224c6e6eff4SRajendra Nayak 
225dec9a05aSSibi Sankar /* MSM8998 Power Domain Indexes */
226dec9a05aSSibi Sankar #define MSM8998_VDDCX		0
227dec9a05aSSibi Sankar #define MSM8998_VDDCX_AO	1
228dec9a05aSSibi Sankar #define MSM8998_VDDCX_VFL	2
229dec9a05aSSibi Sankar #define MSM8998_VDDMX		3
230dec9a05aSSibi Sankar #define MSM8998_VDDMX_AO	4
231dec9a05aSSibi Sankar #define MSM8998_VDDMX_VFL	5
232dec9a05aSSibi Sankar #define MSM8998_SSCCX		6
233dec9a05aSSibi Sankar #define MSM8998_SSCCX_VFL	7
234dec9a05aSSibi Sankar #define MSM8998_SSCMX		8
235dec9a05aSSibi Sankar #define MSM8998_SSCMX_VFL	9
236dec9a05aSSibi Sankar 
2370cb93b15SBjorn Andersson /* QCS404 Power Domains */
2380cb93b15SBjorn Andersson #define QCS404_VDDMX		0
2390cb93b15SBjorn Andersson #define QCS404_VDDMX_AO		1
2400cb93b15SBjorn Andersson #define QCS404_VDDMX_VFL	2
2410cb93b15SBjorn Andersson #define QCS404_LPICX		3
2420cb93b15SBjorn Andersson #define QCS404_LPICX_VFL	4
2430cb93b15SBjorn Andersson #define QCS404_LPIMX		5
2440cb93b15SBjorn Andersson #define QCS404_LPIMX_VFL	6
2450cb93b15SBjorn Andersson 
246ee84049cSKonrad Dybcio /* SDM660 Power Domains */
247ee84049cSKonrad Dybcio #define SDM660_VDDCX		0
248ee84049cSKonrad Dybcio #define SDM660_VDDCX_AO		1
249ee84049cSKonrad Dybcio #define SDM660_VDDCX_VFL	2
250ee84049cSKonrad Dybcio #define SDM660_VDDMX		3
251ee84049cSKonrad Dybcio #define SDM660_VDDMX_AO		4
252ee84049cSKonrad Dybcio #define SDM660_VDDMX_VFL	5
253ee84049cSKonrad Dybcio #define SDM660_SSCCX		6
254ee84049cSKonrad Dybcio #define SDM660_SSCCX_VFL	7
255ee84049cSKonrad Dybcio #define SDM660_SSCMX		8
256ee84049cSKonrad Dybcio #define SDM660_SSCMX_VFL	9
257ee84049cSKonrad Dybcio 
25849a22c4aSIskren Chernev /* SM6115 Power Domains */
25949a22c4aSIskren Chernev #define SM6115_VDDCX		0
26049a22c4aSIskren Chernev #define SM6115_VDDCX_AO		1
26149a22c4aSIskren Chernev #define SM6115_VDDCX_VFL	2
26249a22c4aSIskren Chernev #define SM6115_VDDMX		3
26349a22c4aSIskren Chernev #define SM6115_VDDMX_AO		4
26449a22c4aSIskren Chernev #define SM6115_VDDMX_VFL	5
26549a22c4aSIskren Chernev #define SM6115_VDD_LPI_CX	6
26649a22c4aSIskren Chernev #define SM6115_VDD_LPI_MX	7
26749a22c4aSIskren Chernev 
26887121077SMartin Botka /* SM6125 Power Domains */
26987121077SMartin Botka #define SM6125_VDDCX		0
27087121077SMartin Botka #define SM6125_VDDCX_AO		1
27187121077SMartin Botka #define SM6125_VDDCX_VFL	2
27287121077SMartin Botka #define SM6125_VDDMX		3
27387121077SMartin Botka #define SM6125_VDDMX_AO		4
27487121077SMartin Botka #define SM6125_VDDMX_VFL	5
27587121077SMartin Botka 
2762475fcfbSShawn Guo /* QCM2290 Power Domains */
2772475fcfbSShawn Guo #define QCM2290_VDDCX		0
2782475fcfbSShawn Guo #define QCM2290_VDDCX_AO	1
2792475fcfbSShawn Guo #define QCM2290_VDDCX_VFL	2
2802475fcfbSShawn Guo #define QCM2290_VDDMX		3
2812475fcfbSShawn Guo #define QCM2290_VDDMX_AO	4
2822475fcfbSShawn Guo #define QCM2290_VDDMX_VFL	5
2832475fcfbSShawn Guo #define QCM2290_VDD_LPI_CX	6
2842475fcfbSShawn Guo #define QCM2290_VDD_LPI_MX	7
2852475fcfbSShawn Guo 
2860cb93b15SBjorn Andersson /* RPM SMD Power Domain performance levels */
2870cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_RETENTION       16
2880cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_RETENTION_PLUS  32
2890cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_MIN_SVS         48
2900cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_LOW_SVS         64
2910cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_SVS             128
2920cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_SVS_PLUS        192
2930cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_NOM             256
2940cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_NOM_PLUS        320
2950cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_TURBO           384
2960cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_TURBO_NO_CPR    416
2974bc6aadbSAngelo G. Del Regno #define RPM_SMD_LEVEL_TURBO_HIGH      448
2980cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_BINNING         512
2990cb93b15SBjorn Andersson 
300c6e6eff4SRajendra Nayak #endif
301