xref: /freebsd-src/sys/contrib/device-tree/include/dt-bindings/power/qcom-rpmpd.h (revision 5def4c47d4bd90b209b9b4a4ba9faec15846d8fd)
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 
18*5def4c47SEmmanuel Vadot /* SDX55 Power Domain Indexes */
19*5def4c47SEmmanuel Vadot #define SDX55_MSS	0
20*5def4c47SEmmanuel Vadot #define SDX55_MX	1
21*5def4c47SEmmanuel Vadot #define SDX55_CX	2
22*5def4c47SEmmanuel 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 
48c66ec88fSEmmanuel Vadot /* SC7180 Power Domain Indexes */
49c66ec88fSEmmanuel Vadot #define SC7180_CX	0
50c66ec88fSEmmanuel Vadot #define SC7180_CX_AO	1
51c66ec88fSEmmanuel Vadot #define SC7180_GFX	2
52c66ec88fSEmmanuel Vadot #define SC7180_MX	3
53c66ec88fSEmmanuel Vadot #define SC7180_MX_AO	4
54c66ec88fSEmmanuel Vadot #define SC7180_LMX	5
55c66ec88fSEmmanuel Vadot #define SC7180_LCX	6
56c66ec88fSEmmanuel Vadot #define SC7180_MSS	7
57c66ec88fSEmmanuel Vadot 
58c66ec88fSEmmanuel Vadot /* SDM845 Power Domain performance levels */
59c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_RETENTION	16
60c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_MIN_SVS	48
61c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_LOW_SVS	64
62c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_SVS	128
63c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_SVS_L0	144
64c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_SVS_L1	192
65c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_SVS_L2	224
66c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_NOM	256
67c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_NOM_L1	320
68c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_NOM_L2	336
69c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_TURBO	384
70c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_TURBO_L1	416
71c66ec88fSEmmanuel Vadot 
72*5def4c47SEmmanuel Vadot /* MSM8939 Power Domains */
73*5def4c47SEmmanuel Vadot #define MSM8939_VDDMDCX		0
74*5def4c47SEmmanuel Vadot #define MSM8939_VDDMDCX_AO	1
75*5def4c47SEmmanuel Vadot #define MSM8939_VDDMDCX_VFC	2
76*5def4c47SEmmanuel Vadot #define MSM8939_VDDCX		3
77*5def4c47SEmmanuel Vadot #define MSM8939_VDDCX_AO	4
78*5def4c47SEmmanuel Vadot #define MSM8939_VDDCX_VFC	5
79*5def4c47SEmmanuel Vadot #define MSM8939_VDDMX		6
80*5def4c47SEmmanuel Vadot #define MSM8939_VDDMX_AO	7
81*5def4c47SEmmanuel Vadot 
82*5def4c47SEmmanuel Vadot /* MSM8916 Power Domain Indexes */
83*5def4c47SEmmanuel Vadot #define MSM8916_VDDCX		0
84*5def4c47SEmmanuel Vadot #define MSM8916_VDDCX_AO	1
85*5def4c47SEmmanuel Vadot #define MSM8916_VDDCX_VFC	2
86*5def4c47SEmmanuel Vadot #define MSM8916_VDDMX		3
87*5def4c47SEmmanuel Vadot #define MSM8916_VDDMX_AO	4
88*5def4c47SEmmanuel Vadot 
89c66ec88fSEmmanuel Vadot /* MSM8976 Power Domain Indexes */
90c66ec88fSEmmanuel Vadot #define MSM8976_VDDCX		0
91c66ec88fSEmmanuel Vadot #define MSM8976_VDDCX_AO	1
92c66ec88fSEmmanuel Vadot #define MSM8976_VDDCX_VFL	2
93c66ec88fSEmmanuel Vadot #define MSM8976_VDDMX		3
94c66ec88fSEmmanuel Vadot #define MSM8976_VDDMX_AO	4
95c66ec88fSEmmanuel Vadot #define MSM8976_VDDMX_VFL	5
96c66ec88fSEmmanuel Vadot 
97*5def4c47SEmmanuel Vadot /* MSM8994 Power Domain Indexes */
98*5def4c47SEmmanuel Vadot #define MSM8994_VDDCX		0
99*5def4c47SEmmanuel Vadot #define MSM8994_VDDCX_AO	1
100*5def4c47SEmmanuel Vadot #define MSM8994_VDDCX_VFC	2
101*5def4c47SEmmanuel Vadot #define MSM8994_VDDMX		3
102*5def4c47SEmmanuel Vadot #define MSM8994_VDDMX_AO	4
103*5def4c47SEmmanuel Vadot #define MSM8994_VDDGFX		5
104*5def4c47SEmmanuel Vadot #define MSM8994_VDDGFX_VFC	6
105*5def4c47SEmmanuel Vadot 
106c66ec88fSEmmanuel Vadot /* MSM8996 Power Domain Indexes */
107c66ec88fSEmmanuel Vadot #define MSM8996_VDDCX		0
108c66ec88fSEmmanuel Vadot #define MSM8996_VDDCX_AO	1
109c66ec88fSEmmanuel Vadot #define MSM8996_VDDCX_VFC	2
110c66ec88fSEmmanuel Vadot #define MSM8996_VDDMX		3
111c66ec88fSEmmanuel Vadot #define MSM8996_VDDMX_AO	4
112c66ec88fSEmmanuel Vadot #define MSM8996_VDDSSCX		5
113c66ec88fSEmmanuel Vadot #define MSM8996_VDDSSCX_VFC	6
114c66ec88fSEmmanuel Vadot 
115c66ec88fSEmmanuel Vadot /* MSM8998 Power Domain Indexes */
116c66ec88fSEmmanuel Vadot #define MSM8998_VDDCX		0
117c66ec88fSEmmanuel Vadot #define MSM8998_VDDCX_AO	1
118c66ec88fSEmmanuel Vadot #define MSM8998_VDDCX_VFL	2
119c66ec88fSEmmanuel Vadot #define MSM8998_VDDMX		3
120c66ec88fSEmmanuel Vadot #define MSM8998_VDDMX_AO	4
121c66ec88fSEmmanuel Vadot #define MSM8998_VDDMX_VFL	5
122c66ec88fSEmmanuel Vadot #define MSM8998_SSCCX		6
123c66ec88fSEmmanuel Vadot #define MSM8998_SSCCX_VFL	7
124c66ec88fSEmmanuel Vadot #define MSM8998_SSCMX		8
125c66ec88fSEmmanuel Vadot #define MSM8998_SSCMX_VFL	9
126c66ec88fSEmmanuel Vadot 
127c66ec88fSEmmanuel Vadot /* QCS404 Power Domains */
128c66ec88fSEmmanuel Vadot #define QCS404_VDDMX		0
129c66ec88fSEmmanuel Vadot #define QCS404_VDDMX_AO		1
130c66ec88fSEmmanuel Vadot #define QCS404_VDDMX_VFL	2
131c66ec88fSEmmanuel Vadot #define QCS404_LPICX		3
132c66ec88fSEmmanuel Vadot #define QCS404_LPICX_VFL	4
133c66ec88fSEmmanuel Vadot #define QCS404_LPIMX		5
134c66ec88fSEmmanuel Vadot #define QCS404_LPIMX_VFL	6
135c66ec88fSEmmanuel Vadot 
136*5def4c47SEmmanuel Vadot /* SDM660 Power Domains */
137*5def4c47SEmmanuel Vadot #define SDM660_VDDCX		0
138*5def4c47SEmmanuel Vadot #define SDM660_VDDCX_AO		1
139*5def4c47SEmmanuel Vadot #define SDM660_VDDCX_VFL	2
140*5def4c47SEmmanuel Vadot #define SDM660_VDDMX		3
141*5def4c47SEmmanuel Vadot #define SDM660_VDDMX_AO		4
142*5def4c47SEmmanuel Vadot #define SDM660_VDDMX_VFL	5
143*5def4c47SEmmanuel Vadot #define SDM660_SSCCX		6
144*5def4c47SEmmanuel Vadot #define SDM660_SSCCX_VFL	7
145*5def4c47SEmmanuel Vadot #define SDM660_SSCMX		8
146*5def4c47SEmmanuel Vadot #define SDM660_SSCMX_VFL	9
147*5def4c47SEmmanuel Vadot 
148c66ec88fSEmmanuel Vadot /* RPM SMD Power Domain performance levels */
149c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_RETENTION       16
150c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_RETENTION_PLUS  32
151c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_MIN_SVS         48
152c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_LOW_SVS         64
153c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_SVS             128
154c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_SVS_PLUS        192
155c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_NOM             256
156c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_NOM_PLUS        320
157c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_TURBO           384
158c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_TURBO_NO_CPR    416
159c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_TURBO_HIGH      448
160c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_BINNING         512
161c66ec88fSEmmanuel Vadot 
162c66ec88fSEmmanuel Vadot #endif
163