xref: /freebsd-src/sys/contrib/device-tree/include/dt-bindings/power/qcom-rpmpd.h (revision e67e85659c0de33e617e5fbf1028c6e8b49eee53)
1c66ec88fSEmmanuel Vadot /* SPDX-License-Identifier: GPL-2.0 */
2c66ec88fSEmmanuel Vadot /* Copyright (c) 2018, The Linux Foundation. All rights reserved. */
3c66ec88fSEmmanuel Vadot 
4c66ec88fSEmmanuel Vadot #ifndef _DT_BINDINGS_POWER_QCOM_RPMPD_H
5c66ec88fSEmmanuel Vadot #define _DT_BINDINGS_POWER_QCOM_RPMPD_H
6c66ec88fSEmmanuel Vadot 
7c66ec88fSEmmanuel Vadot /* SDM845 Power Domain Indexes */
8c66ec88fSEmmanuel Vadot #define SDM845_EBI	0
9c66ec88fSEmmanuel Vadot #define SDM845_MX	1
10c66ec88fSEmmanuel Vadot #define SDM845_MX_AO	2
11c66ec88fSEmmanuel Vadot #define SDM845_CX	3
12c66ec88fSEmmanuel Vadot #define SDM845_CX_AO	4
13c66ec88fSEmmanuel Vadot #define SDM845_LMX	5
14c66ec88fSEmmanuel Vadot #define SDM845_LCX	6
15c66ec88fSEmmanuel Vadot #define SDM845_GFX	7
16c66ec88fSEmmanuel Vadot #define SDM845_MSS	8
17c66ec88fSEmmanuel Vadot 
185def4c47SEmmanuel Vadot /* SDX55 Power Domain Indexes */
195def4c47SEmmanuel Vadot #define SDX55_MSS	0
205def4c47SEmmanuel Vadot #define SDX55_MX	1
215def4c47SEmmanuel Vadot #define SDX55_CX	2
225def4c47SEmmanuel Vadot 
238cc087a1SEmmanuel Vadot /* SM6350 Power Domain Indexes */
248cc087a1SEmmanuel Vadot #define SM6350_CX	0
258cc087a1SEmmanuel Vadot #define SM6350_GFX	1
268cc087a1SEmmanuel Vadot #define SM6350_LCX	2
278cc087a1SEmmanuel Vadot #define SM6350_LMX	3
288cc087a1SEmmanuel Vadot #define SM6350_MSS	4
298cc087a1SEmmanuel Vadot #define SM6350_MX	5
308cc087a1SEmmanuel Vadot 
31c66ec88fSEmmanuel Vadot /* SM8150 Power Domain Indexes */
32c66ec88fSEmmanuel Vadot #define SM8150_MSS	0
33c66ec88fSEmmanuel Vadot #define SM8150_EBI	1
34c66ec88fSEmmanuel Vadot #define SM8150_LMX	2
35c66ec88fSEmmanuel Vadot #define SM8150_LCX	3
36c66ec88fSEmmanuel Vadot #define SM8150_GFX	4
37c66ec88fSEmmanuel Vadot #define SM8150_MX	5
38c66ec88fSEmmanuel Vadot #define SM8150_MX_AO	6
39c66ec88fSEmmanuel Vadot #define SM8150_CX	7
40c66ec88fSEmmanuel Vadot #define SM8150_CX_AO	8
41c66ec88fSEmmanuel Vadot #define SM8150_MMCX	9
42c66ec88fSEmmanuel Vadot #define SM8150_MMCX_AO	10
43c66ec88fSEmmanuel Vadot 
44c66ec88fSEmmanuel Vadot /* SM8250 Power Domain Indexes */
45c66ec88fSEmmanuel Vadot #define SM8250_CX	0
46c66ec88fSEmmanuel Vadot #define SM8250_CX_AO	1
47c66ec88fSEmmanuel Vadot #define SM8250_EBI	2
48c66ec88fSEmmanuel Vadot #define SM8250_GFX	3
49c66ec88fSEmmanuel Vadot #define SM8250_LCX	4
50c66ec88fSEmmanuel Vadot #define SM8250_LMX	5
51c66ec88fSEmmanuel Vadot #define SM8250_MMCX	6
52c66ec88fSEmmanuel Vadot #define SM8250_MMCX_AO	7
53c66ec88fSEmmanuel Vadot #define SM8250_MX	8
54c66ec88fSEmmanuel Vadot #define SM8250_MX_AO	9
55c66ec88fSEmmanuel Vadot 
562eb4d8dcSEmmanuel Vadot /* SM8350 Power Domain Indexes */
572eb4d8dcSEmmanuel Vadot #define SM8350_CX	0
582eb4d8dcSEmmanuel Vadot #define SM8350_CX_AO	1
592eb4d8dcSEmmanuel Vadot #define SM8350_EBI	2
602eb4d8dcSEmmanuel Vadot #define SM8350_GFX	3
612eb4d8dcSEmmanuel Vadot #define SM8350_LCX	4
622eb4d8dcSEmmanuel Vadot #define SM8350_LMX	5
632eb4d8dcSEmmanuel Vadot #define SM8350_MMCX	6
642eb4d8dcSEmmanuel Vadot #define SM8350_MMCX_AO	7
652eb4d8dcSEmmanuel Vadot #define SM8350_MX	8
662eb4d8dcSEmmanuel Vadot #define SM8350_MX_AO	9
672eb4d8dcSEmmanuel Vadot #define SM8350_MXC	10
682eb4d8dcSEmmanuel Vadot #define SM8350_MXC_AO	11
692eb4d8dcSEmmanuel Vadot #define SM8350_MSS	12
702eb4d8dcSEmmanuel Vadot 
71*e67e8565SEmmanuel Vadot /* SM8450 Power Domain Indexes */
72*e67e8565SEmmanuel Vadot #define SM8450_CX	0
73*e67e8565SEmmanuel Vadot #define SM8450_CX_AO	1
74*e67e8565SEmmanuel Vadot #define SM8450_EBI	2
75*e67e8565SEmmanuel Vadot #define SM8450_GFX	3
76*e67e8565SEmmanuel Vadot #define SM8450_LCX	4
77*e67e8565SEmmanuel Vadot #define SM8450_LMX	5
78*e67e8565SEmmanuel Vadot #define SM8450_MMCX	6
79*e67e8565SEmmanuel Vadot #define SM8450_MMCX_AO	7
80*e67e8565SEmmanuel Vadot #define SM8450_MX	8
81*e67e8565SEmmanuel Vadot #define SM8450_MX_AO	9
82*e67e8565SEmmanuel Vadot #define SM8450_MXC	10
83*e67e8565SEmmanuel Vadot #define SM8450_MXC_AO	11
84*e67e8565SEmmanuel Vadot #define SM8450_MSS	12
85*e67e8565SEmmanuel Vadot 
86c66ec88fSEmmanuel Vadot /* SC7180 Power Domain Indexes */
87c66ec88fSEmmanuel Vadot #define SC7180_CX	0
88c66ec88fSEmmanuel Vadot #define SC7180_CX_AO	1
89c66ec88fSEmmanuel Vadot #define SC7180_GFX	2
90c66ec88fSEmmanuel Vadot #define SC7180_MX	3
91c66ec88fSEmmanuel Vadot #define SC7180_MX_AO	4
92c66ec88fSEmmanuel Vadot #define SC7180_LMX	5
93c66ec88fSEmmanuel Vadot #define SC7180_LCX	6
94c66ec88fSEmmanuel Vadot #define SC7180_MSS	7
95c66ec88fSEmmanuel Vadot 
962eb4d8dcSEmmanuel Vadot /* SC7280 Power Domain Indexes */
972eb4d8dcSEmmanuel Vadot #define SC7280_CX	0
982eb4d8dcSEmmanuel Vadot #define SC7280_CX_AO	1
992eb4d8dcSEmmanuel Vadot #define SC7280_EBI	2
1002eb4d8dcSEmmanuel Vadot #define SC7280_GFX	3
1012eb4d8dcSEmmanuel Vadot #define SC7280_MX	4
1022eb4d8dcSEmmanuel Vadot #define SC7280_MX_AO	5
1032eb4d8dcSEmmanuel Vadot #define SC7280_LMX	6
1042eb4d8dcSEmmanuel Vadot #define SC7280_LCX	7
1052eb4d8dcSEmmanuel Vadot #define SC7280_MSS	8
1062eb4d8dcSEmmanuel Vadot 
1075956d97fSEmmanuel Vadot /* SC8180X Power Domain Indexes */
1085956d97fSEmmanuel Vadot #define SC8180X_CX	0
1095956d97fSEmmanuel Vadot #define SC8180X_CX_AO	1
1105956d97fSEmmanuel Vadot #define SC8180X_EBI	2
1115956d97fSEmmanuel Vadot #define SC8180X_GFX	3
1125956d97fSEmmanuel Vadot #define SC8180X_LCX	4
1135956d97fSEmmanuel Vadot #define SC8180X_LMX	5
1145956d97fSEmmanuel Vadot #define SC8180X_MMCX	6
1155956d97fSEmmanuel Vadot #define SC8180X_MMCX_AO	7
1165956d97fSEmmanuel Vadot #define SC8180X_MSS	8
1175956d97fSEmmanuel Vadot #define SC8180X_MX	9
1185956d97fSEmmanuel Vadot #define SC8180X_MX_AO	10
1195956d97fSEmmanuel Vadot 
120c66ec88fSEmmanuel Vadot /* SDM845 Power Domain performance levels */
121c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_RETENTION	16
122c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_MIN_SVS	48
123c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_LOW_SVS	64
124c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_SVS	128
125c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_SVS_L0	144
126c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_SVS_L1	192
127c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_SVS_L2	224
128c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_NOM	256
129c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_NOM_L1	320
130c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_NOM_L2	336
131c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_TURBO	384
132c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_TURBO_L1	416
133c66ec88fSEmmanuel Vadot 
1345956d97fSEmmanuel Vadot /* MDM9607 Power Domains */
1355956d97fSEmmanuel Vadot #define MDM9607_VDDCX		0
1365956d97fSEmmanuel Vadot #define MDM9607_VDDCX_AO	1
1375956d97fSEmmanuel Vadot #define MDM9607_VDDCX_VFL	2
1385956d97fSEmmanuel Vadot #define MDM9607_VDDMX		3
1395956d97fSEmmanuel Vadot #define MDM9607_VDDMX_AO	4
1405956d97fSEmmanuel Vadot #define MDM9607_VDDMX_VFL	5
1415956d97fSEmmanuel Vadot 
1425def4c47SEmmanuel Vadot /* MSM8939 Power Domains */
1435def4c47SEmmanuel Vadot #define MSM8939_VDDMDCX		0
1445def4c47SEmmanuel Vadot #define MSM8939_VDDMDCX_AO	1
1455def4c47SEmmanuel Vadot #define MSM8939_VDDMDCX_VFC	2
1465def4c47SEmmanuel Vadot #define MSM8939_VDDCX		3
1475def4c47SEmmanuel Vadot #define MSM8939_VDDCX_AO	4
1485def4c47SEmmanuel Vadot #define MSM8939_VDDCX_VFC	5
1495def4c47SEmmanuel Vadot #define MSM8939_VDDMX		6
1505def4c47SEmmanuel Vadot #define MSM8939_VDDMX_AO	7
1515def4c47SEmmanuel Vadot 
1525def4c47SEmmanuel Vadot /* MSM8916 Power Domain Indexes */
1535def4c47SEmmanuel Vadot #define MSM8916_VDDCX		0
1545def4c47SEmmanuel Vadot #define MSM8916_VDDCX_AO	1
1555def4c47SEmmanuel Vadot #define MSM8916_VDDCX_VFC	2
1565def4c47SEmmanuel Vadot #define MSM8916_VDDMX		3
1575def4c47SEmmanuel Vadot #define MSM8916_VDDMX_AO	4
1585def4c47SEmmanuel Vadot 
1598cc087a1SEmmanuel Vadot /* MSM8953 Power Domain Indexes */
1608cc087a1SEmmanuel Vadot #define MSM8953_VDDMD		0
1618cc087a1SEmmanuel Vadot #define MSM8953_VDDMD_AO	1
1628cc087a1SEmmanuel Vadot #define MSM8953_VDDCX		2
1638cc087a1SEmmanuel Vadot #define MSM8953_VDDCX_AO	3
1648cc087a1SEmmanuel Vadot #define MSM8953_VDDCX_VFL	4
1658cc087a1SEmmanuel Vadot #define MSM8953_VDDMX		5
1668cc087a1SEmmanuel Vadot #define MSM8953_VDDMX_AO	6
1678cc087a1SEmmanuel Vadot 
168c66ec88fSEmmanuel Vadot /* MSM8976 Power Domain Indexes */
169c66ec88fSEmmanuel Vadot #define MSM8976_VDDCX		0
170c66ec88fSEmmanuel Vadot #define MSM8976_VDDCX_AO	1
171c66ec88fSEmmanuel Vadot #define MSM8976_VDDCX_VFL	2
172c66ec88fSEmmanuel Vadot #define MSM8976_VDDMX		3
173c66ec88fSEmmanuel Vadot #define MSM8976_VDDMX_AO	4
174c66ec88fSEmmanuel Vadot #define MSM8976_VDDMX_VFL	5
175c66ec88fSEmmanuel Vadot 
1765def4c47SEmmanuel Vadot /* MSM8994 Power Domain Indexes */
1775def4c47SEmmanuel Vadot #define MSM8994_VDDCX		0
1785def4c47SEmmanuel Vadot #define MSM8994_VDDCX_AO	1
1795def4c47SEmmanuel Vadot #define MSM8994_VDDCX_VFC	2
1805def4c47SEmmanuel Vadot #define MSM8994_VDDMX		3
1815def4c47SEmmanuel Vadot #define MSM8994_VDDMX_AO	4
1825def4c47SEmmanuel Vadot #define MSM8994_VDDGFX		5
1835def4c47SEmmanuel Vadot #define MSM8994_VDDGFX_VFC	6
1845def4c47SEmmanuel Vadot 
185c66ec88fSEmmanuel Vadot /* MSM8996 Power Domain Indexes */
186c66ec88fSEmmanuel Vadot #define MSM8996_VDDCX		0
187c66ec88fSEmmanuel Vadot #define MSM8996_VDDCX_AO	1
188c66ec88fSEmmanuel Vadot #define MSM8996_VDDCX_VFC	2
189c66ec88fSEmmanuel Vadot #define MSM8996_VDDMX		3
190c66ec88fSEmmanuel Vadot #define MSM8996_VDDMX_AO	4
191c66ec88fSEmmanuel Vadot #define MSM8996_VDDSSCX		5
192c66ec88fSEmmanuel Vadot #define MSM8996_VDDSSCX_VFC	6
193c66ec88fSEmmanuel Vadot 
194c66ec88fSEmmanuel Vadot /* MSM8998 Power Domain Indexes */
195c66ec88fSEmmanuel Vadot #define MSM8998_VDDCX		0
196c66ec88fSEmmanuel Vadot #define MSM8998_VDDCX_AO	1
197c66ec88fSEmmanuel Vadot #define MSM8998_VDDCX_VFL	2
198c66ec88fSEmmanuel Vadot #define MSM8998_VDDMX		3
199c66ec88fSEmmanuel Vadot #define MSM8998_VDDMX_AO	4
200c66ec88fSEmmanuel Vadot #define MSM8998_VDDMX_VFL	5
201c66ec88fSEmmanuel Vadot #define MSM8998_SSCCX		6
202c66ec88fSEmmanuel Vadot #define MSM8998_SSCCX_VFL	7
203c66ec88fSEmmanuel Vadot #define MSM8998_SSCMX		8
204c66ec88fSEmmanuel Vadot #define MSM8998_SSCMX_VFL	9
205c66ec88fSEmmanuel Vadot 
206c66ec88fSEmmanuel Vadot /* QCS404 Power Domains */
207c66ec88fSEmmanuel Vadot #define QCS404_VDDMX		0
208c66ec88fSEmmanuel Vadot #define QCS404_VDDMX_AO		1
209c66ec88fSEmmanuel Vadot #define QCS404_VDDMX_VFL	2
210c66ec88fSEmmanuel Vadot #define QCS404_LPICX		3
211c66ec88fSEmmanuel Vadot #define QCS404_LPICX_VFL	4
212c66ec88fSEmmanuel Vadot #define QCS404_LPIMX		5
213c66ec88fSEmmanuel Vadot #define QCS404_LPIMX_VFL	6
214c66ec88fSEmmanuel Vadot 
2155def4c47SEmmanuel Vadot /* SDM660 Power Domains */
2165def4c47SEmmanuel Vadot #define SDM660_VDDCX		0
2175def4c47SEmmanuel Vadot #define SDM660_VDDCX_AO		1
2185def4c47SEmmanuel Vadot #define SDM660_VDDCX_VFL	2
2195def4c47SEmmanuel Vadot #define SDM660_VDDMX		3
2205def4c47SEmmanuel Vadot #define SDM660_VDDMX_AO		4
2215def4c47SEmmanuel Vadot #define SDM660_VDDMX_VFL	5
2225def4c47SEmmanuel Vadot #define SDM660_SSCCX		6
2235def4c47SEmmanuel Vadot #define SDM660_SSCCX_VFL	7
2245def4c47SEmmanuel Vadot #define SDM660_SSCMX		8
2255def4c47SEmmanuel Vadot #define SDM660_SSCMX_VFL	9
2265def4c47SEmmanuel Vadot 
227354d7675SEmmanuel Vadot /* SM6115 Power Domains */
228354d7675SEmmanuel Vadot #define SM6115_VDDCX		0
229354d7675SEmmanuel Vadot #define SM6115_VDDCX_AO		1
230354d7675SEmmanuel Vadot #define SM6115_VDDCX_VFL	2
231354d7675SEmmanuel Vadot #define SM6115_VDDMX		3
232354d7675SEmmanuel Vadot #define SM6115_VDDMX_AO		4
233354d7675SEmmanuel Vadot #define SM6115_VDDMX_VFL	5
234354d7675SEmmanuel Vadot #define SM6115_VDD_LPI_CX	6
235354d7675SEmmanuel Vadot #define SM6115_VDD_LPI_MX	7
236354d7675SEmmanuel Vadot 
237*e67e8565SEmmanuel Vadot /* SM6125 Power Domains */
238*e67e8565SEmmanuel Vadot #define SM6125_VDDCX		0
239*e67e8565SEmmanuel Vadot #define SM6125_VDDCX_AO		1
240*e67e8565SEmmanuel Vadot #define SM6125_VDDCX_VFL	2
241*e67e8565SEmmanuel Vadot #define SM6125_VDDMX		3
242*e67e8565SEmmanuel Vadot #define SM6125_VDDMX_AO		4
243*e67e8565SEmmanuel Vadot #define SM6125_VDDMX_VFL	5
244*e67e8565SEmmanuel Vadot 
245*e67e8565SEmmanuel Vadot /* QCM2290 Power Domains */
246*e67e8565SEmmanuel Vadot #define QCM2290_VDDCX		0
247*e67e8565SEmmanuel Vadot #define QCM2290_VDDCX_AO	1
248*e67e8565SEmmanuel Vadot #define QCM2290_VDDCX_VFL	2
249*e67e8565SEmmanuel Vadot #define QCM2290_VDDMX		3
250*e67e8565SEmmanuel Vadot #define QCM2290_VDDMX_AO	4
251*e67e8565SEmmanuel Vadot #define QCM2290_VDDMX_VFL	5
252*e67e8565SEmmanuel Vadot #define QCM2290_VDD_LPI_CX	6
253*e67e8565SEmmanuel Vadot #define QCM2290_VDD_LPI_MX	7
254*e67e8565SEmmanuel Vadot 
255c66ec88fSEmmanuel Vadot /* RPM SMD Power Domain performance levels */
256c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_RETENTION       16
257c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_RETENTION_PLUS  32
258c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_MIN_SVS         48
259c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_LOW_SVS         64
260c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_SVS             128
261c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_SVS_PLUS        192
262c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_NOM             256
263c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_NOM_PLUS        320
264c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_TURBO           384
265c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_TURBO_NO_CPR    416
266c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_TURBO_HIGH      448
267c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_BINNING         512
268c66ec88fSEmmanuel Vadot 
269c66ec88fSEmmanuel Vadot #endif
270