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