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 
2318ec173dSSibi Sankar /* SM8150 Power Domain Indexes */
2418ec173dSSibi Sankar #define SM8150_MSS	0
2518ec173dSSibi Sankar #define SM8150_EBI	1
2618ec173dSSibi Sankar #define SM8150_LMX	2
2718ec173dSSibi Sankar #define SM8150_LCX	3
2818ec173dSSibi Sankar #define SM8150_GFX	4
2918ec173dSSibi Sankar #define SM8150_MX	5
3018ec173dSSibi Sankar #define SM8150_MX_AO	6
3118ec173dSSibi Sankar #define SM8150_CX	7
3218ec173dSSibi Sankar #define SM8150_CX_AO	8
3318ec173dSSibi Sankar #define SM8150_MMCX	9
3418ec173dSSibi Sankar #define SM8150_MMCX_AO	10
3518ec173dSSibi Sankar 
3664016bb8SBjorn Andersson /* SM8250 Power Domain Indexes */
3764016bb8SBjorn Andersson #define SM8250_CX	0
3864016bb8SBjorn Andersson #define SM8250_CX_AO	1
3964016bb8SBjorn Andersson #define SM8250_EBI	2
4064016bb8SBjorn Andersson #define SM8250_GFX	3
4164016bb8SBjorn Andersson #define SM8250_LCX	4
4264016bb8SBjorn Andersson #define SM8250_LMX	5
4364016bb8SBjorn Andersson #define SM8250_MMCX	6
4464016bb8SBjorn Andersson #define SM8250_MMCX_AO	7
4564016bb8SBjorn Andersson #define SM8250_MX	8
4664016bb8SBjorn Andersson #define SM8250_MX_AO	9
4764016bb8SBjorn Andersson 
48f20b61b8SVinod Koul /* SM8350 Power Domain Indexes */
49f20b61b8SVinod Koul #define SM8350_CX	0
50f20b61b8SVinod Koul #define SM8350_CX_AO	1
51f20b61b8SVinod Koul #define SM8350_EBI	2
52f20b61b8SVinod Koul #define SM8350_GFX	3
53f20b61b8SVinod Koul #define SM8350_LCX	4
54f20b61b8SVinod Koul #define SM8350_LMX	5
55f20b61b8SVinod Koul #define SM8350_MMCX	6
56f20b61b8SVinod Koul #define SM8350_MMCX_AO	7
57f20b61b8SVinod Koul #define SM8350_MX	8
58f20b61b8SVinod Koul #define SM8350_MX_AO	9
59f20b61b8SVinod Koul #define SM8350_MXC	10
60f20b61b8SVinod Koul #define SM8350_MXC_AO	11
61f20b61b8SVinod Koul #define SM8350_MSS	12
62f20b61b8SVinod Koul 
6352a4cb57SSibi Sankar /* SC7180 Power Domain Indexes */
6452a4cb57SSibi Sankar #define SC7180_CX	0
6552a4cb57SSibi Sankar #define SC7180_CX_AO	1
6652a4cb57SSibi Sankar #define SC7180_GFX	2
6752a4cb57SSibi Sankar #define SC7180_MX	3
6852a4cb57SSibi Sankar #define SC7180_MX_AO	4
6952a4cb57SSibi Sankar #define SC7180_LMX	5
7052a4cb57SSibi Sankar #define SC7180_LCX	6
7152a4cb57SSibi Sankar #define SC7180_MSS	7
7252a4cb57SSibi Sankar 
739a3e49d7SRajendra Nayak /* SC7280 Power Domain Indexes */
749a3e49d7SRajendra Nayak #define SC7280_CX	0
759a3e49d7SRajendra Nayak #define SC7280_CX_AO	1
769a3e49d7SRajendra Nayak #define SC7280_EBI	2
779a3e49d7SRajendra Nayak #define SC7280_GFX	3
789a3e49d7SRajendra Nayak #define SC7280_MX	4
799a3e49d7SRajendra Nayak #define SC7280_MX_AO	5
809a3e49d7SRajendra Nayak #define SC7280_LMX	6
819a3e49d7SRajendra Nayak #define SC7280_LCX	7
829a3e49d7SRajendra Nayak #define SC7280_MSS	8
839a3e49d7SRajendra Nayak 
84dfa3d406SBjorn Andersson /* SC8180X Power Domain Indexes */
85dfa3d406SBjorn Andersson #define SC8180X_CX	0
86dfa3d406SBjorn Andersson #define SC8180X_CX_AO	1
87dfa3d406SBjorn Andersson #define SC8180X_EBI	2
88dfa3d406SBjorn Andersson #define SC8180X_GFX	3
89dfa3d406SBjorn Andersson #define SC8180X_LCX	4
90dfa3d406SBjorn Andersson #define SC8180X_LMX	5
91dfa3d406SBjorn Andersson #define SC8180X_MMCX	6
92dfa3d406SBjorn Andersson #define SC8180X_MMCX_AO	7
93dfa3d406SBjorn Andersson #define SC8180X_MSS	8
94dfa3d406SBjorn Andersson #define SC8180X_MX	9
95dfa3d406SBjorn Andersson #define SC8180X_MX_AO	10
96dfa3d406SBjorn Andersson 
97c6e6eff4SRajendra Nayak /* SDM845 Power Domain performance levels */
98c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_RETENTION	16
99c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_MIN_SVS	48
100c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_LOW_SVS	64
101c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_SVS	128
10287b517a8SJonathan Marek #define RPMH_REGULATOR_LEVEL_SVS_L0	144
103c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_SVS_L1	192
10418ec173dSSibi Sankar #define RPMH_REGULATOR_LEVEL_SVS_L2	224
105c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_NOM	256
106c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_NOM_L1	320
107c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_NOM_L2	336
108c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_TURBO	384
109c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_TURBO_L1	416
110c6e6eff4SRajendra Nayak 
111af32011fSKonrad Dybcio /* MDM9607 Power Domains */
112af32011fSKonrad Dybcio #define MDM9607_VDDCX		0
113af32011fSKonrad Dybcio #define MDM9607_VDDCX_AO	1
114af32011fSKonrad Dybcio #define MDM9607_VDDCX_VFL	2
115af32011fSKonrad Dybcio #define MDM9607_VDDMX		3
116af32011fSKonrad Dybcio #define MDM9607_VDDMX_AO	4
117af32011fSKonrad Dybcio #define MDM9607_VDDMX_VFL	5
118af32011fSKonrad Dybcio 
1191dd50f17SJun Nie /* MSM8939 Power Domains */
1201dd50f17SJun Nie #define MSM8939_VDDMDCX		0
1211dd50f17SJun Nie #define MSM8939_VDDMDCX_AO	1
1221dd50f17SJun Nie #define MSM8939_VDDMDCX_VFC	2
1231dd50f17SJun Nie #define MSM8939_VDDCX		3
1241dd50f17SJun Nie #define MSM8939_VDDCX_AO	4
1251dd50f17SJun Nie #define MSM8939_VDDCX_VFC	5
1261dd50f17SJun Nie #define MSM8939_VDDMX		6
1271dd50f17SJun Nie #define MSM8939_VDDMX_AO	7
1281dd50f17SJun Nie 
129819f7d91SStephan Gerhold /* MSM8916 Power Domain Indexes */
130819f7d91SStephan Gerhold #define MSM8916_VDDCX		0
131819f7d91SStephan Gerhold #define MSM8916_VDDCX_AO	1
132819f7d91SStephan Gerhold #define MSM8916_VDDCX_VFC	2
133819f7d91SStephan Gerhold #define MSM8916_VDDMX		3
134819f7d91SStephan Gerhold #define MSM8916_VDDMX_AO	4
135819f7d91SStephan Gerhold 
136*cdb6f604SVladimir Lypak /* MSM8953 Power Domain Indexes */
137*cdb6f604SVladimir Lypak #define MSM8953_VDDMD		0
138*cdb6f604SVladimir Lypak #define MSM8953_VDDMD_AO	1
139*cdb6f604SVladimir Lypak #define MSM8953_VDDCX		2
140*cdb6f604SVladimir Lypak #define MSM8953_VDDCX_AO	3
141*cdb6f604SVladimir Lypak #define MSM8953_VDDCX_VFL	4
142*cdb6f604SVladimir Lypak #define MSM8953_VDDMX		5
143*cdb6f604SVladimir Lypak #define MSM8953_VDDMX_AO	6
144*cdb6f604SVladimir Lypak 
145b1d52244SAngeloGioacchino Del Regno /* MSM8976 Power Domain Indexes */
146b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDCX		0
147b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDCX_AO	1
148b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDCX_VFL	2
149b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDMX		3
150b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDMX_AO	4
151b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDMX_VFL	5
152b1d52244SAngeloGioacchino Del Regno 
15343eb76a2SKonrad Dybcio /* MSM8994 Power Domain Indexes */
15443eb76a2SKonrad Dybcio #define MSM8994_VDDCX		0
15543eb76a2SKonrad Dybcio #define MSM8994_VDDCX_AO	1
15643eb76a2SKonrad Dybcio #define MSM8994_VDDCX_VFC	2
15743eb76a2SKonrad Dybcio #define MSM8994_VDDMX		3
15843eb76a2SKonrad Dybcio #define MSM8994_VDDMX_AO	4
15943eb76a2SKonrad Dybcio #define MSM8994_VDDGFX		5
16043eb76a2SKonrad Dybcio #define MSM8994_VDDGFX_VFC	6
16143eb76a2SKonrad Dybcio 
162c6e6eff4SRajendra Nayak /* MSM8996 Power Domain Indexes */
163c6e6eff4SRajendra Nayak #define MSM8996_VDDCX		0
164c6e6eff4SRajendra Nayak #define MSM8996_VDDCX_AO	1
165c6e6eff4SRajendra Nayak #define MSM8996_VDDCX_VFC	2
166c6e6eff4SRajendra Nayak #define MSM8996_VDDMX		3
167c6e6eff4SRajendra Nayak #define MSM8996_VDDMX_AO	4
168c6e6eff4SRajendra Nayak #define MSM8996_VDDSSCX		5
169c6e6eff4SRajendra Nayak #define MSM8996_VDDSSCX_VFC	6
170c6e6eff4SRajendra Nayak 
171dec9a05aSSibi Sankar /* MSM8998 Power Domain Indexes */
172dec9a05aSSibi Sankar #define MSM8998_VDDCX		0
173dec9a05aSSibi Sankar #define MSM8998_VDDCX_AO	1
174dec9a05aSSibi Sankar #define MSM8998_VDDCX_VFL	2
175dec9a05aSSibi Sankar #define MSM8998_VDDMX		3
176dec9a05aSSibi Sankar #define MSM8998_VDDMX_AO	4
177dec9a05aSSibi Sankar #define MSM8998_VDDMX_VFL	5
178dec9a05aSSibi Sankar #define MSM8998_SSCCX		6
179dec9a05aSSibi Sankar #define MSM8998_SSCCX_VFL	7
180dec9a05aSSibi Sankar #define MSM8998_SSCMX		8
181dec9a05aSSibi Sankar #define MSM8998_SSCMX_VFL	9
182dec9a05aSSibi Sankar 
1830cb93b15SBjorn Andersson /* QCS404 Power Domains */
1840cb93b15SBjorn Andersson #define QCS404_VDDMX		0
1850cb93b15SBjorn Andersson #define QCS404_VDDMX_AO		1
1860cb93b15SBjorn Andersson #define QCS404_VDDMX_VFL	2
1870cb93b15SBjorn Andersson #define QCS404_LPICX		3
1880cb93b15SBjorn Andersson #define QCS404_LPICX_VFL	4
1890cb93b15SBjorn Andersson #define QCS404_LPIMX		5
1900cb93b15SBjorn Andersson #define QCS404_LPIMX_VFL	6
1910cb93b15SBjorn Andersson 
192ee84049cSKonrad Dybcio /* SDM660 Power Domains */
193ee84049cSKonrad Dybcio #define SDM660_VDDCX		0
194ee84049cSKonrad Dybcio #define SDM660_VDDCX_AO		1
195ee84049cSKonrad Dybcio #define SDM660_VDDCX_VFL	2
196ee84049cSKonrad Dybcio #define SDM660_VDDMX		3
197ee84049cSKonrad Dybcio #define SDM660_VDDMX_AO		4
198ee84049cSKonrad Dybcio #define SDM660_VDDMX_VFL	5
199ee84049cSKonrad Dybcio #define SDM660_SSCCX		6
200ee84049cSKonrad Dybcio #define SDM660_SSCCX_VFL	7
201ee84049cSKonrad Dybcio #define SDM660_SSCMX		8
202ee84049cSKonrad Dybcio #define SDM660_SSCMX_VFL	9
203ee84049cSKonrad Dybcio 
20449a22c4aSIskren Chernev /* SM6115 Power Domains */
20549a22c4aSIskren Chernev #define SM6115_VDDCX		0
20649a22c4aSIskren Chernev #define SM6115_VDDCX_AO		1
20749a22c4aSIskren Chernev #define SM6115_VDDCX_VFL	2
20849a22c4aSIskren Chernev #define SM6115_VDDMX		3
20949a22c4aSIskren Chernev #define SM6115_VDDMX_AO		4
21049a22c4aSIskren Chernev #define SM6115_VDDMX_VFL	5
21149a22c4aSIskren Chernev #define SM6115_VDD_LPI_CX	6
21249a22c4aSIskren Chernev #define SM6115_VDD_LPI_MX	7
21349a22c4aSIskren Chernev 
2140cb93b15SBjorn Andersson /* RPM SMD Power Domain performance levels */
2150cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_RETENTION       16
2160cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_RETENTION_PLUS  32
2170cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_MIN_SVS         48
2180cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_LOW_SVS         64
2190cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_SVS             128
2200cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_SVS_PLUS        192
2210cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_NOM             256
2220cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_NOM_PLUS        320
2230cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_TURBO           384
2240cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_TURBO_NO_CPR    416
2254bc6aadbSAngelo G. Del Regno #define RPM_SMD_LEVEL_TURBO_HIGH      448
2260cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_BINNING         512
2270cb93b15SBjorn Andersson 
228c6e6eff4SRajendra Nayak #endif
229