blob: 4ee1997f47ec812d79d840af7d0474f138344674 [file] [log] [blame]
Praveen Chidambaram78499012011-11-01 17:15:17 -06001/* Copyright (c) 2010-2012, Code Aurora Forum. All rights reserved.
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -07002 *
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License version 2 and
5 * only version 2 as published by the Free Software Foundation.
6 *
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
11 *
12 */
13
14#ifndef __ARCH_ARM_MACH_MSM_RPM_H
15#define __ARCH_ARM_MACH_MSM_RPM_H
16
17#include <linux/types.h>
18#include <linux/list.h>
19#include <linux/semaphore.h>
20
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070021#include <mach/rpm-8660.h>
Praveen Chidambaramab3b1c42011-08-25 08:44:05 -060022#include <mach/rpm-9615.h>
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070023#include <mach/rpm-8960.h>
Praveen Chidambaram78499012011-11-01 17:15:17 -060024#include <mach/rpm-8930.h>
25#include <mach/rpm-8064.h>
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070026
Praveen Chidambaram78499012011-11-01 17:15:17 -060027#define SEL_MASK_SIZE (5)
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070028
29enum {
30 MSM_RPM_PAGE_STATUS,
31 MSM_RPM_PAGE_CTRL,
32 MSM_RPM_PAGE_REQ,
33 MSM_RPM_PAGE_ACK,
34 MSM_RPM_PAGE_COUNT
35};
36
37enum {
38 MSM_RPM_CTX_SET_0,
39 MSM_RPM_CTX_SET_SLEEP,
40 MSM_RPM_CTX_SET_COUNT,
41
42 MSM_RPM_CTX_NOTIFICATION = 30,
43 MSM_RPM_CTX_REJECTED = 31,
44};
45
Praveen Chidambaram78499012011-11-01 17:15:17 -060046/* RPM control message RAM enums */
47enum {
48 MSM_RPM_CTRL_VERSION_MAJOR,
49 MSM_RPM_CTRL_VERSION_MINOR,
50 MSM_RPM_CTRL_VERSION_BUILD,
51
52 MSM_RPM_CTRL_REQ_CTX_0,
53 MSM_RPM_CTRL_REQ_SEL_0,
54 MSM_RPM_CTRL_ACK_CTX_0,
55 MSM_RPM_CTRL_ACK_SEL_0,
56
57 MSM_RPM_CTRL_LAST,
58};
59
60enum {
61 MSM_RPM_ID_NOTIFICATION_CONFIGURED_0 = 0,
62 MSM_RPM_ID_NOTIFICATION_CONFIGURED_7 =
63 MSM_RPM_ID_NOTIFICATION_CONFIGURED_0 + 7,
64
65 MSM_RPM_ID_NOTIFICATION_REGISTERED_0,
66 MSM_RPM_ID_NOTIFICATION_REGISTERED_7 =
67 MSM_RPM_ID_NOTIFICATION_REGISTERED_0 + 7,
68
69 MSM_RPM_ID_INVALIDATE_0,
70 MSM_RPM_ID_INVALIDATE_7 =
71 MSM_RPM_ID_INVALIDATE_0 + 7,
72
73 MSM_RPM_ID_TRIGGER_TIMED_TO,
74 MSM_RPM_ID_TRIGGER_TIMED_0,
75 MSM_RPM_ID_TRIGGER_TIMED_SCLK_COUNT,
76
77 MSM_RPM_ID_RPM_CTL,
78
79 /* TRIGGER_CLEAR/SET deprecated in these 24 RESERVED bytes */
80 MSM_RPM_ID_RESERVED_0,
81 MSM_RPM_ID_RESERVED_5 =
82 MSM_RPM_ID_RESERVED_0 + 5,
83
84 MSM_RPM_ID_CXO_CLK,
85 MSM_RPM_ID_PXO_CLK,
86 MSM_RPM_ID_APPS_FABRIC_CLK,
87 MSM_RPM_ID_SYSTEM_FABRIC_CLK,
88 MSM_RPM_ID_MM_FABRIC_CLK,
89 MSM_RPM_ID_DAYTONA_FABRIC_CLK,
90 MSM_RPM_ID_SFPB_CLK,
91 MSM_RPM_ID_CFPB_CLK,
92 MSM_RPM_ID_MMFPB_CLK,
93 MSM_RPM_ID_EBI1_CLK,
94
95 MSM_RPM_ID_APPS_FABRIC_CFG_HALT_0,
96 MSM_RPM_ID_APPS_FABRIC_HALT_0 =
97 MSM_RPM_ID_APPS_FABRIC_CFG_HALT_0,
98 MSM_RPM_ID_APPS_FABRIC_CFG_HALT_1,
99 MSM_RPM_ID_APPS_FABRIC_CFG_CLKMOD_0,
100 MSM_RPM_ID_APPS_FABRIC_CLOCK_MODE_0 =
101 MSM_RPM_ID_APPS_FABRIC_CFG_CLKMOD_0,
102 MSM_RPM_ID_APPS_FABRIC_CFG_CLKMOD_1,
103 MSM_RPM_ID_APPS_FABRIC_CFG_CLKMOD_2,
104 MSM_RPM_ID_APPS_FABRIC_CFG_IOCTL,
105 MSM_RPM_ID_APPS_FABRIC_ARB_0,
106 MSM_RPM_ID_APPS_FABRIC_ARB_11 =
107 MSM_RPM_ID_APPS_FABRIC_ARB_0 + 11,
108
109 MSM_RPM_ID_SYS_FABRIC_CFG_HALT_0,
110 MSM_RPM_ID_SYSTEM_FABRIC_HALT_0 =
111 MSM_RPM_ID_SYS_FABRIC_CFG_HALT_0,
112 MSM_RPM_ID_SYS_FABRIC_CFG_HALT_1,
113 MSM_RPM_ID_SYS_FABRIC_CFG_CLKMOD_0,
114 MSM_RPM_ID_SYSTEM_FABRIC_CLOCK_MODE_0 =
115 MSM_RPM_ID_SYS_FABRIC_CFG_CLKMOD_0,
116 MSM_RPM_ID_SYS_FABRIC_CFG_CLKMOD_1,
117 MSM_RPM_ID_SYS_FABRIC_CFG_CLKMOD_2,
118 MSM_RPM_ID_SYS_FABRIC_CFG_IOCTL,
119 MSM_RPM_ID_SYSTEM_FABRIC_ARB_0,
Praveen Chidambaramc3907802012-02-14 17:26:19 -0700120 MSM_RPM_ID_SYSTEM_FABRIC_ARB_29 =
121 MSM_RPM_ID_SYSTEM_FABRIC_ARB_0 + 29,
Praveen Chidambaram78499012011-11-01 17:15:17 -0600122
123 MSM_RPM_ID_MMSS_FABRIC_CFG_HALT_0,
124 MSM_RPM_ID_MM_FABRIC_HALT_0 =
125 MSM_RPM_ID_MMSS_FABRIC_CFG_HALT_0,
126 MSM_RPM_ID_MMSS_FABRIC_CFG_HALT_1,
127 MSM_RPM_ID_MMSS_FABRIC_CFG_CLKMOD_0,
128 MSM_RPM_ID_MM_FABRIC_CLOCK_MODE_0 =
129 MSM_RPM_ID_MMSS_FABRIC_CFG_CLKMOD_0,
130 MSM_RPM_ID_MMSS_FABRIC_CFG_CLKMOD_1,
131 MSM_RPM_ID_MMSS_FABRIC_CFG_CLKMOD_2,
132 MSM_RPM_ID_MMSS_FABRIC_CFG_IOCTL,
133 MSM_RPM_ID_MM_FABRIC_ARB_0,
134 MSM_RPM_ID_MM_FABRIC_ARB_22 =
135 MSM_RPM_ID_MM_FABRIC_ARB_0 + 22,
136
137 MSM_RPM_ID_PM8921_S1_0,
138 MSM_RPM_ID_PM8921_S1_1,
139 MSM_RPM_ID_PM8921_S2_0,
140 MSM_RPM_ID_PM8921_S2_1,
141 MSM_RPM_ID_PM8921_S3_0,
142 MSM_RPM_ID_PM8921_S3_1,
143 MSM_RPM_ID_PM8921_S4_0,
144 MSM_RPM_ID_PM8921_S4_1,
145 MSM_RPM_ID_PM8921_S5_0,
146 MSM_RPM_ID_PM8921_S5_1,
147 MSM_RPM_ID_PM8921_S6_0,
148 MSM_RPM_ID_PM8921_S6_1,
149 MSM_RPM_ID_PM8921_S7_0,
150 MSM_RPM_ID_PM8921_S7_1,
151 MSM_RPM_ID_PM8921_S8_0,
152 MSM_RPM_ID_PM8921_S8_1,
153 MSM_RPM_ID_PM8921_L1_0,
154 MSM_RPM_ID_PM8921_L1_1,
155 MSM_RPM_ID_PM8921_L2_0,
156 MSM_RPM_ID_PM8921_L2_1,
157 MSM_RPM_ID_PM8921_L3_0,
158 MSM_RPM_ID_PM8921_L3_1,
159 MSM_RPM_ID_PM8921_L4_0,
160 MSM_RPM_ID_PM8921_L4_1,
161 MSM_RPM_ID_PM8921_L5_0,
162 MSM_RPM_ID_PM8921_L5_1,
163 MSM_RPM_ID_PM8921_L6_0,
164 MSM_RPM_ID_PM8921_L6_1,
165 MSM_RPM_ID_PM8921_L7_0,
166 MSM_RPM_ID_PM8921_L7_1,
167 MSM_RPM_ID_PM8921_L8_0,
168 MSM_RPM_ID_PM8921_L8_1,
169 MSM_RPM_ID_PM8921_L9_0,
170 MSM_RPM_ID_PM8921_L9_1,
171 MSM_RPM_ID_PM8921_L10_0,
172 MSM_RPM_ID_PM8921_L10_1,
173 MSM_RPM_ID_PM8921_L11_0,
174 MSM_RPM_ID_PM8921_L11_1,
175 MSM_RPM_ID_PM8921_L12_0,
176 MSM_RPM_ID_PM8921_L12_1,
177 MSM_RPM_ID_PM8921_L13_0,
178 MSM_RPM_ID_PM8921_L13_1,
179 MSM_RPM_ID_PM8921_L14_0,
180 MSM_RPM_ID_PM8921_L14_1,
181 MSM_RPM_ID_PM8921_L15_0,
182 MSM_RPM_ID_PM8921_L15_1,
183 MSM_RPM_ID_PM8921_L16_0,
184 MSM_RPM_ID_PM8921_L16_1,
185 MSM_RPM_ID_PM8921_L17_0,
186 MSM_RPM_ID_PM8921_L17_1,
187 MSM_RPM_ID_PM8921_L18_0,
188 MSM_RPM_ID_PM8921_L18_1,
189 MSM_RPM_ID_PM8921_L19_0,
190 MSM_RPM_ID_PM8921_L19_1,
191 MSM_RPM_ID_PM8921_L20_0,
192 MSM_RPM_ID_PM8921_L20_1,
193 MSM_RPM_ID_PM8921_L21_0,
194 MSM_RPM_ID_PM8921_L21_1,
195 MSM_RPM_ID_PM8921_L22_0,
196 MSM_RPM_ID_PM8921_L22_1,
197 MSM_RPM_ID_PM8921_L23_0,
198 MSM_RPM_ID_PM8921_L23_1,
199 MSM_RPM_ID_PM8921_L24_0,
200 MSM_RPM_ID_PM8921_L24_1,
201 MSM_RPM_ID_PM8921_L25_0,
202 MSM_RPM_ID_PM8921_L25_1,
203 MSM_RPM_ID_PM8921_L26_0,
204 MSM_RPM_ID_PM8921_L26_1,
205 MSM_RPM_ID_PM8921_L27_0,
206 MSM_RPM_ID_PM8921_L27_1,
207 MSM_RPM_ID_PM8921_L28_0,
208 MSM_RPM_ID_PM8921_L28_1,
209 MSM_RPM_ID_PM8921_L29_0,
210 MSM_RPM_ID_PM8921_L29_1,
211 MSM_RPM_ID_PM8921_CLK1_0,
212 MSM_RPM_ID_PM8921_CLK1_1,
213 MSM_RPM_ID_PM8921_CLK2_0,
214 MSM_RPM_ID_PM8921_CLK2_1,
215 MSM_RPM_ID_PM8921_LVS1,
216 MSM_RPM_ID_PM8921_LVS2,
217 MSM_RPM_ID_PM8921_LVS3,
218 MSM_RPM_ID_PM8921_LVS4,
219 MSM_RPM_ID_PM8921_LVS5,
220 MSM_RPM_ID_PM8921_LVS6,
221 MSM_RPM_ID_PM8921_LVS7,
222 MSM_RPM_ID_NCP_0,
223 MSM_RPM_ID_NCP_1,
224 MSM_RPM_ID_CXO_BUFFERS,
225 MSM_RPM_ID_USB_OTG_SWITCH,
226 MSM_RPM_ID_HDMI_SWITCH,
227 MSM_RPM_ID_DDR_DMM_0,
228 MSM_RPM_ID_DDR_DMM_1,
229 MSM_RPM_ID_QDSS_CLK,
230
231 /* 8660 specific ids */
232 MSM_RPM_ID_TRIGGER_SET_FROM,
233 MSM_RPM_ID_TRIGGER_SET_TO,
234 MSM_RPM_ID_TRIGGER_SET_TRIGGER,
235
236 MSM_RPM_ID_TRIGGER_CLEAR_FROM,
237 MSM_RPM_ID_TRIGGER_CLEAR_TO,
238 MSM_RPM_ID_TRIGGER_CLEAR_TRIGGER,
239 MSM_RPM_ID_PLL_4,
240 MSM_RPM_ID_SMI_CLK,
241 MSM_RPM_ID_APPS_L2_CACHE_CTL,
242
243 /* pmic 8901 */
244 MSM_RPM_ID_SMPS0B_0,
245 MSM_RPM_ID_SMPS0B_1,
246 MSM_RPM_ID_SMPS1B_0,
247 MSM_RPM_ID_SMPS1B_1,
248 MSM_RPM_ID_SMPS2B_0,
249 MSM_RPM_ID_SMPS2B_1,
250 MSM_RPM_ID_SMPS3B_0,
251 MSM_RPM_ID_SMPS3B_1,
252 MSM_RPM_ID_SMPS4B_0,
253 MSM_RPM_ID_SMPS4B_1,
254 MSM_RPM_ID_LDO0B_0,
255 MSM_RPM_ID_LDO0B_1,
256 MSM_RPM_ID_LDO1B_0,
257 MSM_RPM_ID_LDO1B_1,
258 MSM_RPM_ID_LDO2B_0,
259 MSM_RPM_ID_LDO2B_1,
260 MSM_RPM_ID_LDO3B_0,
261 MSM_RPM_ID_LDO3B_1,
262 MSM_RPM_ID_LDO4B_0,
263 MSM_RPM_ID_LDO4B_1,
264 MSM_RPM_ID_LDO5B_0,
265 MSM_RPM_ID_LDO5B_1,
266 MSM_RPM_ID_LDO6B_0,
267 MSM_RPM_ID_LDO6B_1,
268 MSM_RPM_ID_LVS0B,
269 MSM_RPM_ID_LVS1B,
270 MSM_RPM_ID_LVS2B,
271 MSM_RPM_ID_LVS3B,
272 MSM_RPM_ID_MVS,
273
274 /* pmic 8058 */
275 MSM_RPM_ID_SMPS0_0,
276 MSM_RPM_ID_SMPS0_1,
277 MSM_RPM_ID_SMPS1_0,
278 MSM_RPM_ID_SMPS1_1,
279 MSM_RPM_ID_SMPS2_0,
280 MSM_RPM_ID_SMPS2_1,
281 MSM_RPM_ID_SMPS3_0,
282 MSM_RPM_ID_SMPS3_1,
283 MSM_RPM_ID_SMPS4_0,
284 MSM_RPM_ID_SMPS4_1,
285 MSM_RPM_ID_LDO0_0,
286 MSM_RPM_ID_LDO0_1,
287 MSM_RPM_ID_LDO1_0,
288 MSM_RPM_ID_LDO1_1,
289 MSM_RPM_ID_LDO2_0,
290 MSM_RPM_ID_LDO2_1,
291 MSM_RPM_ID_LDO3_0,
292 MSM_RPM_ID_LDO3_1,
293 MSM_RPM_ID_LDO4_0,
294 MSM_RPM_ID_LDO4_1,
295 MSM_RPM_ID_LDO5_0,
296 MSM_RPM_ID_LDO5_1,
297 MSM_RPM_ID_LDO6_0,
298 MSM_RPM_ID_LDO6_1,
299 MSM_RPM_ID_LDO7_0,
300 MSM_RPM_ID_LDO7_1,
301 MSM_RPM_ID_LDO8_0,
302 MSM_RPM_ID_LDO8_1,
303 MSM_RPM_ID_LDO9_0,
304 MSM_RPM_ID_LDO9_1,
305 MSM_RPM_ID_LDO10_0,
306 MSM_RPM_ID_LDO10_1,
307 MSM_RPM_ID_LDO11_0,
308 MSM_RPM_ID_LDO11_1,
309 MSM_RPM_ID_LDO12_0,
310 MSM_RPM_ID_LDO12_1,
311 MSM_RPM_ID_LDO13_0,
312 MSM_RPM_ID_LDO13_1,
313 MSM_RPM_ID_LDO14_0,
314 MSM_RPM_ID_LDO14_1,
315 MSM_RPM_ID_LDO15_0,
316 MSM_RPM_ID_LDO15_1,
317 MSM_RPM_ID_LDO16_0,
318 MSM_RPM_ID_LDO16_1,
319 MSM_RPM_ID_LDO17_0,
320 MSM_RPM_ID_LDO17_1,
321 MSM_RPM_ID_LDO18_0,
322 MSM_RPM_ID_LDO18_1,
323 MSM_RPM_ID_LDO19_0,
324 MSM_RPM_ID_LDO19_1,
325 MSM_RPM_ID_LDO20_0,
326 MSM_RPM_ID_LDO20_1,
327 MSM_RPM_ID_LDO21_0,
328 MSM_RPM_ID_LDO21_1,
329 MSM_RPM_ID_LDO22_0,
330 MSM_RPM_ID_LDO22_1,
331 MSM_RPM_ID_LDO23_0,
332 MSM_RPM_ID_LDO23_1,
333 MSM_RPM_ID_LDO24_0,
334 MSM_RPM_ID_LDO24_1,
335 MSM_RPM_ID_LDO25_0,
336 MSM_RPM_ID_LDO25_1,
337 MSM_RPM_ID_LVS0,
338 MSM_RPM_ID_LVS1,
339
340 /* 9615 specific */
341 MSM_RPM_ID_PM8018_S1_0,
342 MSM_RPM_ID_PM8018_S1_1,
343 MSM_RPM_ID_PM8018_S2_0,
344 MSM_RPM_ID_PM8018_S2_1,
345 MSM_RPM_ID_PM8018_S3_0,
346 MSM_RPM_ID_PM8018_S3_1,
347 MSM_RPM_ID_PM8018_S4_0,
348 MSM_RPM_ID_PM8018_S4_1,
349 MSM_RPM_ID_PM8018_S5_0,
350 MSM_RPM_ID_PM8018_S5_1,
351 MSM_RPM_ID_PM8018_L1_0,
352 MSM_RPM_ID_PM8018_L1_1,
353 MSM_RPM_ID_PM8018_L2_0,
354 MSM_RPM_ID_PM8018_L2_1,
355 MSM_RPM_ID_PM8018_L3_0,
356 MSM_RPM_ID_PM8018_L3_1,
357 MSM_RPM_ID_PM8018_L4_0,
358 MSM_RPM_ID_PM8018_L4_1,
359 MSM_RPM_ID_PM8018_L5_0,
360 MSM_RPM_ID_PM8018_L5_1,
361 MSM_RPM_ID_PM8018_L6_0,
362 MSM_RPM_ID_PM8018_L6_1,
363 MSM_RPM_ID_PM8018_L7_0,
364 MSM_RPM_ID_PM8018_L7_1,
365 MSM_RPM_ID_PM8018_L8_0,
366 MSM_RPM_ID_PM8018_L8_1,
367 MSM_RPM_ID_PM8018_L9_0,
368 MSM_RPM_ID_PM8018_L9_1,
369 MSM_RPM_ID_PM8018_L10_0,
370 MSM_RPM_ID_PM8018_L10_1,
371 MSM_RPM_ID_PM8018_L11_0,
372 MSM_RPM_ID_PM8018_L11_1,
373 MSM_RPM_ID_PM8018_L12_0,
374 MSM_RPM_ID_PM8018_L12_1,
375 MSM_RPM_ID_PM8018_L13_0,
376 MSM_RPM_ID_PM8018_L13_1,
377 MSM_RPM_ID_PM8018_L14_0,
378 MSM_RPM_ID_PM8018_L14_1,
379 MSM_RPM_ID_PM8018_LVS1,
380
381 /* 8930 specific */
382 MSM_RPM_ID_PM8038_S1_0,
383 MSM_RPM_ID_PM8038_S1_1,
384 MSM_RPM_ID_PM8038_S2_0,
385 MSM_RPM_ID_PM8038_S2_1,
386 MSM_RPM_ID_PM8038_S3_0,
387 MSM_RPM_ID_PM8038_S3_1,
388 MSM_RPM_ID_PM8038_S4_0,
389 MSM_RPM_ID_PM8038_S4_1,
390 MSM_RPM_ID_PM8038_S5_0,
391 MSM_RPM_ID_PM8038_S5_1,
392 MSM_RPM_ID_PM8038_S6_0,
393 MSM_RPM_ID_PM8038_S6_1,
394 MSM_RPM_ID_PM8038_L1_0,
395 MSM_RPM_ID_PM8038_L1_1,
396 MSM_RPM_ID_PM8038_L2_0,
397 MSM_RPM_ID_PM8038_L2_1,
398 MSM_RPM_ID_PM8038_L3_0,
399 MSM_RPM_ID_PM8038_L3_1,
400 MSM_RPM_ID_PM8038_L4_0,
401 MSM_RPM_ID_PM8038_L4_1,
402 MSM_RPM_ID_PM8038_L5_0,
403 MSM_RPM_ID_PM8038_L5_1,
404 MSM_RPM_ID_PM8038_L6_0,
405 MSM_RPM_ID_PM8038_L6_1,
406 MSM_RPM_ID_PM8038_L7_0,
407 MSM_RPM_ID_PM8038_L7_1,
408 MSM_RPM_ID_PM8038_L8_0,
409 MSM_RPM_ID_PM8038_L8_1,
410 MSM_RPM_ID_PM8038_L9_0,
411 MSM_RPM_ID_PM8038_L9_1,
412 MSM_RPM_ID_PM8038_L10_0,
413 MSM_RPM_ID_PM8038_L10_1,
414 MSM_RPM_ID_PM8038_L11_0,
415 MSM_RPM_ID_PM8038_L11_1,
416 MSM_RPM_ID_PM8038_L12_0,
417 MSM_RPM_ID_PM8038_L12_1,
418 MSM_RPM_ID_PM8038_L13_0,
419 MSM_RPM_ID_PM8038_L13_1,
420 MSM_RPM_ID_PM8038_L14_0,
421 MSM_RPM_ID_PM8038_L14_1,
422 MSM_RPM_ID_PM8038_L15_0,
423 MSM_RPM_ID_PM8038_L15_1,
424 MSM_RPM_ID_PM8038_L16_0,
425 MSM_RPM_ID_PM8038_L16_1,
426 MSM_RPM_ID_PM8038_L17_0,
427 MSM_RPM_ID_PM8038_L17_1,
428 MSM_RPM_ID_PM8038_L18_0,
429 MSM_RPM_ID_PM8038_L18_1,
430 MSM_RPM_ID_PM8038_L19_0,
431 MSM_RPM_ID_PM8038_L19_1,
432 MSM_RPM_ID_PM8038_L20_0,
433 MSM_RPM_ID_PM8038_L20_1,
434 MSM_RPM_ID_PM8038_L21_0,
435 MSM_RPM_ID_PM8038_L21_1,
436 MSM_RPM_ID_PM8038_L22_0,
437 MSM_RPM_ID_PM8038_L22_1,
438 MSM_RPM_ID_PM8038_L23_0,
439 MSM_RPM_ID_PM8038_L23_1,
440 MSM_RPM_ID_PM8038_L24_0,
441 MSM_RPM_ID_PM8038_L24_1,
442 MSM_RPM_ID_PM8038_L25_0,
443 MSM_RPM_ID_PM8038_L25_1,
444 MSM_RPM_ID_PM8038_L26_0,
445 MSM_RPM_ID_PM8038_L26_1,
446 MSM_RPM_ID_PM8038_L27_0,
447 MSM_RPM_ID_PM8038_L27_1,
448 MSM_RPM_ID_PM8038_CLK1_0,
449 MSM_RPM_ID_PM8038_CLK1_1,
450 MSM_RPM_ID_PM8038_CLK2_0,
451 MSM_RPM_ID_PM8038_CLK2_1,
452 MSM_RPM_ID_PM8038_LVS1,
453 MSM_RPM_ID_PM8038_LVS2,
Praveen Chidambaram75b8c812012-08-10 16:26:37 -0600454
455 /* PM8917 specific */
456 MSM_RPM_ID_PM8917_S1_0,
457 MSM_RPM_ID_PM8917_S1_1,
458 MSM_RPM_ID_PM8917_S2_0,
459 MSM_RPM_ID_PM8917_S2_1,
460 MSM_RPM_ID_PM8917_S3_0,
461 MSM_RPM_ID_PM8917_S3_1,
462 MSM_RPM_ID_PM8917_S4_0,
463 MSM_RPM_ID_PM8917_S4_1,
464 MSM_RPM_ID_PM8917_S5_0,
465 MSM_RPM_ID_PM8917_S5_1,
466 MSM_RPM_ID_PM8917_S6_0,
467 MSM_RPM_ID_PM8917_S6_1,
468 MSM_RPM_ID_PM8917_S7_0,
469 MSM_RPM_ID_PM8917_S7_1,
470 MSM_RPM_ID_PM8917_S8_0,
471 MSM_RPM_ID_PM8917_S8_1,
472 MSM_RPM_ID_PM8917_L1_0,
473 MSM_RPM_ID_PM8917_L1_1,
474 MSM_RPM_ID_PM8917_L2_0,
475 MSM_RPM_ID_PM8917_L2_1,
476 MSM_RPM_ID_PM8917_L3_0,
477 MSM_RPM_ID_PM8917_L3_1,
478 MSM_RPM_ID_PM8917_L4_0,
479 MSM_RPM_ID_PM8917_L4_1,
480 MSM_RPM_ID_PM8917_L5_0,
481 MSM_RPM_ID_PM8917_L5_1,
482 MSM_RPM_ID_PM8917_L6_0,
483 MSM_RPM_ID_PM8917_L6_1,
484 MSM_RPM_ID_PM8917_L7_0,
485 MSM_RPM_ID_PM8917_L7_1,
486 MSM_RPM_ID_PM8917_L8_0,
487 MSM_RPM_ID_PM8917_L8_1,
488 MSM_RPM_ID_PM8917_L9_0,
489 MSM_RPM_ID_PM8917_L9_1,
490 MSM_RPM_ID_PM8917_L10_0,
491 MSM_RPM_ID_PM8917_L10_1,
492 MSM_RPM_ID_PM8917_L11_0,
493 MSM_RPM_ID_PM8917_L11_1,
494 MSM_RPM_ID_PM8917_L12_0,
495 MSM_RPM_ID_PM8917_L12_1,
496 MSM_RPM_ID_PM8917_L14_0,
497 MSM_RPM_ID_PM8917_L14_1,
498 MSM_RPM_ID_PM8917_L15_0,
499 MSM_RPM_ID_PM8917_L15_1,
500 MSM_RPM_ID_PM8917_L16_0,
501 MSM_RPM_ID_PM8917_L16_1,
502 MSM_RPM_ID_PM8917_L17_0,
503 MSM_RPM_ID_PM8917_L17_1,
504 MSM_RPM_ID_PM8917_L18_0,
505 MSM_RPM_ID_PM8917_L18_1,
506 MSM_RPM_ID_PM8917_L21_0,
507 MSM_RPM_ID_PM8917_L21_1,
508 MSM_RPM_ID_PM8917_L22_0,
509 MSM_RPM_ID_PM8917_L22_1,
510 MSM_RPM_ID_PM8917_L23_0,
511 MSM_RPM_ID_PM8917_L23_1,
512 MSM_RPM_ID_PM8917_L24_0,
513 MSM_RPM_ID_PM8917_L24_1,
514 MSM_RPM_ID_PM8917_L25_0,
515 MSM_RPM_ID_PM8917_L25_1,
516 MSM_RPM_ID_PM8917_L26_0,
517 MSM_RPM_ID_PM8917_L26_1,
518 MSM_RPM_ID_PM8917_L27_0,
519 MSM_RPM_ID_PM8917_L27_1,
520 MSM_RPM_ID_PM8917_L28_0,
521 MSM_RPM_ID_PM8917_L28_1,
522 MSM_RPM_ID_PM8917_L29_0,
523 MSM_RPM_ID_PM8917_L29_1,
524 MSM_RPM_ID_PM8917_L30_0,
525 MSM_RPM_ID_PM8917_L30_1,
526 MSM_RPM_ID_PM8917_L31_0,
527 MSM_RPM_ID_PM8917_L31_1,
528 MSM_RPM_ID_PM8917_L32_0,
529 MSM_RPM_ID_PM8917_L32_1,
530 MSM_RPM_ID_PM8917_L33_0,
531 MSM_RPM_ID_PM8917_L33_1,
532 MSM_RPM_ID_PM8917_L34_0,
533 MSM_RPM_ID_PM8917_L34_1,
534 MSM_RPM_ID_PM8917_L35_0,
535 MSM_RPM_ID_PM8917_L35_1,
536 MSM_RPM_ID_PM8917_L36_0,
537 MSM_RPM_ID_PM8917_L36_1,
538 MSM_RPM_ID_PM8917_CLK1_0,
539 MSM_RPM_ID_PM8917_CLK1_1,
540 MSM_RPM_ID_PM8917_CLK2_0,
541 MSM_RPM_ID_PM8917_CLK2_1,
542 MSM_RPM_ID_PM8917_LVS1,
543 MSM_RPM_ID_PM8917_LVS3,
544 MSM_RPM_ID_PM8917_LVS4,
545 MSM_RPM_ID_PM8917_LVS5,
546 MSM_RPM_ID_PM8917_LVS6,
547 MSM_RPM_ID_PM8917_LVS7,
Mahesh Sivasubramanian9e52ce42012-02-01 16:00:19 -0700548 MSM_RPM_ID_VOLTAGE_CORNER,
Praveen Chidambaram78499012011-11-01 17:15:17 -0600549
550 /* 8064 specific */
551 MSM_RPM_ID_PM8821_S1_0,
552 MSM_RPM_ID_PM8821_S1_1,
553 MSM_RPM_ID_PM8821_S2_0,
554 MSM_RPM_ID_PM8821_S2_1,
555 MSM_RPM_ID_PM8821_L1_0,
556 MSM_RPM_ID_PM8821_L1_1,
Joel Kingef390842012-05-23 16:42:48 -0700557 MSM_RPM_ID_VDDMIN_GPIO,
Praveen Chidambaram78499012011-11-01 17:15:17 -0600558
559 MSM_RPM_ID_LAST,
560};
561
562enum {
563 MSM_RPM_STATUS_ID_VERSION_MAJOR,
564 MSM_RPM_STATUS_ID_VERSION_MINOR,
565 MSM_RPM_STATUS_ID_VERSION_BUILD,
566 MSM_RPM_STATUS_ID_SUPPORTED_RESOURCES_0,
567 MSM_RPM_STATUS_ID_SUPPORTED_RESOURCES_1,
568 MSM_RPM_STATUS_ID_SUPPORTED_RESOURCES_2,
569 MSM_RPM_STATUS_ID_RESERVED_SUPPORTED_RESOURCES_0,
570 MSM_RPM_STATUS_ID_SEQUENCE,
571 MSM_RPM_STATUS_ID_RPM_CTL,
572 MSM_RPM_STATUS_ID_CXO_CLK,
573 MSM_RPM_STATUS_ID_PXO_CLK,
574 MSM_RPM_STATUS_ID_APPS_FABRIC_CLK,
575 MSM_RPM_STATUS_ID_SYSTEM_FABRIC_CLK,
576 MSM_RPM_STATUS_ID_MM_FABRIC_CLK,
577 MSM_RPM_STATUS_ID_DAYTONA_FABRIC_CLK,
578 MSM_RPM_STATUS_ID_SFPB_CLK,
579 MSM_RPM_STATUS_ID_CFPB_CLK,
580 MSM_RPM_STATUS_ID_MMFPB_CLK,
581 MSM_RPM_STATUS_ID_EBI1_CLK,
582 MSM_RPM_STATUS_ID_APPS_FABRIC_CFG_HALT,
583 MSM_RPM_STATUS_ID_APPS_FABRIC_HALT =
584 MSM_RPM_STATUS_ID_APPS_FABRIC_CFG_HALT,
585 MSM_RPM_STATUS_ID_APPS_FABRIC_CFG_CLKMOD,
586 MSM_RPM_STATUS_ID_APPS_FABRIC_CLOCK_MODE =
587 MSM_RPM_STATUS_ID_APPS_FABRIC_CFG_CLKMOD,
588 MSM_RPM_STATUS_ID_APPS_FABRIC_CFG_IOCTL,
589 MSM_RPM_STATUS_ID_APPS_FABRIC_ARB,
590 MSM_RPM_STATUS_ID_SYS_FABRIC_CFG_HALT,
591 MSM_RPM_STATUS_ID_SYSTEM_FABRIC_HALT =
592 MSM_RPM_STATUS_ID_SYS_FABRIC_CFG_HALT,
593 MSM_RPM_STATUS_ID_SYS_FABRIC_CFG_CLKMOD,
594 MSM_RPM_STATUS_ID_SYSTEM_FABRIC_CLOCK_MODE =
595 MSM_RPM_STATUS_ID_SYS_FABRIC_CFG_CLKMOD,
596 MSM_RPM_STATUS_ID_SYS_FABRIC_CFG_IOCTL,
597 MSM_RPM_STATUS_ID_SYSTEM_FABRIC_ARB,
598 MSM_RPM_STATUS_ID_MMSS_FABRIC_CFG_HALT,
599 MSM_RPM_STATUS_ID_MM_FABRIC_HALT =
600 MSM_RPM_STATUS_ID_MMSS_FABRIC_CFG_HALT,
601 MSM_RPM_STATUS_ID_MMSS_FABRIC_CFG_CLKMOD,
602 MSM_RPM_STATUS_ID_MM_FABRIC_CLOCK_MODE =
603 MSM_RPM_STATUS_ID_MMSS_FABRIC_CFG_CLKMOD,
604 MSM_RPM_STATUS_ID_MMSS_FABRIC_CFG_IOCTL,
605 MSM_RPM_STATUS_ID_MM_FABRIC_ARB,
606 MSM_RPM_STATUS_ID_PM8921_S1_0,
607 MSM_RPM_STATUS_ID_PM8921_S1_1,
608 MSM_RPM_STATUS_ID_PM8921_S2_0,
609 MSM_RPM_STATUS_ID_PM8921_S2_1,
610 MSM_RPM_STATUS_ID_PM8921_S3_0,
611 MSM_RPM_STATUS_ID_PM8921_S3_1,
612 MSM_RPM_STATUS_ID_PM8921_S4_0,
613 MSM_RPM_STATUS_ID_PM8921_S4_1,
614 MSM_RPM_STATUS_ID_PM8921_S5_0,
615 MSM_RPM_STATUS_ID_PM8921_S5_1,
616 MSM_RPM_STATUS_ID_PM8921_S6_0,
617 MSM_RPM_STATUS_ID_PM8921_S6_1,
618 MSM_RPM_STATUS_ID_PM8921_S7_0,
619 MSM_RPM_STATUS_ID_PM8921_S7_1,
620 MSM_RPM_STATUS_ID_PM8921_S8_0,
621 MSM_RPM_STATUS_ID_PM8921_S8_1,
622 MSM_RPM_STATUS_ID_PM8921_L1_0,
623 MSM_RPM_STATUS_ID_PM8921_L1_1,
624 MSM_RPM_STATUS_ID_PM8921_L2_0,
625 MSM_RPM_STATUS_ID_PM8921_L2_1,
626 MSM_RPM_STATUS_ID_PM8921_L3_0,
627 MSM_RPM_STATUS_ID_PM8921_L3_1,
628 MSM_RPM_STATUS_ID_PM8921_L4_0,
629 MSM_RPM_STATUS_ID_PM8921_L4_1,
630 MSM_RPM_STATUS_ID_PM8921_L5_0,
631 MSM_RPM_STATUS_ID_PM8921_L5_1,
632 MSM_RPM_STATUS_ID_PM8921_L6_0,
633 MSM_RPM_STATUS_ID_PM8921_L6_1,
634 MSM_RPM_STATUS_ID_PM8921_L7_0,
635 MSM_RPM_STATUS_ID_PM8921_L7_1,
636 MSM_RPM_STATUS_ID_PM8921_L8_0,
637 MSM_RPM_STATUS_ID_PM8921_L8_1,
638 MSM_RPM_STATUS_ID_PM8921_L9_0,
639 MSM_RPM_STATUS_ID_PM8921_L9_1,
640 MSM_RPM_STATUS_ID_PM8921_L10_0,
641 MSM_RPM_STATUS_ID_PM8921_L10_1,
642 MSM_RPM_STATUS_ID_PM8921_L11_0,
643 MSM_RPM_STATUS_ID_PM8921_L11_1,
644 MSM_RPM_STATUS_ID_PM8921_L12_0,
645 MSM_RPM_STATUS_ID_PM8921_L12_1,
646 MSM_RPM_STATUS_ID_PM8921_L13_0,
647 MSM_RPM_STATUS_ID_PM8921_L13_1,
648 MSM_RPM_STATUS_ID_PM8921_L14_0,
649 MSM_RPM_STATUS_ID_PM8921_L14_1,
650 MSM_RPM_STATUS_ID_PM8921_L15_0,
651 MSM_RPM_STATUS_ID_PM8921_L15_1,
652 MSM_RPM_STATUS_ID_PM8921_L16_0,
653 MSM_RPM_STATUS_ID_PM8921_L16_1,
654 MSM_RPM_STATUS_ID_PM8921_L17_0,
655 MSM_RPM_STATUS_ID_PM8921_L17_1,
656 MSM_RPM_STATUS_ID_PM8921_L18_0,
657 MSM_RPM_STATUS_ID_PM8921_L18_1,
658 MSM_RPM_STATUS_ID_PM8921_L19_0,
659 MSM_RPM_STATUS_ID_PM8921_L19_1,
660 MSM_RPM_STATUS_ID_PM8921_L20_0,
661 MSM_RPM_STATUS_ID_PM8921_L20_1,
662 MSM_RPM_STATUS_ID_PM8921_L21_0,
663 MSM_RPM_STATUS_ID_PM8921_L21_1,
664 MSM_RPM_STATUS_ID_PM8921_L22_0,
665 MSM_RPM_STATUS_ID_PM8921_L22_1,
666 MSM_RPM_STATUS_ID_PM8921_L23_0,
667 MSM_RPM_STATUS_ID_PM8921_L23_1,
668 MSM_RPM_STATUS_ID_PM8921_L24_0,
669 MSM_RPM_STATUS_ID_PM8921_L24_1,
670 MSM_RPM_STATUS_ID_PM8921_L25_0,
671 MSM_RPM_STATUS_ID_PM8921_L25_1,
672 MSM_RPM_STATUS_ID_PM8921_L26_0,
673 MSM_RPM_STATUS_ID_PM8921_L26_1,
674 MSM_RPM_STATUS_ID_PM8921_L27_0,
675 MSM_RPM_STATUS_ID_PM8921_L27_1,
676 MSM_RPM_STATUS_ID_PM8921_L28_0,
677 MSM_RPM_STATUS_ID_PM8921_L28_1,
678 MSM_RPM_STATUS_ID_PM8921_L29_0,
679 MSM_RPM_STATUS_ID_PM8921_L29_1,
680 MSM_RPM_STATUS_ID_PM8921_CLK1_0,
681 MSM_RPM_STATUS_ID_PM8921_CLK1_1,
682 MSM_RPM_STATUS_ID_PM8921_CLK2_0,
683 MSM_RPM_STATUS_ID_PM8921_CLK2_1,
684 MSM_RPM_STATUS_ID_PM8921_LVS1,
685 MSM_RPM_STATUS_ID_PM8921_LVS2,
686 MSM_RPM_STATUS_ID_PM8921_LVS3,
687 MSM_RPM_STATUS_ID_PM8921_LVS4,
688 MSM_RPM_STATUS_ID_PM8921_LVS5,
689 MSM_RPM_STATUS_ID_PM8921_LVS6,
690 MSM_RPM_STATUS_ID_PM8921_LVS7,
691 MSM_RPM_STATUS_ID_NCP_0,
692 MSM_RPM_STATUS_ID_NCP_1,
693 MSM_RPM_STATUS_ID_CXO_BUFFERS,
694 MSM_RPM_STATUS_ID_USB_OTG_SWITCH,
695 MSM_RPM_STATUS_ID_HDMI_SWITCH,
696 MSM_RPM_STATUS_ID_DDR_DMM_0,
697 MSM_RPM_STATUS_ID_DDR_DMM_1,
698 MSM_RPM_STATUS_ID_EBI1_CH0_RANGE,
699 MSM_RPM_STATUS_ID_EBI1_CH1_RANGE,
Mahesh Sivasubramanianef2a0fa2012-01-24 15:57:01 -0700700 MSM_RPM_STATUS_ID_QDSS_CLK,
Praveen Chidambaram78499012011-11-01 17:15:17 -0600701
Praveen Chidambaram75b8c812012-08-10 16:26:37 -0600702 /* 8930 aliases to simplify device mapping */
703 MSM_RPM_STATUS_ID_PM8038_NCP_0 = MSM_RPM_STATUS_ID_NCP_0,
704 MSM_RPM_STATUS_ID_PM8038_NCP_1 = MSM_RPM_STATUS_ID_NCP_1,
705 MSM_RPM_STATUS_ID_PM8038_CXO_BUFFERS
706 = MSM_RPM_STATUS_ID_CXO_BUFFERS,
707 MSM_RPM_STATUS_ID_PM8038_USB_OTG_SWITCH
708 = MSM_RPM_STATUS_ID_USB_OTG_SWITCH,
709 MSM_RPM_STATUS_ID_PM8038_HDMI_SWITCH
710 = MSM_RPM_STATUS_ID_HDMI_SWITCH,
711 MSM_RPM_STATUS_ID_PM8038_QDSS_CLK
712 = MSM_RPM_STATUS_ID_QDSS_CLK,
713
714 MSM_RPM_STATUS_ID_PM8917_NCP_0 = MSM_RPM_STATUS_ID_NCP_0,
715 MSM_RPM_STATUS_ID_PM8917_NCP_1 = MSM_RPM_STATUS_ID_NCP_1,
716 MSM_RPM_STATUS_ID_PM8917_CXO_BUFFERS
717 = MSM_RPM_STATUS_ID_CXO_BUFFERS,
718 MSM_RPM_STATUS_ID_PM8917_USB_OTG_SWITCH
719 = MSM_RPM_STATUS_ID_USB_OTG_SWITCH,
720 MSM_RPM_STATUS_ID_PM8917_HDMI_SWITCH
721 = MSM_RPM_STATUS_ID_HDMI_SWITCH,
722 MSM_RPM_STATUS_ID_PM8917_QDSS_CLK
723 = MSM_RPM_STATUS_ID_QDSS_CLK,
724
Praveen Chidambaram78499012011-11-01 17:15:17 -0600725 /* 8660 Specific */
726 MSM_RPM_STATUS_ID_PLL_4,
727 MSM_RPM_STATUS_ID_SMI_CLK,
728 MSM_RPM_STATUS_ID_APPS_L2_CACHE_CTL,
729 MSM_RPM_STATUS_ID_SMPS0B_0,
730 MSM_RPM_STATUS_ID_SMPS0B_1,
731 MSM_RPM_STATUS_ID_SMPS1B_0,
732 MSM_RPM_STATUS_ID_SMPS1B_1,
733 MSM_RPM_STATUS_ID_SMPS2B_0,
734 MSM_RPM_STATUS_ID_SMPS2B_1,
735 MSM_RPM_STATUS_ID_SMPS3B_0,
736 MSM_RPM_STATUS_ID_SMPS3B_1,
737 MSM_RPM_STATUS_ID_SMPS4B_0,
738 MSM_RPM_STATUS_ID_SMPS4B_1,
739 MSM_RPM_STATUS_ID_LDO0B_0,
740 MSM_RPM_STATUS_ID_LDO0B_1,
741 MSM_RPM_STATUS_ID_LDO1B_0,
742 MSM_RPM_STATUS_ID_LDO1B_1,
743 MSM_RPM_STATUS_ID_LDO2B_0,
744 MSM_RPM_STATUS_ID_LDO2B_1,
745 MSM_RPM_STATUS_ID_LDO3B_0,
746 MSM_RPM_STATUS_ID_LDO3B_1,
747 MSM_RPM_STATUS_ID_LDO4B_0,
748 MSM_RPM_STATUS_ID_LDO4B_1,
749 MSM_RPM_STATUS_ID_LDO5B_0,
750 MSM_RPM_STATUS_ID_LDO5B_1,
751 MSM_RPM_STATUS_ID_LDO6B_0,
752 MSM_RPM_STATUS_ID_LDO6B_1,
753 MSM_RPM_STATUS_ID_LVS0B,
754 MSM_RPM_STATUS_ID_LVS1B,
755 MSM_RPM_STATUS_ID_LVS2B,
756 MSM_RPM_STATUS_ID_LVS3B,
757 MSM_RPM_STATUS_ID_MVS,
758 MSM_RPM_STATUS_ID_SMPS0_0,
759 MSM_RPM_STATUS_ID_SMPS0_1,
760 MSM_RPM_STATUS_ID_SMPS1_0,
761 MSM_RPM_STATUS_ID_SMPS1_1,
762 MSM_RPM_STATUS_ID_SMPS2_0,
763 MSM_RPM_STATUS_ID_SMPS2_1,
764 MSM_RPM_STATUS_ID_SMPS3_0,
765 MSM_RPM_STATUS_ID_SMPS3_1,
766 MSM_RPM_STATUS_ID_SMPS4_0,
767 MSM_RPM_STATUS_ID_SMPS4_1,
768 MSM_RPM_STATUS_ID_LDO0_0,
769 MSM_RPM_STATUS_ID_LDO0_1,
770 MSM_RPM_STATUS_ID_LDO1_0,
771 MSM_RPM_STATUS_ID_LDO1_1,
772 MSM_RPM_STATUS_ID_LDO2_0,
773 MSM_RPM_STATUS_ID_LDO2_1,
774 MSM_RPM_STATUS_ID_LDO3_0,
775 MSM_RPM_STATUS_ID_LDO3_1,
776 MSM_RPM_STATUS_ID_LDO4_0,
777 MSM_RPM_STATUS_ID_LDO4_1,
778 MSM_RPM_STATUS_ID_LDO5_0,
779 MSM_RPM_STATUS_ID_LDO5_1,
780 MSM_RPM_STATUS_ID_LDO6_0,
781 MSM_RPM_STATUS_ID_LDO6_1,
782 MSM_RPM_STATUS_ID_LDO7_0,
783 MSM_RPM_STATUS_ID_LDO7_1,
784 MSM_RPM_STATUS_ID_LDO8_0,
785 MSM_RPM_STATUS_ID_LDO8_1,
786 MSM_RPM_STATUS_ID_LDO9_0,
787 MSM_RPM_STATUS_ID_LDO9_1,
788 MSM_RPM_STATUS_ID_LDO10_0,
789 MSM_RPM_STATUS_ID_LDO10_1,
790 MSM_RPM_STATUS_ID_LDO11_0,
791 MSM_RPM_STATUS_ID_LDO11_1,
792 MSM_RPM_STATUS_ID_LDO12_0,
793 MSM_RPM_STATUS_ID_LDO12_1,
794 MSM_RPM_STATUS_ID_LDO13_0,
795 MSM_RPM_STATUS_ID_LDO13_1,
796 MSM_RPM_STATUS_ID_LDO14_0,
797 MSM_RPM_STATUS_ID_LDO14_1,
798 MSM_RPM_STATUS_ID_LDO15_0,
799 MSM_RPM_STATUS_ID_LDO15_1,
800 MSM_RPM_STATUS_ID_LDO16_0,
801 MSM_RPM_STATUS_ID_LDO16_1,
802 MSM_RPM_STATUS_ID_LDO17_0,
803 MSM_RPM_STATUS_ID_LDO17_1,
804 MSM_RPM_STATUS_ID_LDO18_0,
805 MSM_RPM_STATUS_ID_LDO18_1,
806 MSM_RPM_STATUS_ID_LDO19_0,
807 MSM_RPM_STATUS_ID_LDO19_1,
808 MSM_RPM_STATUS_ID_LDO20_0,
809 MSM_RPM_STATUS_ID_LDO20_1,
810 MSM_RPM_STATUS_ID_LDO21_0,
811 MSM_RPM_STATUS_ID_LDO21_1,
812 MSM_RPM_STATUS_ID_LDO22_0,
813 MSM_RPM_STATUS_ID_LDO22_1,
814 MSM_RPM_STATUS_ID_LDO23_0,
815 MSM_RPM_STATUS_ID_LDO23_1,
816 MSM_RPM_STATUS_ID_LDO24_0,
817 MSM_RPM_STATUS_ID_LDO24_1,
818 MSM_RPM_STATUS_ID_LDO25_0,
819 MSM_RPM_STATUS_ID_LDO25_1,
820 MSM_RPM_STATUS_ID_LVS0,
821 MSM_RPM_STATUS_ID_LVS1,
822
823 /* 9615 Specific */
824 MSM_RPM_STATUS_ID_PM8018_S1_0,
825 MSM_RPM_STATUS_ID_PM8018_S1_1,
826 MSM_RPM_STATUS_ID_PM8018_S2_0,
827 MSM_RPM_STATUS_ID_PM8018_S2_1,
828 MSM_RPM_STATUS_ID_PM8018_S3_0,
829 MSM_RPM_STATUS_ID_PM8018_S3_1,
830 MSM_RPM_STATUS_ID_PM8018_S4_0,
831 MSM_RPM_STATUS_ID_PM8018_S4_1,
832 MSM_RPM_STATUS_ID_PM8018_S5_0,
833 MSM_RPM_STATUS_ID_PM8018_S5_1,
834 MSM_RPM_STATUS_ID_PM8018_L1_0,
835 MSM_RPM_STATUS_ID_PM8018_L1_1,
836 MSM_RPM_STATUS_ID_PM8018_L2_0,
837 MSM_RPM_STATUS_ID_PM8018_L2_1,
838 MSM_RPM_STATUS_ID_PM8018_L3_0,
839 MSM_RPM_STATUS_ID_PM8018_L3_1,
840 MSM_RPM_STATUS_ID_PM8018_L4_0,
841 MSM_RPM_STATUS_ID_PM8018_L4_1,
842 MSM_RPM_STATUS_ID_PM8018_L5_0,
843 MSM_RPM_STATUS_ID_PM8018_L5_1,
844 MSM_RPM_STATUS_ID_PM8018_L6_0,
845 MSM_RPM_STATUS_ID_PM8018_L6_1,
846 MSM_RPM_STATUS_ID_PM8018_L7_0,
847 MSM_RPM_STATUS_ID_PM8018_L7_1,
848 MSM_RPM_STATUS_ID_PM8018_L8_0,
849 MSM_RPM_STATUS_ID_PM8018_L8_1,
850 MSM_RPM_STATUS_ID_PM8018_L9_0,
851 MSM_RPM_STATUS_ID_PM8018_L9_1,
852 MSM_RPM_STATUS_ID_PM8018_L10_0,
853 MSM_RPM_STATUS_ID_PM8018_L10_1,
854 MSM_RPM_STATUS_ID_PM8018_L11_0,
855 MSM_RPM_STATUS_ID_PM8018_L11_1,
856 MSM_RPM_STATUS_ID_PM8018_L12_0,
857 MSM_RPM_STATUS_ID_PM8018_L12_1,
858 MSM_RPM_STATUS_ID_PM8018_L13_0,
859 MSM_RPM_STATUS_ID_PM8018_L13_1,
860 MSM_RPM_STATUS_ID_PM8018_L14_0,
861 MSM_RPM_STATUS_ID_PM8018_L14_1,
862 MSM_RPM_STATUS_ID_PM8018_LVS1,
863
864 /* 8930 specific */
865 MSM_RPM_STATUS_ID_PM8038_S1_0,
866 MSM_RPM_STATUS_ID_PM8038_S1_1,
867 MSM_RPM_STATUS_ID_PM8038_S2_0,
868 MSM_RPM_STATUS_ID_PM8038_S2_1,
869 MSM_RPM_STATUS_ID_PM8038_S3_0,
870 MSM_RPM_STATUS_ID_PM8038_S3_1,
871 MSM_RPM_STATUS_ID_PM8038_S4_0,
872 MSM_RPM_STATUS_ID_PM8038_S4_1,
873 MSM_RPM_STATUS_ID_PM8038_S5_0,
874 MSM_RPM_STATUS_ID_PM8038_S5_1,
875 MSM_RPM_STATUS_ID_PM8038_S6_0,
876 MSM_RPM_STATUS_ID_PM8038_S6_1,
877 MSM_RPM_STATUS_ID_PM8038_L1_0,
878 MSM_RPM_STATUS_ID_PM8038_L1_1,
879 MSM_RPM_STATUS_ID_PM8038_L2_0,
880 MSM_RPM_STATUS_ID_PM8038_L2_1,
881 MSM_RPM_STATUS_ID_PM8038_L3_0,
882 MSM_RPM_STATUS_ID_PM8038_L3_1,
883 MSM_RPM_STATUS_ID_PM8038_L4_0,
884 MSM_RPM_STATUS_ID_PM8038_L4_1,
885 MSM_RPM_STATUS_ID_PM8038_L5_0,
886 MSM_RPM_STATUS_ID_PM8038_L5_1,
887 MSM_RPM_STATUS_ID_PM8038_L6_0,
888 MSM_RPM_STATUS_ID_PM8038_L6_1,
889 MSM_RPM_STATUS_ID_PM8038_L7_0,
890 MSM_RPM_STATUS_ID_PM8038_L7_1,
891 MSM_RPM_STATUS_ID_PM8038_L8_0,
892 MSM_RPM_STATUS_ID_PM8038_L8_1,
893 MSM_RPM_STATUS_ID_PM8038_L9_0,
894 MSM_RPM_STATUS_ID_PM8038_L9_1,
895 MSM_RPM_STATUS_ID_PM8038_L10_0,
896 MSM_RPM_STATUS_ID_PM8038_L10_1,
897 MSM_RPM_STATUS_ID_PM8038_L11_0,
898 MSM_RPM_STATUS_ID_PM8038_L11_1,
899 MSM_RPM_STATUS_ID_PM8038_L12_0,
900 MSM_RPM_STATUS_ID_PM8038_L12_1,
901 MSM_RPM_STATUS_ID_PM8038_L13_0,
902 MSM_RPM_STATUS_ID_PM8038_L13_1,
903 MSM_RPM_STATUS_ID_PM8038_L14_0,
904 MSM_RPM_STATUS_ID_PM8038_L14_1,
905 MSM_RPM_STATUS_ID_PM8038_L15_0,
906 MSM_RPM_STATUS_ID_PM8038_L15_1,
907 MSM_RPM_STATUS_ID_PM8038_L16_0,
908 MSM_RPM_STATUS_ID_PM8038_L16_1,
909 MSM_RPM_STATUS_ID_PM8038_L17_0,
910 MSM_RPM_STATUS_ID_PM8038_L17_1,
911 MSM_RPM_STATUS_ID_PM8038_L18_0,
912 MSM_RPM_STATUS_ID_PM8038_L18_1,
913 MSM_RPM_STATUS_ID_PM8038_L19_0,
914 MSM_RPM_STATUS_ID_PM8038_L19_1,
915 MSM_RPM_STATUS_ID_PM8038_L20_0,
916 MSM_RPM_STATUS_ID_PM8038_L20_1,
917 MSM_RPM_STATUS_ID_PM8038_L21_0,
918 MSM_RPM_STATUS_ID_PM8038_L21_1,
919 MSM_RPM_STATUS_ID_PM8038_L22_0,
920 MSM_RPM_STATUS_ID_PM8038_L22_1,
921 MSM_RPM_STATUS_ID_PM8038_L23_0,
922 MSM_RPM_STATUS_ID_PM8038_L23_1,
923 MSM_RPM_STATUS_ID_PM8038_L24_0,
924 MSM_RPM_STATUS_ID_PM8038_L24_1,
925 MSM_RPM_STATUS_ID_PM8038_L25_0,
926 MSM_RPM_STATUS_ID_PM8038_L25_1,
927 MSM_RPM_STATUS_ID_PM8038_L26_0,
928 MSM_RPM_STATUS_ID_PM8038_L26_1,
929 MSM_RPM_STATUS_ID_PM8038_L27_0,
930 MSM_RPM_STATUS_ID_PM8038_L27_1,
931 MSM_RPM_STATUS_ID_PM8038_CLK1_0,
932 MSM_RPM_STATUS_ID_PM8038_CLK1_1,
933 MSM_RPM_STATUS_ID_PM8038_CLK2_0,
934 MSM_RPM_STATUS_ID_PM8038_CLK2_1,
935 MSM_RPM_STATUS_ID_PM8038_LVS1,
936 MSM_RPM_STATUS_ID_PM8038_LVS2,
Praveen Chidambaram75b8c812012-08-10 16:26:37 -0600937
938 /* PMIC 8917 */
939 MSM_RPM_STATUS_ID_PM8917_S1_0,
940 MSM_RPM_STATUS_ID_PM8917_S1_1,
941 MSM_RPM_STATUS_ID_PM8917_S2_0,
942 MSM_RPM_STATUS_ID_PM8917_S2_1,
943 MSM_RPM_STATUS_ID_PM8917_S3_0,
944 MSM_RPM_STATUS_ID_PM8917_S3_1,
945 MSM_RPM_STATUS_ID_PM8917_S4_0,
946 MSM_RPM_STATUS_ID_PM8917_S4_1,
947 MSM_RPM_STATUS_ID_PM8917_S5_0,
948 MSM_RPM_STATUS_ID_PM8917_S5_1,
949 MSM_RPM_STATUS_ID_PM8917_S6_0,
950 MSM_RPM_STATUS_ID_PM8917_S6_1,
951 MSM_RPM_STATUS_ID_PM8917_S7_0,
952 MSM_RPM_STATUS_ID_PM8917_S7_1,
953 MSM_RPM_STATUS_ID_PM8917_S8_0,
954 MSM_RPM_STATUS_ID_PM8917_S8_1,
955 MSM_RPM_STATUS_ID_PM8917_L1_0,
956 MSM_RPM_STATUS_ID_PM8917_L1_1,
957 MSM_RPM_STATUS_ID_PM8917_L2_0,
958 MSM_RPM_STATUS_ID_PM8917_L2_1,
959 MSM_RPM_STATUS_ID_PM8917_L3_0,
960 MSM_RPM_STATUS_ID_PM8917_L3_1,
961 MSM_RPM_STATUS_ID_PM8917_L4_0,
962 MSM_RPM_STATUS_ID_PM8917_L4_1,
963 MSM_RPM_STATUS_ID_PM8917_L5_0,
964 MSM_RPM_STATUS_ID_PM8917_L5_1,
965 MSM_RPM_STATUS_ID_PM8917_L6_0,
966 MSM_RPM_STATUS_ID_PM8917_L6_1,
967 MSM_RPM_STATUS_ID_PM8917_L7_0,
968 MSM_RPM_STATUS_ID_PM8917_L7_1,
969 MSM_RPM_STATUS_ID_PM8917_L8_0,
970 MSM_RPM_STATUS_ID_PM8917_L8_1,
971 MSM_RPM_STATUS_ID_PM8917_L9_0,
972 MSM_RPM_STATUS_ID_PM8917_L9_1,
973 MSM_RPM_STATUS_ID_PM8917_L10_0,
974 MSM_RPM_STATUS_ID_PM8917_L10_1,
975 MSM_RPM_STATUS_ID_PM8917_L11_0,
976 MSM_RPM_STATUS_ID_PM8917_L11_1,
977 MSM_RPM_STATUS_ID_PM8917_L12_0,
978 MSM_RPM_STATUS_ID_PM8917_L12_1,
979 MSM_RPM_STATUS_ID_PM8917_L14_0,
980 MSM_RPM_STATUS_ID_PM8917_L14_1,
981 MSM_RPM_STATUS_ID_PM8917_L15_0,
982 MSM_RPM_STATUS_ID_PM8917_L15_1,
983 MSM_RPM_STATUS_ID_PM8917_L16_0,
984 MSM_RPM_STATUS_ID_PM8917_L16_1,
985 MSM_RPM_STATUS_ID_PM8917_L17_0,
986 MSM_RPM_STATUS_ID_PM8917_L17_1,
987 MSM_RPM_STATUS_ID_PM8917_L18_0,
988 MSM_RPM_STATUS_ID_PM8917_L18_1,
989 MSM_RPM_STATUS_ID_PM8917_L21_0,
990 MSM_RPM_STATUS_ID_PM8917_L21_1,
991 MSM_RPM_STATUS_ID_PM8917_L22_0,
992 MSM_RPM_STATUS_ID_PM8917_L22_1,
993 MSM_RPM_STATUS_ID_PM8917_L23_0,
994 MSM_RPM_STATUS_ID_PM8917_L23_1,
995 MSM_RPM_STATUS_ID_PM8917_L24_0,
996 MSM_RPM_STATUS_ID_PM8917_L24_1,
997 MSM_RPM_STATUS_ID_PM8917_L25_0,
998 MSM_RPM_STATUS_ID_PM8917_L25_1,
999 MSM_RPM_STATUS_ID_PM8917_L26_0,
1000 MSM_RPM_STATUS_ID_PM8917_L26_1,
1001 MSM_RPM_STATUS_ID_PM8917_L27_0,
1002 MSM_RPM_STATUS_ID_PM8917_L27_1,
1003 MSM_RPM_STATUS_ID_PM8917_L28_0,
1004 MSM_RPM_STATUS_ID_PM8917_L28_1,
1005 MSM_RPM_STATUS_ID_PM8917_L29_0,
1006 MSM_RPM_STATUS_ID_PM8917_L29_1,
1007 MSM_RPM_STATUS_ID_PM8917_L30_0,
1008 MSM_RPM_STATUS_ID_PM8917_L30_1,
1009 MSM_RPM_STATUS_ID_PM8917_L31_0,
1010 MSM_RPM_STATUS_ID_PM8917_L31_1,
1011 MSM_RPM_STATUS_ID_PM8917_L32_0,
1012 MSM_RPM_STATUS_ID_PM8917_L32_1,
1013 MSM_RPM_STATUS_ID_PM8917_L33_0,
1014 MSM_RPM_STATUS_ID_PM8917_L33_1,
1015 MSM_RPM_STATUS_ID_PM8917_L34_0,
1016 MSM_RPM_STATUS_ID_PM8917_L34_1,
1017 MSM_RPM_STATUS_ID_PM8917_L35_0,
1018 MSM_RPM_STATUS_ID_PM8917_L35_1,
1019 MSM_RPM_STATUS_ID_PM8917_L36_0,
1020 MSM_RPM_STATUS_ID_PM8917_L36_1,
1021 MSM_RPM_STATUS_ID_PM8917_CLK1_0,
1022 MSM_RPM_STATUS_ID_PM8917_CLK1_1,
1023 MSM_RPM_STATUS_ID_PM8917_CLK2_0,
1024 MSM_RPM_STATUS_ID_PM8917_CLK2_1,
1025 MSM_RPM_STATUS_ID_PM8917_LVS1,
1026 MSM_RPM_STATUS_ID_PM8917_LVS3,
1027 MSM_RPM_STATUS_ID_PM8917_LVS4,
1028 MSM_RPM_STATUS_ID_PM8917_LVS5,
1029 MSM_RPM_STATUS_ID_PM8917_LVS6,
1030 MSM_RPM_STATUS_ID_PM8917_LVS7,
Mahesh Sivasubramanian9e52ce42012-02-01 16:00:19 -07001031 MSM_RPM_STATUS_ID_VOLTAGE_CORNER,
Praveen Chidambaram75b8c812012-08-10 16:26:37 -06001032 MSM_RPM_STATUS_ID_PM8917_VOLTAGE_CORNER
1033 = MSM_RPM_STATUS_ID_VOLTAGE_CORNER,
1034 MSM_RPM_STATUS_ID_PM8038_VOLTAGE_CORNER
1035 = MSM_RPM_STATUS_ID_VOLTAGE_CORNER,
Praveen Chidambaram78499012011-11-01 17:15:17 -06001036
1037 /* 8064 specific */
1038 MSM_RPM_STATUS_ID_PM8821_S1_0,
1039 MSM_RPM_STATUS_ID_PM8821_S1_1,
1040 MSM_RPM_STATUS_ID_PM8821_S2_0,
1041 MSM_RPM_STATUS_ID_PM8821_S2_1,
1042 MSM_RPM_STATUS_ID_PM8821_L1_0,
1043 MSM_RPM_STATUS_ID_PM8821_L1_1,
Joel Kingef390842012-05-23 16:42:48 -07001044 MSM_RPM_STATUS_ID_VDDMIN_GPIO,
Praveen Chidambaram78499012011-11-01 17:15:17 -06001045
1046 MSM_RPM_STATUS_ID_LAST,
1047};
1048
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -07001049static inline uint32_t msm_rpm_get_ctx_mask(unsigned int ctx)
1050{
1051 return 1UL << ctx;
1052}
1053
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -07001054static inline unsigned int msm_rpm_get_sel_mask_reg(unsigned int sel)
1055{
1056 return sel / 32;
1057}
1058
1059static inline uint32_t msm_rpm_get_sel_mask(unsigned int sel)
1060{
1061 return 1UL << (sel % 32);
1062}
1063
1064struct msm_rpm_iv_pair {
1065 uint32_t id;
1066 uint32_t value;
1067};
1068
1069struct msm_rpm_notification {
1070 struct list_head list; /* reserved for RPM use */
1071 struct semaphore sem;
Praveen Chidambaram78499012011-11-01 17:15:17 -06001072 uint32_t sel_masks[SEL_MASK_SIZE]; /* reserved for RPM use */
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -07001073};
1074
1075struct msm_rpm_map_data {
1076 uint32_t id;
1077 uint32_t sel;
1078 uint32_t count;
1079};
1080
Praveen Chidambaram78499012011-11-01 17:15:17 -06001081#define MSM_RPM_MAP(t, i, s, c) \
1082 [MSM_RPM_ID_##i] = \
1083 {\
1084 .id = MSM_RPM_##t##_ID_##i, \
1085 .sel = MSM_RPM_##t##_SEL_##s, \
1086 .count = c, \
1087 }
1088
1089#define MSM_RPM_STATUS_ID_VALID BIT(31)
1090
1091#define MSM_RPM_STATUS_ID_MAP(t, i) \
1092 [MSM_RPM_STATUS_ID_## i] = (MSM_RPM_##t##_STATUS_ID_##i \
1093 | MSM_RPM_STATUS_ID_VALID)
1094
1095#define MSM_RPM_CTRL_MAP(t, i) \
1096 [MSM_RPM_CTRL_##i] = MSM_RPM_##t##_CTRL_##i
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -07001097
1098
1099struct msm_rpm_platform_data {
1100 void __iomem *reg_base_addrs[MSM_RPM_PAGE_COUNT];
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -07001101 unsigned int irq_ack;
Stephen Boydf61255e2012-02-24 14:31:09 -08001102 unsigned int irq_err;
Praveen Chidambarame396ce62012-03-30 11:15:57 -06001103 unsigned int irq_wakeup;
Praveen Chidambaram78499012011-11-01 17:15:17 -06001104 void *ipc_rpm_reg;
1105 unsigned int ipc_rpm_val;
1106 struct msm_rpm_map_data target_id[MSM_RPM_ID_LAST];
1107 unsigned int target_status[MSM_RPM_STATUS_ID_LAST];
1108 unsigned int target_ctrl_id[MSM_RPM_CTRL_LAST];
1109 unsigned int sel_invalidate, sel_notification, sel_last;
1110 unsigned int ver[3];
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -07001111};
1112
Praveen Chidambaram78499012011-11-01 17:15:17 -06001113extern struct msm_rpm_platform_data msm8660_rpm_data;
1114extern struct msm_rpm_platform_data msm8960_rpm_data;
1115extern struct msm_rpm_platform_data msm9615_rpm_data;
1116extern struct msm_rpm_platform_data msm8930_rpm_data;
Praveen Chidambaram75b8c812012-08-10 16:26:37 -06001117extern struct msm_rpm_platform_data msm8930_rpm_data_pm8917;
Praveen Chidambaram78499012011-11-01 17:15:17 -06001118extern struct msm_rpm_platform_data apq8064_rpm_data;
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -07001119
Vikram Mulukutlabe97fbe2012-05-16 21:36:33 -07001120#if defined(CONFIG_MSM_RPM)
1121
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -07001122int msm_rpm_local_request_is_outstanding(void);
1123int msm_rpm_get_status(struct msm_rpm_iv_pair *status, int count);
1124int msm_rpm_set(int ctx, struct msm_rpm_iv_pair *req, int count);
1125int msm_rpm_set_noirq(int ctx, struct msm_rpm_iv_pair *req, int count);
1126
1127static inline int msm_rpm_set_nosleep(
1128 int ctx, struct msm_rpm_iv_pair *req, int count)
1129{
1130 unsigned long flags;
1131 int rc;
1132
1133 local_irq_save(flags);
1134 rc = msm_rpm_set_noirq(ctx, req, count);
1135 local_irq_restore(flags);
1136
1137 return rc;
1138}
1139
1140int msm_rpm_clear(int ctx, struct msm_rpm_iv_pair *req, int count);
1141int msm_rpm_clear_noirq(int ctx, struct msm_rpm_iv_pair *req, int count);
1142
1143static inline int msm_rpm_clear_nosleep(
1144 int ctx, struct msm_rpm_iv_pair *req, int count)
1145{
1146 unsigned long flags;
1147 int rc;
1148
1149 local_irq_save(flags);
1150 rc = msm_rpm_clear_noirq(ctx, req, count);
1151 local_irq_restore(flags);
1152
1153 return rc;
1154}
1155
1156int msm_rpm_register_notification(struct msm_rpm_notification *n,
1157 struct msm_rpm_iv_pair *req, int count);
1158int msm_rpm_unregister_notification(struct msm_rpm_notification *n);
1159int msm_rpm_init(struct msm_rpm_platform_data *data);
1160
Vikram Mulukutlabe97fbe2012-05-16 21:36:33 -07001161#else
1162
1163static inline int msm_rpm_local_request_is_outstanding(void)
1164{
1165 return -ENODEV;
1166}
1167
1168static inline int msm_rpm_get_status(struct msm_rpm_iv_pair *status, int count)
1169{
1170 return -ENODEV;
1171}
1172
1173static inline int msm_rpm_set(int ctx, struct msm_rpm_iv_pair *req, int count)
1174{
1175 return -ENODEV;
1176}
1177
1178static inline int msm_rpm_set_noirq(int ctx, struct msm_rpm_iv_pair *req,
1179 int count)
1180{
1181 return -ENODEV;
1182}
1183
1184static inline int msm_rpm_set_nosleep(
1185 int ctx, struct msm_rpm_iv_pair *req, int count)
1186{
1187 return -ENODEV;
1188}
1189
1190static inline int msm_rpm_clear(int ctx, struct msm_rpm_iv_pair *req,
1191 int count)
1192{
1193 return -ENODEV;
1194}
1195
1196static inline int msm_rpm_clear_noirq(int ctx, struct msm_rpm_iv_pair *req,
1197 int count)
1198{
1199 return -ENODEV;
1200}
1201
1202static inline int msm_rpm_clear_nosleep(
1203 int ctx, struct msm_rpm_iv_pair *req, int count)
1204{
1205 return -ENODEV;
1206}
1207
1208static inline int msm_rpm_register_notification(struct msm_rpm_notification *n,
1209 struct msm_rpm_iv_pair *req, int count)
1210{
1211 return -ENODEV;
1212}
1213
1214static inline int msm_rpm_unregister_notification(
1215 struct msm_rpm_notification *n)
1216{
1217 return -ENODEV;
1218}
1219
1220static inline int msm_rpm_init(struct msm_rpm_platform_data *data)
1221{
1222 return -ENODEV;
1223}
1224
1225#endif /* CONFIG_RPM */
1226
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -07001227#endif /* __ARCH_ARM_MACH_MSM_RPM_H */