blob: 4371ac941f29d9657b6573f4934658f100726224 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
|
/* SPDX-License-Identifier: GPL-2.0 */
/* Copyright (c) 2018, The Linux Foundation. All rights reserved. */
#ifndef _DT_BINDINGS_POWER_QCOM_RPMPD_H
#define _DT_BINDINGS_POWER_QCOM_RPMPD_H
#include <dt-bindings/power/qcom,rpmhpd.h>
/* Generic RPM Power Domain Indexes */
#define RPMPD_VDDCX 0
#define RPMPD_VDDCX_AO 1
/* VFC and VFL are mutually exclusive and can not be present on the same platform */
#define RPMPD_VDDCX_VFC 2
#define RPMPD_VDDCX_VFL 2
#define RPMPD_VDDMX 3
#define RPMPD_VDDMX_AO 4
#define RPMPD_VDDMX_VFL 5
#define RPMPD_SSCCX 6
#define RPMPD_SSCCX_VFL 7
#define RPMPD_SSCMX 8
#define RPMPD_SSCMX_VFL 9
/*
* Platform-specific power domain bindings. Don't add new entries here, use
* RPMPD_* above.
*/
/* MDM9607 Power Domains */
#define MDM9607_VDDCX RPMPD_VDDCX
#define MDM9607_VDDCX_AO RPMPD_VDDCX_AO
#define MDM9607_VDDCX_VFL RPMPD_VDDCX_VFL
#define MDM9607_VDDMX RPMPD_VDDMX
#define MDM9607_VDDMX_AO RPMPD_VDDMX_AO
#define MDM9607_VDDMX_VFL RPMPD_VDDMX_VFL
/* MSM8226 Power Domain Indexes */
#define MSM8226_VDDCX RPMPD_VDDCX
#define MSM8226_VDDCX_AO RPMPD_VDDCX_AO
#define MSM8226_VDDCX_VFC RPMPD_VDDCX_VFC
/* MSM8939 Power Domains */
#define MSM8939_VDDMDCX 0
#define MSM8939_VDDMDCX_AO 1
#define MSM8939_VDDMDCX_VFC 2
#define MSM8939_VDDCX 3
#define MSM8939_VDDCX_AO 4
#define MSM8939_VDDCX_VFC 5
#define MSM8939_VDDMX 6
#define MSM8939_VDDMX_AO 7
/* MSM8916 Power Domain Indexes */
#define MSM8916_VDDCX RPMPD_VDDCX
#define MSM8916_VDDCX_AO RPMPD_VDDCX_AO
#define MSM8916_VDDCX_VFC RPMPD_VDDCX_VFC
#define MSM8916_VDDMX RPMPD_VDDMX
#define MSM8916_VDDMX_AO RPMPD_VDDMX_AO
/* MSM8909 Power Domain Indexes */
#define MSM8909_VDDCX MSM8916_VDDCX
#define MSM8909_VDDCX_AO MSM8916_VDDCX_AO
#define MSM8909_VDDCX_VFC MSM8916_VDDCX_VFC
#define MSM8909_VDDMX MSM8916_VDDMX
#define MSM8909_VDDMX_AO MSM8916_VDDMX_AO
/* MSM8917 Power Domain Indexes */
#define MSM8917_VDDCX RPMPD_VDDCX
#define MSM8917_VDDCX_AO RPMPD_VDDCX_AO
#define MSM8917_VDDCX_VFL RPMPD_VDDCX_VFL
#define MSM8917_VDDMX RPMPD_VDDMX
#define MSM8917_VDDMX_AO RPMPD_VDDMX_AO
/* MSM8937 Power Domain Indexes */
#define MSM8937_VDDCX MSM8917_VDDCX
#define MSM8937_VDDCX_AO MSM8917_VDDCX_AO
#define MSM8937_VDDCX_VFL MSM8917_VDDCX_VFL
#define MSM8937_VDDMX MSM8917_VDDMX
#define MSM8937_VDDMX_AO MSM8917_VDDMX_AO
/* QM215 Power Domain Indexes */
#define QM215_VDDCX MSM8917_VDDCX
#define QM215_VDDCX_AO MSM8917_VDDCX_AO
#define QM215_VDDCX_VFL MSM8917_VDDCX_VFL
#define QM215_VDDMX MSM8917_VDDMX
#define QM215_VDDMX_AO MSM8917_VDDMX_AO
/* MSM8953 Power Domain Indexes */
#define MSM8953_VDDMD 0
#define MSM8953_VDDMD_AO 1
#define MSM8953_VDDCX 2
#define MSM8953_VDDCX_AO 3
#define MSM8953_VDDCX_VFL 4
#define MSM8953_VDDMX 5
#define MSM8953_VDDMX_AO 6
/* MSM8974 Power Domain Indexes */
#define MSM8974_VDDCX 0
#define MSM8974_VDDCX_AO 1
#define MSM8974_VDDCX_VFC 2
#define MSM8974_VDDGFX 3
#define MSM8974_VDDGFX_VFC 4
/* MSM8976 Power Domain Indexes */
#define MSM8976_VDDCX RPMPD_VDDCX
#define MSM8976_VDDCX_AO RPMPD_VDDCX_AO
#define MSM8976_VDDCX_VFL RPMPD_VDDCX_VFL
#define MSM8976_VDDMX RPMPD_VDDMX
#define MSM8976_VDDMX_AO RPMPD_VDDMX_AO
#define MSM8976_VDDMX_VFL RPMPD_VDDMX_VFL
/* MSM8994 Power Domain Indexes */
#define MSM8994_VDDCX 0
#define MSM8994_VDDCX_AO 1
#define MSM8994_VDDCX_VFC 2
#define MSM8994_VDDMX 3
#define MSM8994_VDDMX_AO 4
#define MSM8994_VDDGFX 5
#define MSM8994_VDDGFX_VFC 6
/* MSM8996 Power Domain Indexes */
#define MSM8996_VDDCX 0
#define MSM8996_VDDCX_AO 1
#define MSM8996_VDDCX_VFC 2
#define MSM8996_VDDMX 3
#define MSM8996_VDDMX_AO 4
#define MSM8996_VDDSSCX 5
#define MSM8996_VDDSSCX_VFC 6
/* MSM8998 Power Domain Indexes */
#define MSM8998_VDDCX RPMPD_VDDCX
#define MSM8998_VDDCX_AO RPMPD_VDDCX_AO
#define MSM8998_VDDCX_VFL RPMPD_VDDCX_VFL
#define MSM8998_VDDMX RPMPD_VDDMX
#define MSM8998_VDDMX_AO RPMPD_VDDMX_AO
#define MSM8998_VDDMX_VFL RPMPD_VDDMX_VFL
#define MSM8998_SSCCX RPMPD_SSCCX
#define MSM8998_SSCCX_VFL RPMPD_SSCCX_VFL
#define MSM8998_SSCMX RPMPD_SSCMX
#define MSM8998_SSCMX_VFL RPMPD_SSCMX_VFL
/* QCM2290 Power Domains */
#define QCM2290_VDDCX 0
#define QCM2290_VDDCX_AO 1
#define QCM2290_VDDCX_VFL 2
#define QCM2290_VDDMX 3
#define QCM2290_VDDMX_AO 4
#define QCM2290_VDDMX_VFL 5
#define QCM2290_VDD_LPI_CX 6
#define QCM2290_VDD_LPI_MX 7
/* QCS404 Power Domains */
#define QCS404_VDDMX 0
#define QCS404_VDDMX_AO 1
#define QCS404_VDDMX_VFL 2
#define QCS404_LPICX 3
#define QCS404_LPICX_VFL 4
#define QCS404_LPIMX 5
#define QCS404_LPIMX_VFL 6
/* SDM660 Power Domains */
#define SDM660_VDDCX RPMPD_VDDCX
#define SDM660_VDDCX_AO RPMPD_VDDCX_AO
#define SDM660_VDDCX_VFL RPMPD_VDDCX_VFL
#define SDM660_VDDMX RPMPD_VDDMX
#define SDM660_VDDMX_AO RPMPD_VDDMX_AO
#define SDM660_VDDMX_VFL RPMPD_VDDMX_VFL
#define SDM660_SSCCX RPMPD_SSCCX
#define SDM660_SSCCX_VFL RPMPD_SSCCX_VFL
#define SDM660_SSCMX RPMPD_SSCMX
#define SDM660_SSCMX_VFL RPMPD_SSCMX_VFL
/* SM6115 Power Domains */
#define SM6115_VDDCX 0
#define SM6115_VDDCX_AO 1
#define SM6115_VDDCX_VFL 2
#define SM6115_VDDMX 3
#define SM6115_VDDMX_AO 4
#define SM6115_VDDMX_VFL 5
#define SM6115_VDD_LPI_CX 6
#define SM6115_VDD_LPI_MX 7
/* SM6125 Power Domains */
#define SM6125_VDDCX RPMPD_VDDCX
#define SM6125_VDDCX_AO RPMPD_VDDCX_AO
#define SM6125_VDDCX_VFL RPMPD_VDDCX_VFL
#define SM6125_VDDMX RPMPD_VDDMX
#define SM6125_VDDMX_AO RPMPD_VDDMX_AO
#define SM6125_VDDMX_VFL RPMPD_VDDMX_VFL
/* SM6375 Power Domain Indexes */
#define SM6375_VDDCX 0
#define SM6375_VDDCX_AO 1
#define SM6375_VDDCX_VFL 2
#define SM6375_VDDMX 3
#define SM6375_VDDMX_AO 4
#define SM6375_VDDMX_VFL 5
#define SM6375_VDDGX 6
#define SM6375_VDDGX_AO 7
#define SM6375_VDD_LPI_CX 8
#define SM6375_VDD_LPI_MX 9
/* RPM SMD Power Domain performance levels */
#define RPM_SMD_LEVEL_RETENTION 16
#define RPM_SMD_LEVEL_RETENTION_PLUS 32
#define RPM_SMD_LEVEL_MIN_SVS 48
#define RPM_SMD_LEVEL_LOW_SVS 64
#define RPM_SMD_LEVEL_SVS 128
#define RPM_SMD_LEVEL_SVS_PLUS 192
#define RPM_SMD_LEVEL_NOM 256
#define RPM_SMD_LEVEL_NOM_PLUS 320
#define RPM_SMD_LEVEL_TURBO 384
#define RPM_SMD_LEVEL_TURBO_NO_CPR 416
#define RPM_SMD_LEVEL_TURBO_HIGH 448
#define RPM_SMD_LEVEL_BINNING 512
#endif
|