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 
1818ec173dSSibi Sankar /* SM8150 Power Domain Indexes */
1918ec173dSSibi Sankar #define SM8150_MSS	0
2018ec173dSSibi Sankar #define SM8150_EBI	1
2118ec173dSSibi Sankar #define SM8150_LMX	2
2218ec173dSSibi Sankar #define SM8150_LCX	3
2318ec173dSSibi Sankar #define SM8150_GFX	4
2418ec173dSSibi Sankar #define SM8150_MX	5
2518ec173dSSibi Sankar #define SM8150_MX_AO	6
2618ec173dSSibi Sankar #define SM8150_CX	7
2718ec173dSSibi Sankar #define SM8150_CX_AO	8
2818ec173dSSibi Sankar #define SM8150_MMCX	9
2918ec173dSSibi Sankar #define SM8150_MMCX_AO	10
3018ec173dSSibi Sankar 
3164016bb8SBjorn Andersson /* SM8250 Power Domain Indexes */
3264016bb8SBjorn Andersson #define SM8250_CX	0
3364016bb8SBjorn Andersson #define SM8250_CX_AO	1
3464016bb8SBjorn Andersson #define SM8250_EBI	2
3564016bb8SBjorn Andersson #define SM8250_GFX	3
3664016bb8SBjorn Andersson #define SM8250_LCX	4
3764016bb8SBjorn Andersson #define SM8250_LMX	5
3864016bb8SBjorn Andersson #define SM8250_MMCX	6
3964016bb8SBjorn Andersson #define SM8250_MMCX_AO	7
4064016bb8SBjorn Andersson #define SM8250_MX	8
4164016bb8SBjorn Andersson #define SM8250_MX_AO	9
4264016bb8SBjorn Andersson 
4352a4cb57SSibi Sankar /* SC7180 Power Domain Indexes */
4452a4cb57SSibi Sankar #define SC7180_CX	0
4552a4cb57SSibi Sankar #define SC7180_CX_AO	1
4652a4cb57SSibi Sankar #define SC7180_GFX	2
4752a4cb57SSibi Sankar #define SC7180_MX	3
4852a4cb57SSibi Sankar #define SC7180_MX_AO	4
4952a4cb57SSibi Sankar #define SC7180_LMX	5
5052a4cb57SSibi Sankar #define SC7180_LCX	6
5152a4cb57SSibi Sankar #define SC7180_MSS	7
5252a4cb57SSibi Sankar 
53c6e6eff4SRajendra Nayak /* SDM845 Power Domain performance levels */
54c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_RETENTION	16
55c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_MIN_SVS	48
56c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_LOW_SVS	64
57c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_SVS	128
5887b517a8SJonathan Marek #define RPMH_REGULATOR_LEVEL_SVS_L0	144
59c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_SVS_L1	192
6018ec173dSSibi Sankar #define RPMH_REGULATOR_LEVEL_SVS_L2	224
61c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_NOM	256
62c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_NOM_L1	320
63c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_NOM_L2	336
64c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_TURBO	384
65c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_TURBO_L1	416
66c6e6eff4SRajendra Nayak 
671dd50f17SJun Nie /* MSM8939 Power Domains */
681dd50f17SJun Nie #define MSM8939_VDDMDCX		0
691dd50f17SJun Nie #define MSM8939_VDDMDCX_AO	1
701dd50f17SJun Nie #define MSM8939_VDDMDCX_VFC	2
711dd50f17SJun Nie #define MSM8939_VDDCX		3
721dd50f17SJun Nie #define MSM8939_VDDCX_AO	4
731dd50f17SJun Nie #define MSM8939_VDDCX_VFC	5
741dd50f17SJun Nie #define MSM8939_VDDMX		6
751dd50f17SJun Nie #define MSM8939_VDDMX_AO	7
761dd50f17SJun Nie 
77*819f7d91SStephan Gerhold /* MSM8916 Power Domain Indexes */
78*819f7d91SStephan Gerhold #define MSM8916_VDDCX		0
79*819f7d91SStephan Gerhold #define MSM8916_VDDCX_AO	1
80*819f7d91SStephan Gerhold #define MSM8916_VDDCX_VFC	2
81*819f7d91SStephan Gerhold #define MSM8916_VDDMX		3
82*819f7d91SStephan Gerhold #define MSM8916_VDDMX_AO	4
83*819f7d91SStephan Gerhold 
84b1d52244SAngeloGioacchino Del Regno /* MSM8976 Power Domain Indexes */
85b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDCX		0
86b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDCX_AO	1
87b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDCX_VFL	2
88b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDMX		3
89b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDMX_AO	4
90b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDMX_VFL	5
91b1d52244SAngeloGioacchino Del Regno 
92c6e6eff4SRajendra Nayak /* MSM8996 Power Domain Indexes */
93c6e6eff4SRajendra Nayak #define MSM8996_VDDCX		0
94c6e6eff4SRajendra Nayak #define MSM8996_VDDCX_AO	1
95c6e6eff4SRajendra Nayak #define MSM8996_VDDCX_VFC	2
96c6e6eff4SRajendra Nayak #define MSM8996_VDDMX		3
97c6e6eff4SRajendra Nayak #define MSM8996_VDDMX_AO	4
98c6e6eff4SRajendra Nayak #define MSM8996_VDDSSCX		5
99c6e6eff4SRajendra Nayak #define MSM8996_VDDSSCX_VFC	6
100c6e6eff4SRajendra Nayak 
101dec9a05aSSibi Sankar /* MSM8998 Power Domain Indexes */
102dec9a05aSSibi Sankar #define MSM8998_VDDCX		0
103dec9a05aSSibi Sankar #define MSM8998_VDDCX_AO	1
104dec9a05aSSibi Sankar #define MSM8998_VDDCX_VFL	2
105dec9a05aSSibi Sankar #define MSM8998_VDDMX		3
106dec9a05aSSibi Sankar #define MSM8998_VDDMX_AO	4
107dec9a05aSSibi Sankar #define MSM8998_VDDMX_VFL	5
108dec9a05aSSibi Sankar #define MSM8998_SSCCX		6
109dec9a05aSSibi Sankar #define MSM8998_SSCCX_VFL	7
110dec9a05aSSibi Sankar #define MSM8998_SSCMX		8
111dec9a05aSSibi Sankar #define MSM8998_SSCMX_VFL	9
112dec9a05aSSibi Sankar 
1130cb93b15SBjorn Andersson /* QCS404 Power Domains */
1140cb93b15SBjorn Andersson #define QCS404_VDDMX		0
1150cb93b15SBjorn Andersson #define QCS404_VDDMX_AO		1
1160cb93b15SBjorn Andersson #define QCS404_VDDMX_VFL	2
1170cb93b15SBjorn Andersson #define QCS404_LPICX		3
1180cb93b15SBjorn Andersson #define QCS404_LPICX_VFL	4
1190cb93b15SBjorn Andersson #define QCS404_LPIMX		5
1200cb93b15SBjorn Andersson #define QCS404_LPIMX_VFL	6
1210cb93b15SBjorn Andersson 
122ee84049cSKonrad Dybcio /* SDM660 Power Domains */
123ee84049cSKonrad Dybcio #define SDM660_VDDCX		0
124ee84049cSKonrad Dybcio #define SDM660_VDDCX_AO		1
125ee84049cSKonrad Dybcio #define SDM660_VDDCX_VFL	2
126ee84049cSKonrad Dybcio #define SDM660_VDDMX		3
127ee84049cSKonrad Dybcio #define SDM660_VDDMX_AO		4
128ee84049cSKonrad Dybcio #define SDM660_VDDMX_VFL	5
129ee84049cSKonrad Dybcio #define SDM660_SSCCX		6
130ee84049cSKonrad Dybcio #define SDM660_SSCCX_VFL	7
131ee84049cSKonrad Dybcio #define SDM660_SSCMX		8
132ee84049cSKonrad Dybcio #define SDM660_SSCMX_VFL	9
133ee84049cSKonrad Dybcio 
1340cb93b15SBjorn Andersson /* RPM SMD Power Domain performance levels */
1350cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_RETENTION       16
1360cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_RETENTION_PLUS  32
1370cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_MIN_SVS         48
1380cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_LOW_SVS         64
1390cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_SVS             128
1400cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_SVS_PLUS        192
1410cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_NOM             256
1420cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_NOM_PLUS        320
1430cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_TURBO           384
1440cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_TURBO_NO_CPR    416
1454bc6aadbSAngelo G. Del Regno #define RPM_SMD_LEVEL_TURBO_HIGH      448
1460cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_BINNING         512
1470cb93b15SBjorn Andersson 
148c6e6eff4SRajendra Nayak #endif
149