1 /* SPDX-License-Identifier: GPL-2.0 */
2 /* Copyright (c) 2018, The Linux Foundation. All rights reserved. */
3 
4 #ifndef _DT_BINDINGS_POWER_QCOM_RPMPD_H
5 #define _DT_BINDINGS_POWER_QCOM_RPMPD_H
6 
7 /* SDM845 Power Domain Indexes */
8 #define SDM845_EBI	0
9 #define SDM845_MX	1
10 #define SDM845_MX_AO	2
11 #define SDM845_CX	3
12 #define SDM845_CX_AO	4
13 #define SDM845_LMX	5
14 #define SDM845_LCX	6
15 #define SDM845_GFX	7
16 #define SDM845_MSS	8
17 
18 /* SDX55 Power Domain Indexes */
19 #define SDX55_MSS	0
20 #define SDX55_MX	1
21 #define SDX55_CX	2
22 
23 /* SM8150 Power Domain Indexes */
24 #define SM8150_MSS	0
25 #define SM8150_EBI	1
26 #define SM8150_LMX	2
27 #define SM8150_LCX	3
28 #define SM8150_GFX	4
29 #define SM8150_MX	5
30 #define SM8150_MX_AO	6
31 #define SM8150_CX	7
32 #define SM8150_CX_AO	8
33 #define SM8150_MMCX	9
34 #define SM8150_MMCX_AO	10
35 
36 /* SM8250 Power Domain Indexes */
37 #define SM8250_CX	0
38 #define SM8250_CX_AO	1
39 #define SM8250_EBI	2
40 #define SM8250_GFX	3
41 #define SM8250_LCX	4
42 #define SM8250_LMX	5
43 #define SM8250_MMCX	6
44 #define SM8250_MMCX_AO	7
45 #define SM8250_MX	8
46 #define SM8250_MX_AO	9
47 
48 /* SM8350 Power Domain Indexes */
49 #define SM8350_CX	0
50 #define SM8350_CX_AO	1
51 #define SM8350_EBI	2
52 #define SM8350_GFX	3
53 #define SM8350_LCX	4
54 #define SM8350_LMX	5
55 #define SM8350_MMCX	6
56 #define SM8350_MMCX_AO	7
57 #define SM8350_MX	8
58 #define SM8350_MX_AO	9
59 #define SM8350_MXC	10
60 #define SM8350_MXC_AO	11
61 #define SM8350_MSS	12
62 
63 /* SC7180 Power Domain Indexes */
64 #define SC7180_CX	0
65 #define SC7180_CX_AO	1
66 #define SC7180_GFX	2
67 #define SC7180_MX	3
68 #define SC7180_MX_AO	4
69 #define SC7180_LMX	5
70 #define SC7180_LCX	6
71 #define SC7180_MSS	7
72 
73 /* SC7280 Power Domain Indexes */
74 #define SC7280_CX	0
75 #define SC7280_CX_AO	1
76 #define SC7280_EBI	2
77 #define SC7280_GFX	3
78 #define SC7280_MX	4
79 #define SC7280_MX_AO	5
80 #define SC7280_LMX	6
81 #define SC7280_LCX	7
82 #define SC7280_MSS	8
83 
84 /* SDM845 Power Domain performance levels */
85 #define RPMH_REGULATOR_LEVEL_RETENTION	16
86 #define RPMH_REGULATOR_LEVEL_MIN_SVS	48
87 #define RPMH_REGULATOR_LEVEL_LOW_SVS	64
88 #define RPMH_REGULATOR_LEVEL_SVS	128
89 #define RPMH_REGULATOR_LEVEL_SVS_L0	144
90 #define RPMH_REGULATOR_LEVEL_SVS_L1	192
91 #define RPMH_REGULATOR_LEVEL_SVS_L2	224
92 #define RPMH_REGULATOR_LEVEL_NOM	256
93 #define RPMH_REGULATOR_LEVEL_NOM_L1	320
94 #define RPMH_REGULATOR_LEVEL_NOM_L2	336
95 #define RPMH_REGULATOR_LEVEL_TURBO	384
96 #define RPMH_REGULATOR_LEVEL_TURBO_L1	416
97 
98 /* MSM8939 Power Domains */
99 #define MSM8939_VDDMDCX		0
100 #define MSM8939_VDDMDCX_AO	1
101 #define MSM8939_VDDMDCX_VFC	2
102 #define MSM8939_VDDCX		3
103 #define MSM8939_VDDCX_AO	4
104 #define MSM8939_VDDCX_VFC	5
105 #define MSM8939_VDDMX		6
106 #define MSM8939_VDDMX_AO	7
107 
108 /* MSM8916 Power Domain Indexes */
109 #define MSM8916_VDDCX		0
110 #define MSM8916_VDDCX_AO	1
111 #define MSM8916_VDDCX_VFC	2
112 #define MSM8916_VDDMX		3
113 #define MSM8916_VDDMX_AO	4
114 
115 /* MSM8976 Power Domain Indexes */
116 #define MSM8976_VDDCX		0
117 #define MSM8976_VDDCX_AO	1
118 #define MSM8976_VDDCX_VFL	2
119 #define MSM8976_VDDMX		3
120 #define MSM8976_VDDMX_AO	4
121 #define MSM8976_VDDMX_VFL	5
122 
123 /* MSM8994 Power Domain Indexes */
124 #define MSM8994_VDDCX		0
125 #define MSM8994_VDDCX_AO	1
126 #define MSM8994_VDDCX_VFC	2
127 #define MSM8994_VDDMX		3
128 #define MSM8994_VDDMX_AO	4
129 #define MSM8994_VDDGFX		5
130 #define MSM8994_VDDGFX_VFC	6
131 
132 /* MSM8996 Power Domain Indexes */
133 #define MSM8996_VDDCX		0
134 #define MSM8996_VDDCX_AO	1
135 #define MSM8996_VDDCX_VFC	2
136 #define MSM8996_VDDMX		3
137 #define MSM8996_VDDMX_AO	4
138 #define MSM8996_VDDSSCX		5
139 #define MSM8996_VDDSSCX_VFC	6
140 
141 /* MSM8998 Power Domain Indexes */
142 #define MSM8998_VDDCX		0
143 #define MSM8998_VDDCX_AO	1
144 #define MSM8998_VDDCX_VFL	2
145 #define MSM8998_VDDMX		3
146 #define MSM8998_VDDMX_AO	4
147 #define MSM8998_VDDMX_VFL	5
148 #define MSM8998_SSCCX		6
149 #define MSM8998_SSCCX_VFL	7
150 #define MSM8998_SSCMX		8
151 #define MSM8998_SSCMX_VFL	9
152 
153 /* QCS404 Power Domains */
154 #define QCS404_VDDMX		0
155 #define QCS404_VDDMX_AO		1
156 #define QCS404_VDDMX_VFL	2
157 #define QCS404_LPICX		3
158 #define QCS404_LPICX_VFL	4
159 #define QCS404_LPIMX		5
160 #define QCS404_LPIMX_VFL	6
161 
162 /* SDM660 Power Domains */
163 #define SDM660_VDDCX		0
164 #define SDM660_VDDCX_AO		1
165 #define SDM660_VDDCX_VFL	2
166 #define SDM660_VDDMX		3
167 #define SDM660_VDDMX_AO		4
168 #define SDM660_VDDMX_VFL	5
169 #define SDM660_SSCCX		6
170 #define SDM660_SSCCX_VFL	7
171 #define SDM660_SSCMX		8
172 #define SDM660_SSCMX_VFL	9
173 
174 /* RPM SMD Power Domain performance levels */
175 #define RPM_SMD_LEVEL_RETENTION       16
176 #define RPM_SMD_LEVEL_RETENTION_PLUS  32
177 #define RPM_SMD_LEVEL_MIN_SVS         48
178 #define RPM_SMD_LEVEL_LOW_SVS         64
179 #define RPM_SMD_LEVEL_SVS             128
180 #define RPM_SMD_LEVEL_SVS_PLUS        192
181 #define RPM_SMD_LEVEL_NOM             256
182 #define RPM_SMD_LEVEL_NOM_PLUS        320
183 #define RPM_SMD_LEVEL_TURBO           384
184 #define RPM_SMD_LEVEL_TURBO_NO_CPR    416
185 #define RPM_SMD_LEVEL_TURBO_HIGH      448
186 #define RPM_SMD_LEVEL_BINNING         512
187 
188 #endif
189