xref: /freebsd-src/sys/contrib/device-tree/include/dt-bindings/power/qcom-rpmpd.h (revision 2eb4d8dc723da3cf7d735a3226ae49da4c8c5dbc)
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 
23c66ec88fSEmmanuel Vadot /* SM8150 Power Domain Indexes */
24c66ec88fSEmmanuel Vadot #define SM8150_MSS	0
25c66ec88fSEmmanuel Vadot #define SM8150_EBI	1
26c66ec88fSEmmanuel Vadot #define SM8150_LMX	2
27c66ec88fSEmmanuel Vadot #define SM8150_LCX	3
28c66ec88fSEmmanuel Vadot #define SM8150_GFX	4
29c66ec88fSEmmanuel Vadot #define SM8150_MX	5
30c66ec88fSEmmanuel Vadot #define SM8150_MX_AO	6
31c66ec88fSEmmanuel Vadot #define SM8150_CX	7
32c66ec88fSEmmanuel Vadot #define SM8150_CX_AO	8
33c66ec88fSEmmanuel Vadot #define SM8150_MMCX	9
34c66ec88fSEmmanuel Vadot #define SM8150_MMCX_AO	10
35c66ec88fSEmmanuel Vadot 
36c66ec88fSEmmanuel Vadot /* SM8250 Power Domain Indexes */
37c66ec88fSEmmanuel Vadot #define SM8250_CX	0
38c66ec88fSEmmanuel Vadot #define SM8250_CX_AO	1
39c66ec88fSEmmanuel Vadot #define SM8250_EBI	2
40c66ec88fSEmmanuel Vadot #define SM8250_GFX	3
41c66ec88fSEmmanuel Vadot #define SM8250_LCX	4
42c66ec88fSEmmanuel Vadot #define SM8250_LMX	5
43c66ec88fSEmmanuel Vadot #define SM8250_MMCX	6
44c66ec88fSEmmanuel Vadot #define SM8250_MMCX_AO	7
45c66ec88fSEmmanuel Vadot #define SM8250_MX	8
46c66ec88fSEmmanuel Vadot #define SM8250_MX_AO	9
47c66ec88fSEmmanuel Vadot 
48*2eb4d8dcSEmmanuel Vadot /* SM8350 Power Domain Indexes */
49*2eb4d8dcSEmmanuel Vadot #define SM8350_CX	0
50*2eb4d8dcSEmmanuel Vadot #define SM8350_CX_AO	1
51*2eb4d8dcSEmmanuel Vadot #define SM8350_EBI	2
52*2eb4d8dcSEmmanuel Vadot #define SM8350_GFX	3
53*2eb4d8dcSEmmanuel Vadot #define SM8350_LCX	4
54*2eb4d8dcSEmmanuel Vadot #define SM8350_LMX	5
55*2eb4d8dcSEmmanuel Vadot #define SM8350_MMCX	6
56*2eb4d8dcSEmmanuel Vadot #define SM8350_MMCX_AO	7
57*2eb4d8dcSEmmanuel Vadot #define SM8350_MX	8
58*2eb4d8dcSEmmanuel Vadot #define SM8350_MX_AO	9
59*2eb4d8dcSEmmanuel Vadot #define SM8350_MXC	10
60*2eb4d8dcSEmmanuel Vadot #define SM8350_MXC_AO	11
61*2eb4d8dcSEmmanuel Vadot #define SM8350_MSS	12
62*2eb4d8dcSEmmanuel Vadot 
63c66ec88fSEmmanuel Vadot /* SC7180 Power Domain Indexes */
64c66ec88fSEmmanuel Vadot #define SC7180_CX	0
65c66ec88fSEmmanuel Vadot #define SC7180_CX_AO	1
66c66ec88fSEmmanuel Vadot #define SC7180_GFX	2
67c66ec88fSEmmanuel Vadot #define SC7180_MX	3
68c66ec88fSEmmanuel Vadot #define SC7180_MX_AO	4
69c66ec88fSEmmanuel Vadot #define SC7180_LMX	5
70c66ec88fSEmmanuel Vadot #define SC7180_LCX	6
71c66ec88fSEmmanuel Vadot #define SC7180_MSS	7
72c66ec88fSEmmanuel Vadot 
73*2eb4d8dcSEmmanuel Vadot /* SC7280 Power Domain Indexes */
74*2eb4d8dcSEmmanuel Vadot #define SC7280_CX	0
75*2eb4d8dcSEmmanuel Vadot #define SC7280_CX_AO	1
76*2eb4d8dcSEmmanuel Vadot #define SC7280_EBI	2
77*2eb4d8dcSEmmanuel Vadot #define SC7280_GFX	3
78*2eb4d8dcSEmmanuel Vadot #define SC7280_MX	4
79*2eb4d8dcSEmmanuel Vadot #define SC7280_MX_AO	5
80*2eb4d8dcSEmmanuel Vadot #define SC7280_LMX	6
81*2eb4d8dcSEmmanuel Vadot #define SC7280_LCX	7
82*2eb4d8dcSEmmanuel Vadot #define SC7280_MSS	8
83*2eb4d8dcSEmmanuel Vadot 
84c66ec88fSEmmanuel Vadot /* SDM845 Power Domain performance levels */
85c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_RETENTION	16
86c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_MIN_SVS	48
87c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_LOW_SVS	64
88c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_SVS	128
89c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_SVS_L0	144
90c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_SVS_L1	192
91c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_SVS_L2	224
92c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_NOM	256
93c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_NOM_L1	320
94c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_NOM_L2	336
95c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_TURBO	384
96c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_TURBO_L1	416
97c66ec88fSEmmanuel Vadot 
985def4c47SEmmanuel Vadot /* MSM8939 Power Domains */
995def4c47SEmmanuel Vadot #define MSM8939_VDDMDCX		0
1005def4c47SEmmanuel Vadot #define MSM8939_VDDMDCX_AO	1
1015def4c47SEmmanuel Vadot #define MSM8939_VDDMDCX_VFC	2
1025def4c47SEmmanuel Vadot #define MSM8939_VDDCX		3
1035def4c47SEmmanuel Vadot #define MSM8939_VDDCX_AO	4
1045def4c47SEmmanuel Vadot #define MSM8939_VDDCX_VFC	5
1055def4c47SEmmanuel Vadot #define MSM8939_VDDMX		6
1065def4c47SEmmanuel Vadot #define MSM8939_VDDMX_AO	7
1075def4c47SEmmanuel Vadot 
1085def4c47SEmmanuel Vadot /* MSM8916 Power Domain Indexes */
1095def4c47SEmmanuel Vadot #define MSM8916_VDDCX		0
1105def4c47SEmmanuel Vadot #define MSM8916_VDDCX_AO	1
1115def4c47SEmmanuel Vadot #define MSM8916_VDDCX_VFC	2
1125def4c47SEmmanuel Vadot #define MSM8916_VDDMX		3
1135def4c47SEmmanuel Vadot #define MSM8916_VDDMX_AO	4
1145def4c47SEmmanuel Vadot 
115c66ec88fSEmmanuel Vadot /* MSM8976 Power Domain Indexes */
116c66ec88fSEmmanuel Vadot #define MSM8976_VDDCX		0
117c66ec88fSEmmanuel Vadot #define MSM8976_VDDCX_AO	1
118c66ec88fSEmmanuel Vadot #define MSM8976_VDDCX_VFL	2
119c66ec88fSEmmanuel Vadot #define MSM8976_VDDMX		3
120c66ec88fSEmmanuel Vadot #define MSM8976_VDDMX_AO	4
121c66ec88fSEmmanuel Vadot #define MSM8976_VDDMX_VFL	5
122c66ec88fSEmmanuel Vadot 
1235def4c47SEmmanuel Vadot /* MSM8994 Power Domain Indexes */
1245def4c47SEmmanuel Vadot #define MSM8994_VDDCX		0
1255def4c47SEmmanuel Vadot #define MSM8994_VDDCX_AO	1
1265def4c47SEmmanuel Vadot #define MSM8994_VDDCX_VFC	2
1275def4c47SEmmanuel Vadot #define MSM8994_VDDMX		3
1285def4c47SEmmanuel Vadot #define MSM8994_VDDMX_AO	4
1295def4c47SEmmanuel Vadot #define MSM8994_VDDGFX		5
1305def4c47SEmmanuel Vadot #define MSM8994_VDDGFX_VFC	6
1315def4c47SEmmanuel Vadot 
132c66ec88fSEmmanuel Vadot /* MSM8996 Power Domain Indexes */
133c66ec88fSEmmanuel Vadot #define MSM8996_VDDCX		0
134c66ec88fSEmmanuel Vadot #define MSM8996_VDDCX_AO	1
135c66ec88fSEmmanuel Vadot #define MSM8996_VDDCX_VFC	2
136c66ec88fSEmmanuel Vadot #define MSM8996_VDDMX		3
137c66ec88fSEmmanuel Vadot #define MSM8996_VDDMX_AO	4
138c66ec88fSEmmanuel Vadot #define MSM8996_VDDSSCX		5
139c66ec88fSEmmanuel Vadot #define MSM8996_VDDSSCX_VFC	6
140c66ec88fSEmmanuel Vadot 
141c66ec88fSEmmanuel Vadot /* MSM8998 Power Domain Indexes */
142c66ec88fSEmmanuel Vadot #define MSM8998_VDDCX		0
143c66ec88fSEmmanuel Vadot #define MSM8998_VDDCX_AO	1
144c66ec88fSEmmanuel Vadot #define MSM8998_VDDCX_VFL	2
145c66ec88fSEmmanuel Vadot #define MSM8998_VDDMX		3
146c66ec88fSEmmanuel Vadot #define MSM8998_VDDMX_AO	4
147c66ec88fSEmmanuel Vadot #define MSM8998_VDDMX_VFL	5
148c66ec88fSEmmanuel Vadot #define MSM8998_SSCCX		6
149c66ec88fSEmmanuel Vadot #define MSM8998_SSCCX_VFL	7
150c66ec88fSEmmanuel Vadot #define MSM8998_SSCMX		8
151c66ec88fSEmmanuel Vadot #define MSM8998_SSCMX_VFL	9
152c66ec88fSEmmanuel Vadot 
153c66ec88fSEmmanuel Vadot /* QCS404 Power Domains */
154c66ec88fSEmmanuel Vadot #define QCS404_VDDMX		0
155c66ec88fSEmmanuel Vadot #define QCS404_VDDMX_AO		1
156c66ec88fSEmmanuel Vadot #define QCS404_VDDMX_VFL	2
157c66ec88fSEmmanuel Vadot #define QCS404_LPICX		3
158c66ec88fSEmmanuel Vadot #define QCS404_LPICX_VFL	4
159c66ec88fSEmmanuel Vadot #define QCS404_LPIMX		5
160c66ec88fSEmmanuel Vadot #define QCS404_LPIMX_VFL	6
161c66ec88fSEmmanuel Vadot 
1625def4c47SEmmanuel Vadot /* SDM660 Power Domains */
1635def4c47SEmmanuel Vadot #define SDM660_VDDCX		0
1645def4c47SEmmanuel Vadot #define SDM660_VDDCX_AO		1
1655def4c47SEmmanuel Vadot #define SDM660_VDDCX_VFL	2
1665def4c47SEmmanuel Vadot #define SDM660_VDDMX		3
1675def4c47SEmmanuel Vadot #define SDM660_VDDMX_AO		4
1685def4c47SEmmanuel Vadot #define SDM660_VDDMX_VFL	5
1695def4c47SEmmanuel Vadot #define SDM660_SSCCX		6
1705def4c47SEmmanuel Vadot #define SDM660_SSCCX_VFL	7
1715def4c47SEmmanuel Vadot #define SDM660_SSCMX		8
1725def4c47SEmmanuel Vadot #define SDM660_SSCMX_VFL	9
1735def4c47SEmmanuel Vadot 
174c66ec88fSEmmanuel Vadot /* RPM SMD Power Domain performance levels */
175c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_RETENTION       16
176c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_RETENTION_PLUS  32
177c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_MIN_SVS         48
178c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_LOW_SVS         64
179c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_SVS             128
180c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_SVS_PLUS        192
181c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_NOM             256
182c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_NOM_PLUS        320
183c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_TURBO           384
184c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_TURBO_NO_CPR    416
185c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_TURBO_HIGH      448
186c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_BINNING         512
187c66ec88fSEmmanuel Vadot 
188c66ec88fSEmmanuel Vadot #endif
189