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 
84*dfa3d406SBjorn Andersson /* SC8180X Power Domain Indexes */
85*dfa3d406SBjorn Andersson #define SC8180X_CX	0
86*dfa3d406SBjorn Andersson #define SC8180X_CX_AO	1
87*dfa3d406SBjorn Andersson #define SC8180X_EBI	2
88*dfa3d406SBjorn Andersson #define SC8180X_GFX	3
89*dfa3d406SBjorn Andersson #define SC8180X_LCX	4
90*dfa3d406SBjorn Andersson #define SC8180X_LMX	5
91*dfa3d406SBjorn Andersson #define SC8180X_MMCX	6
92*dfa3d406SBjorn Andersson #define SC8180X_MMCX_AO	7
93*dfa3d406SBjorn Andersson #define SC8180X_MSS	8
94*dfa3d406SBjorn Andersson #define SC8180X_MX	9
95*dfa3d406SBjorn Andersson #define SC8180X_MX_AO	10
96*dfa3d406SBjorn 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 
1111dd50f17SJun Nie /* MSM8939 Power Domains */
1121dd50f17SJun Nie #define MSM8939_VDDMDCX		0
1131dd50f17SJun Nie #define MSM8939_VDDMDCX_AO	1
1141dd50f17SJun Nie #define MSM8939_VDDMDCX_VFC	2
1151dd50f17SJun Nie #define MSM8939_VDDCX		3
1161dd50f17SJun Nie #define MSM8939_VDDCX_AO	4
1171dd50f17SJun Nie #define MSM8939_VDDCX_VFC	5
1181dd50f17SJun Nie #define MSM8939_VDDMX		6
1191dd50f17SJun Nie #define MSM8939_VDDMX_AO	7
1201dd50f17SJun Nie 
121819f7d91SStephan Gerhold /* MSM8916 Power Domain Indexes */
122819f7d91SStephan Gerhold #define MSM8916_VDDCX		0
123819f7d91SStephan Gerhold #define MSM8916_VDDCX_AO	1
124819f7d91SStephan Gerhold #define MSM8916_VDDCX_VFC	2
125819f7d91SStephan Gerhold #define MSM8916_VDDMX		3
126819f7d91SStephan Gerhold #define MSM8916_VDDMX_AO	4
127819f7d91SStephan Gerhold 
128b1d52244SAngeloGioacchino Del Regno /* MSM8976 Power Domain Indexes */
129b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDCX		0
130b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDCX_AO	1
131b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDCX_VFL	2
132b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDMX		3
133b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDMX_AO	4
134b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDMX_VFL	5
135b1d52244SAngeloGioacchino Del Regno 
13643eb76a2SKonrad Dybcio /* MSM8994 Power Domain Indexes */
13743eb76a2SKonrad Dybcio #define MSM8994_VDDCX		0
13843eb76a2SKonrad Dybcio #define MSM8994_VDDCX_AO	1
13943eb76a2SKonrad Dybcio #define MSM8994_VDDCX_VFC	2
14043eb76a2SKonrad Dybcio #define MSM8994_VDDMX		3
14143eb76a2SKonrad Dybcio #define MSM8994_VDDMX_AO	4
14243eb76a2SKonrad Dybcio #define MSM8994_VDDGFX		5
14343eb76a2SKonrad Dybcio #define MSM8994_VDDGFX_VFC	6
14443eb76a2SKonrad Dybcio 
145c6e6eff4SRajendra Nayak /* MSM8996 Power Domain Indexes */
146c6e6eff4SRajendra Nayak #define MSM8996_VDDCX		0
147c6e6eff4SRajendra Nayak #define MSM8996_VDDCX_AO	1
148c6e6eff4SRajendra Nayak #define MSM8996_VDDCX_VFC	2
149c6e6eff4SRajendra Nayak #define MSM8996_VDDMX		3
150c6e6eff4SRajendra Nayak #define MSM8996_VDDMX_AO	4
151c6e6eff4SRajendra Nayak #define MSM8996_VDDSSCX		5
152c6e6eff4SRajendra Nayak #define MSM8996_VDDSSCX_VFC	6
153c6e6eff4SRajendra Nayak 
154dec9a05aSSibi Sankar /* MSM8998 Power Domain Indexes */
155dec9a05aSSibi Sankar #define MSM8998_VDDCX		0
156dec9a05aSSibi Sankar #define MSM8998_VDDCX_AO	1
157dec9a05aSSibi Sankar #define MSM8998_VDDCX_VFL	2
158dec9a05aSSibi Sankar #define MSM8998_VDDMX		3
159dec9a05aSSibi Sankar #define MSM8998_VDDMX_AO	4
160dec9a05aSSibi Sankar #define MSM8998_VDDMX_VFL	5
161dec9a05aSSibi Sankar #define MSM8998_SSCCX		6
162dec9a05aSSibi Sankar #define MSM8998_SSCCX_VFL	7
163dec9a05aSSibi Sankar #define MSM8998_SSCMX		8
164dec9a05aSSibi Sankar #define MSM8998_SSCMX_VFL	9
165dec9a05aSSibi Sankar 
1660cb93b15SBjorn Andersson /* QCS404 Power Domains */
1670cb93b15SBjorn Andersson #define QCS404_VDDMX		0
1680cb93b15SBjorn Andersson #define QCS404_VDDMX_AO		1
1690cb93b15SBjorn Andersson #define QCS404_VDDMX_VFL	2
1700cb93b15SBjorn Andersson #define QCS404_LPICX		3
1710cb93b15SBjorn Andersson #define QCS404_LPICX_VFL	4
1720cb93b15SBjorn Andersson #define QCS404_LPIMX		5
1730cb93b15SBjorn Andersson #define QCS404_LPIMX_VFL	6
1740cb93b15SBjorn Andersson 
175ee84049cSKonrad Dybcio /* SDM660 Power Domains */
176ee84049cSKonrad Dybcio #define SDM660_VDDCX		0
177ee84049cSKonrad Dybcio #define SDM660_VDDCX_AO		1
178ee84049cSKonrad Dybcio #define SDM660_VDDCX_VFL	2
179ee84049cSKonrad Dybcio #define SDM660_VDDMX		3
180ee84049cSKonrad Dybcio #define SDM660_VDDMX_AO		4
181ee84049cSKonrad Dybcio #define SDM660_VDDMX_VFL	5
182ee84049cSKonrad Dybcio #define SDM660_SSCCX		6
183ee84049cSKonrad Dybcio #define SDM660_SSCCX_VFL	7
184ee84049cSKonrad Dybcio #define SDM660_SSCMX		8
185ee84049cSKonrad Dybcio #define SDM660_SSCMX_VFL	9
186ee84049cSKonrad Dybcio 
1870cb93b15SBjorn Andersson /* RPM SMD Power Domain performance levels */
1880cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_RETENTION       16
1890cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_RETENTION_PLUS  32
1900cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_MIN_SVS         48
1910cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_LOW_SVS         64
1920cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_SVS             128
1930cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_SVS_PLUS        192
1940cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_NOM             256
1950cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_NOM_PLUS        320
1960cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_TURBO           384
1970cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_TURBO_NO_CPR    416
1984bc6aadbSAngelo G. Del Regno #define RPM_SMD_LEVEL_TURBO_HIGH      448
1990cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_BINNING         512
2000cb93b15SBjorn Andersson 
201c6e6eff4SRajendra Nayak #endif
202