Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
2/*
3 * Copyright (c) 2023, Qualcomm Innovation Center, Inc. All rights reserved.
4 */
5
6#ifndef _DT_BINDINGS_POWER_QCOM_RPMHPD_H
7#define _DT_BINDINGS_POWER_QCOM_RPMHPD_H
8
9/* Generic RPMH Power Domain Indexes */
10#define RPMHPD_CX 0
11#define RPMHPD_CX_AO 1
12#define RPMHPD_EBI 2
13#define RPMHPD_GFX 3
14#define RPMHPD_LCX 4
15#define RPMHPD_LMX 5
16#define RPMHPD_MMCX 6
17#define RPMHPD_MMCX_AO 7
18#define RPMHPD_MX 8
19#define RPMHPD_MX_AO 9
20#define RPMHPD_MXC 10
21#define RPMHPD_MXC_AO 11
22#define RPMHPD_MSS 12
23#define RPMHPD_NSP 13
24#define RPMHPD_NSP0 14
25#define RPMHPD_NSP1 15
26#define RPMHPD_QPHY 16
27#define RPMHPD_DDR 17
28#define RPMHPD_XO 18
29#define RPMHPD_NSP2 19
30#define RPMHPD_GMXC 20
31
32/* RPMh Power Domain performance levels */
33#define RPMH_REGULATOR_LEVEL_RETENTION 16
34#define RPMH_REGULATOR_LEVEL_MIN_SVS 48
35#define RPMH_REGULATOR_LEVEL_LOW_SVS_D3 50
36#define RPMH_REGULATOR_LEVEL_LOW_SVS_D2_1 51
37#define RPMH_REGULATOR_LEVEL_LOW_SVS_D2 52
38#define RPMH_REGULATOR_LEVEL_LOW_SVS_D1_1 54
39#define RPMH_REGULATOR_LEVEL_LOW_SVS_D1 56
40#define RPMH_REGULATOR_LEVEL_LOW_SVS_D0 60
41#define RPMH_REGULATOR_LEVEL_LOW_SVS 64
42#define RPMH_REGULATOR_LEVEL_LOW_SVS_P1 72
43#define RPMH_REGULATOR_LEVEL_LOW_SVS_L0 76
44#define RPMH_REGULATOR_LEVEL_LOW_SVS_L1 80
45#define RPMH_REGULATOR_LEVEL_LOW_SVS_L2 96
46#define RPMH_REGULATOR_LEVEL_SVS 128
47#define RPMH_REGULATOR_LEVEL_SVS_L0 144
48#define RPMH_REGULATOR_LEVEL_SVS_L1 192
49#define RPMH_REGULATOR_LEVEL_SVS_L2 224
50#define RPMH_REGULATOR_LEVEL_NOM 256
51#define RPMH_REGULATOR_LEVEL_NOM_L0 288
52#define RPMH_REGULATOR_LEVEL_NOM_L1 320
53#define RPMH_REGULATOR_LEVEL_NOM_L2 336
54#define RPMH_REGULATOR_LEVEL_TURBO 384
55#define RPMH_REGULATOR_LEVEL_TURBO_L0 400
56#define RPMH_REGULATOR_LEVEL_TURBO_L1 416
57#define RPMH_REGULATOR_LEVEL_TURBO_L2 432
58#define RPMH_REGULATOR_LEVEL_TURBO_L3 448
59#define RPMH_REGULATOR_LEVEL_TURBO_L4 452
60#define RPMH_REGULATOR_LEVEL_TURBO_L5 456
61#define RPMH_REGULATOR_LEVEL_SUPER_TURBO 464
62#define RPMH_REGULATOR_LEVEL_SUPER_TURBO_NO_CPR 480
63
64/*
65 * Platform-specific power domain bindings. Don't add new entries here, use
66 * RPMHPD_* above.
67 */
68
69/* SA8775P Power Domain Indexes */
70#define SA8775P_CX 0
71#define SA8775P_CX_AO 1
72#define SA8775P_DDR 2
73#define SA8775P_EBI 3
74#define SA8775P_GFX 4
75#define SA8775P_LCX 5
76#define SA8775P_LMX 6
77#define SA8775P_MMCX 7
78#define SA8775P_MMCX_AO 8
79#define SA8775P_MSS 9
80#define SA8775P_MX 10
81#define SA8775P_MX_AO 11
82#define SA8775P_MXC 12
83#define SA8775P_MXC_AO 13
84#define SA8775P_NSP0 14
85#define SA8775P_NSP1 15
86#define SA8775P_XO 16
87
88/* SDM670 Power Domain Indexes */
89#define SDM670_MX 0
90#define SDM670_MX_AO 1
91#define SDM670_CX 2
92#define SDM670_CX_AO 3
93#define SDM670_LMX 4
94#define SDM670_LCX 5
95#define SDM670_GFX 6
96#define SDM670_MSS 7
97
98/* SDM845 Power Domain Indexes */
99#define SDM845_EBI 0
100#define SDM845_MX 1
101#define SDM845_MX_AO 2
102#define SDM845_CX 3
103#define SDM845_CX_AO 4
104#define SDM845_LMX 5
105#define SDM845_LCX 6
106#define SDM845_GFX 7
107#define SDM845_MSS 8
108
109/* SDX55 Power Domain Indexes */
110#define SDX55_MSS 0
111#define SDX55_MX 1
112#define SDX55_CX 2
113
114/* SDX65 Power Domain Indexes */
115#define SDX65_MSS 0
116#define SDX65_MX 1
117#define SDX65_MX_AO 2
118#define SDX65_CX 3
119#define SDX65_CX_AO 4
120#define SDX65_MXC 5
121
122/* SM6350 Power Domain Indexes */
123#define SM6350_CX 0
124#define SM6350_GFX 1
125#define SM6350_LCX 2
126#define SM6350_LMX 3
127#define SM6350_MSS 4
128#define SM6350_MX 5
129
130/* SM8150 Power Domain Indexes */
131#define SM8150_MSS 0
132#define SM8150_EBI 1
133#define SM8150_LMX 2
134#define SM8150_LCX 3
135#define SM8150_GFX 4
136#define SM8150_MX 5
137#define SM8150_MX_AO 6
138#define SM8150_CX 7
139#define SM8150_CX_AO 8
140#define SM8150_MMCX 9
141#define SM8150_MMCX_AO 10
142
143/* SA8155P is a special case, kept for backwards compatibility */
144#define SA8155P_CX SM8150_CX
145#define SA8155P_CX_AO SM8150_CX_AO
146#define SA8155P_EBI SM8150_EBI
147#define SA8155P_GFX SM8150_GFX
148#define SA8155P_MSS SM8150_MSS
149#define SA8155P_MX SM8150_MX
150#define SA8155P_MX_AO SM8150_MX_AO
151
152/* SM8250 Power Domain Indexes */
153#define SM8250_CX 0
154#define SM8250_CX_AO 1
155#define SM8250_EBI 2
156#define SM8250_GFX 3
157#define SM8250_LCX 4
158#define SM8250_LMX 5
159#define SM8250_MMCX 6
160#define SM8250_MMCX_AO 7
161#define SM8250_MX 8
162#define SM8250_MX_AO 9
163
164/* SM8350 Power Domain Indexes */
165#define SM8350_CX 0
166#define SM8350_CX_AO 1
167#define SM8350_EBI 2
168#define SM8350_GFX 3
169#define SM8350_LCX 4
170#define SM8350_LMX 5
171#define SM8350_MMCX 6
172#define SM8350_MMCX_AO 7
173#define SM8350_MX 8
174#define SM8350_MX_AO 9
175#define SM8350_MXC 10
176#define SM8350_MXC_AO 11
177#define SM8350_MSS 12
178
179/* SM8450 Power Domain Indexes */
180#define SM8450_CX 0
181#define SM8450_CX_AO 1
182#define SM8450_EBI 2
183#define SM8450_GFX 3
184#define SM8450_LCX 4
185#define SM8450_LMX 5
186#define SM8450_MMCX 6
187#define SM8450_MMCX_AO 7
188#define SM8450_MX 8
189#define SM8450_MX_AO 9
190#define SM8450_MXC 10
191#define SM8450_MXC_AO 11
192#define SM8450_MSS 12
193
194/* SM8550 Power Domain Indexes */
195#define SM8550_CX 0
196#define SM8550_CX_AO 1
197#define SM8550_EBI 2
198#define SM8550_GFX 3
199#define SM8550_LCX 4
200#define SM8550_LMX 5
201#define SM8550_MMCX 6
202#define SM8550_MMCX_AO 7
203#define SM8550_MX 8
204#define SM8550_MX_AO 9
205#define SM8550_MXC 10
206#define SM8550_MXC_AO 11
207#define SM8550_MSS 12
208#define SM8550_NSP 13
209
210/* QDU1000/QRU1000 Power Domain Indexes */
211#define QDU1000_EBI 0
212#define QDU1000_MSS 1
213#define QDU1000_CX 2
214#define QDU1000_MX 3
215
216/* SC7180 Power Domain Indexes */
217#define SC7180_CX 0
218#define SC7180_CX_AO 1
219#define SC7180_GFX 2
220#define SC7180_MX 3
221#define SC7180_MX_AO 4
222#define SC7180_LMX 5
223#define SC7180_LCX 6
224#define SC7180_MSS 7
225
226/* SC7280 Power Domain Indexes */
227#define SC7280_CX 0
228#define SC7280_CX_AO 1
229#define SC7280_EBI 2
230#define SC7280_GFX 3
231#define SC7280_MX 4
232#define SC7280_MX_AO 5
233#define SC7280_LMX 6
234#define SC7280_LCX 7
235#define SC7280_MSS 8
236
237/* SC8180X Power Domain Indexes */
238#define SC8180X_CX 0
239#define SC8180X_CX_AO 1
240#define SC8180X_EBI 2
241#define SC8180X_GFX 3
242#define SC8180X_LCX 4
243#define SC8180X_LMX 5
244#define SC8180X_MMCX 6
245#define SC8180X_MMCX_AO 7
246#define SC8180X_MSS 8
247#define SC8180X_MX 9
248#define SC8180X_MX_AO 10
249
250/* SC8280XP Power Domain Indexes */
251#define SC8280XP_CX 0
252#define SC8280XP_CX_AO 1
253#define SC8280XP_DDR 2
254#define SC8280XP_EBI 3
255#define SC8280XP_GFX 4
256#define SC8280XP_LCX 5
257#define SC8280XP_LMX 6
258#define SC8280XP_MMCX 7
259#define SC8280XP_MMCX_AO 8
260#define SC8280XP_MSS 9
261#define SC8280XP_MX 10
262#define SC8280XP_MXC 12
263#define SC8280XP_MX_AO 11
264#define SC8280XP_NSP 13
265#define SC8280XP_QPHY 14
266#define SC8280XP_XO 15
267#define SC8280XP_MXC_AO 16
268
269#endif