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 
48*f20b61b8SVinod Koul /* SM8350 Power Domain Indexes */
49*f20b61b8SVinod Koul #define SM8350_CX	0
50*f20b61b8SVinod Koul #define SM8350_CX_AO	1
51*f20b61b8SVinod Koul #define SM8350_EBI	2
52*f20b61b8SVinod Koul #define SM8350_GFX	3
53*f20b61b8SVinod Koul #define SM8350_LCX	4
54*f20b61b8SVinod Koul #define SM8350_LMX	5
55*f20b61b8SVinod Koul #define SM8350_MMCX	6
56*f20b61b8SVinod Koul #define SM8350_MMCX_AO	7
57*f20b61b8SVinod Koul #define SM8350_MX	8
58*f20b61b8SVinod Koul #define SM8350_MX_AO	9
59*f20b61b8SVinod Koul #define SM8350_MXC	10
60*f20b61b8SVinod Koul #define SM8350_MXC_AO	11
61*f20b61b8SVinod Koul #define SM8350_MSS	12
62*f20b61b8SVinod 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 
73c6e6eff4SRajendra Nayak /* SDM845 Power Domain performance levels */
74c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_RETENTION	16
75c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_MIN_SVS	48
76c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_LOW_SVS	64
77c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_SVS	128
7887b517a8SJonathan Marek #define RPMH_REGULATOR_LEVEL_SVS_L0	144
79c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_SVS_L1	192
8018ec173dSSibi Sankar #define RPMH_REGULATOR_LEVEL_SVS_L2	224
81c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_NOM	256
82c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_NOM_L1	320
83c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_NOM_L2	336
84c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_TURBO	384
85c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_TURBO_L1	416
86c6e6eff4SRajendra Nayak 
871dd50f17SJun Nie /* MSM8939 Power Domains */
881dd50f17SJun Nie #define MSM8939_VDDMDCX		0
891dd50f17SJun Nie #define MSM8939_VDDMDCX_AO	1
901dd50f17SJun Nie #define MSM8939_VDDMDCX_VFC	2
911dd50f17SJun Nie #define MSM8939_VDDCX		3
921dd50f17SJun Nie #define MSM8939_VDDCX_AO	4
931dd50f17SJun Nie #define MSM8939_VDDCX_VFC	5
941dd50f17SJun Nie #define MSM8939_VDDMX		6
951dd50f17SJun Nie #define MSM8939_VDDMX_AO	7
961dd50f17SJun Nie 
97819f7d91SStephan Gerhold /* MSM8916 Power Domain Indexes */
98819f7d91SStephan Gerhold #define MSM8916_VDDCX		0
99819f7d91SStephan Gerhold #define MSM8916_VDDCX_AO	1
100819f7d91SStephan Gerhold #define MSM8916_VDDCX_VFC	2
101819f7d91SStephan Gerhold #define MSM8916_VDDMX		3
102819f7d91SStephan Gerhold #define MSM8916_VDDMX_AO	4
103819f7d91SStephan Gerhold 
104b1d52244SAngeloGioacchino Del Regno /* MSM8976 Power Domain Indexes */
105b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDCX		0
106b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDCX_AO	1
107b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDCX_VFL	2
108b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDMX		3
109b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDMX_AO	4
110b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDMX_VFL	5
111b1d52244SAngeloGioacchino Del Regno 
11243eb76a2SKonrad Dybcio /* MSM8994 Power Domain Indexes */
11343eb76a2SKonrad Dybcio #define MSM8994_VDDCX		0
11443eb76a2SKonrad Dybcio #define MSM8994_VDDCX_AO	1
11543eb76a2SKonrad Dybcio #define MSM8994_VDDCX_VFC	2
11643eb76a2SKonrad Dybcio #define MSM8994_VDDMX		3
11743eb76a2SKonrad Dybcio #define MSM8994_VDDMX_AO	4
11843eb76a2SKonrad Dybcio #define MSM8994_VDDGFX		5
11943eb76a2SKonrad Dybcio #define MSM8994_VDDGFX_VFC	6
12043eb76a2SKonrad Dybcio 
121c6e6eff4SRajendra Nayak /* MSM8996 Power Domain Indexes */
122c6e6eff4SRajendra Nayak #define MSM8996_VDDCX		0
123c6e6eff4SRajendra Nayak #define MSM8996_VDDCX_AO	1
124c6e6eff4SRajendra Nayak #define MSM8996_VDDCX_VFC	2
125c6e6eff4SRajendra Nayak #define MSM8996_VDDMX		3
126c6e6eff4SRajendra Nayak #define MSM8996_VDDMX_AO	4
127c6e6eff4SRajendra Nayak #define MSM8996_VDDSSCX		5
128c6e6eff4SRajendra Nayak #define MSM8996_VDDSSCX_VFC	6
129c6e6eff4SRajendra Nayak 
130dec9a05aSSibi Sankar /* MSM8998 Power Domain Indexes */
131dec9a05aSSibi Sankar #define MSM8998_VDDCX		0
132dec9a05aSSibi Sankar #define MSM8998_VDDCX_AO	1
133dec9a05aSSibi Sankar #define MSM8998_VDDCX_VFL	2
134dec9a05aSSibi Sankar #define MSM8998_VDDMX		3
135dec9a05aSSibi Sankar #define MSM8998_VDDMX_AO	4
136dec9a05aSSibi Sankar #define MSM8998_VDDMX_VFL	5
137dec9a05aSSibi Sankar #define MSM8998_SSCCX		6
138dec9a05aSSibi Sankar #define MSM8998_SSCCX_VFL	7
139dec9a05aSSibi Sankar #define MSM8998_SSCMX		8
140dec9a05aSSibi Sankar #define MSM8998_SSCMX_VFL	9
141dec9a05aSSibi Sankar 
1420cb93b15SBjorn Andersson /* QCS404 Power Domains */
1430cb93b15SBjorn Andersson #define QCS404_VDDMX		0
1440cb93b15SBjorn Andersson #define QCS404_VDDMX_AO		1
1450cb93b15SBjorn Andersson #define QCS404_VDDMX_VFL	2
1460cb93b15SBjorn Andersson #define QCS404_LPICX		3
1470cb93b15SBjorn Andersson #define QCS404_LPICX_VFL	4
1480cb93b15SBjorn Andersson #define QCS404_LPIMX		5
1490cb93b15SBjorn Andersson #define QCS404_LPIMX_VFL	6
1500cb93b15SBjorn Andersson 
151ee84049cSKonrad Dybcio /* SDM660 Power Domains */
152ee84049cSKonrad Dybcio #define SDM660_VDDCX		0
153ee84049cSKonrad Dybcio #define SDM660_VDDCX_AO		1
154ee84049cSKonrad Dybcio #define SDM660_VDDCX_VFL	2
155ee84049cSKonrad Dybcio #define SDM660_VDDMX		3
156ee84049cSKonrad Dybcio #define SDM660_VDDMX_AO		4
157ee84049cSKonrad Dybcio #define SDM660_VDDMX_VFL	5
158ee84049cSKonrad Dybcio #define SDM660_SSCCX		6
159ee84049cSKonrad Dybcio #define SDM660_SSCCX_VFL	7
160ee84049cSKonrad Dybcio #define SDM660_SSCMX		8
161ee84049cSKonrad Dybcio #define SDM660_SSCMX_VFL	9
162ee84049cSKonrad Dybcio 
1630cb93b15SBjorn Andersson /* RPM SMD Power Domain performance levels */
1640cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_RETENTION       16
1650cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_RETENTION_PLUS  32
1660cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_MIN_SVS         48
1670cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_LOW_SVS         64
1680cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_SVS             128
1690cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_SVS_PLUS        192
1700cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_NOM             256
1710cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_NOM_PLUS        320
1720cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_TURBO           384
1730cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_TURBO_NO_CPR    416
1744bc6aadbSAngelo G. Del Regno #define RPM_SMD_LEVEL_TURBO_HIGH      448
1750cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_BINNING         512
1760cb93b15SBjorn Andersson 
177c6e6eff4SRajendra Nayak #endif
178