blob: 99e8d23493d6219755011e494931d3ec4bb566f4 [file] [log] [blame]
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -07001/* Copyright (c) 2011, Code Aurora Forum. All rights reserved.
2 *
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#include <linux/kernel.h>
15#include <linux/list.h>
16#include <linux/platform_device.h>
17#include <linux/msm_rotator.h>
18#include <linux/clkdev.h>
19#include <mach/irqs-8064.h>
20#include <mach/board.h>
21#include <mach/msm_iomap.h>
Yan He06913ce2011-08-26 16:33:46 -070022#include <mach/usbdiag.h>
23#include <mach/msm_sps.h>
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070024#include "clock.h"
25#include "devices.h"
26
27/* Address of GSBI blocks */
Stepan Moskovchenko2701a442011-08-19 13:47:22 -070028#define MSM_GSBI1_PHYS 0x12440000
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070029#define MSM_GSBI3_PHYS 0x16200000
Harini Jayaramanc4c58692011-07-19 14:50:10 -060030#define MSM_GSBI4_PHYS 0x16300000
31#define MSM_GSBI5_PHYS 0x1A200000
32#define MSM_GSBI6_PHYS 0x16500000
33#define MSM_GSBI7_PHYS 0x16600000
34
Kenneth Heitke748593a2011-07-15 15:45:11 -060035/* GSBI UART devices */
Stepan Moskovchenko2701a442011-08-19 13:47:22 -070036#define MSM_UART1DM_PHYS (MSM_GSBI1_PHYS + 0x10000)
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070037#define MSM_UART3DM_PHYS (MSM_GSBI3_PHYS + 0x40000)
38
Harini Jayaramanc4c58692011-07-19 14:50:10 -060039/* GSBI QUP devices */
40#define MSM_GSBI3_QUP_PHYS (MSM_GSBI3_PHYS + 0x80000)
41#define MSM_GSBI4_QUP_PHYS (MSM_GSBI4_PHYS + 0x80000)
42#define MSM_GSBI5_QUP_PHYS (MSM_GSBI5_PHYS + 0x80000)
43#define MSM_GSBI6_QUP_PHYS (MSM_GSBI6_PHYS + 0x80000)
44#define MSM_GSBI7_QUP_PHYS (MSM_GSBI7_PHYS + 0x80000)
45#define MSM_QUP_SIZE SZ_4K
46
Kenneth Heitke36920d32011-07-20 16:44:30 -060047/* Address of SSBI CMD */
48#define MSM_PMIC1_SSBI_CMD_PHYS 0x00500000
49#define MSM_PMIC2_SSBI_CMD_PHYS 0x00C00000
50#define MSM_PMIC_SSBI_SIZE SZ_4K
Harini Jayaramanc4c58692011-07-19 14:50:10 -060051
Hemant Kumarcaa09092011-07-30 00:26:33 -070052/* Address of HS USBOTG1 */
53#define MSM_HSUSB_PHYS 0x12500000
54#define MSM_HSUSB_SIZE SZ_4K
55
56
Joel King0581896d2011-07-19 16:43:28 -070057static struct resource msm_dmov_resource[] = {
58 {
59 .start = ADM_0_SCSS_0_IRQ,
60 .end = (resource_size_t)MSM_DMOV_BASE,
61 .flags = IORESOURCE_IRQ,
62 },
63};
64
Stepan Moskovchenkodf13d342011-08-03 19:01:25 -070065struct platform_device apq8064_device_dmov = {
Joel King0581896d2011-07-19 16:43:28 -070066 .name = "msm_dmov",
67 .id = -1,
68 .resource = msm_dmov_resource,
69 .num_resources = ARRAY_SIZE(msm_dmov_resource),
70};
71
Stepan Moskovchenko2701a442011-08-19 13:47:22 -070072static struct resource resources_uart_gsbi1[] = {
73 {
74 .start = APQ8064_GSBI1_UARTDM_IRQ,
75 .end = APQ8064_GSBI1_UARTDM_IRQ,
76 .flags = IORESOURCE_IRQ,
77 },
78 {
79 .start = MSM_UART1DM_PHYS,
80 .end = MSM_UART1DM_PHYS + PAGE_SIZE - 1,
81 .name = "uartdm_resource",
82 .flags = IORESOURCE_MEM,
83 },
84 {
85 .start = MSM_GSBI1_PHYS,
86 .end = MSM_GSBI1_PHYS + PAGE_SIZE - 1,
87 .name = "gsbi_resource",
88 .flags = IORESOURCE_MEM,
89 },
90};
91
92struct platform_device apq8064_device_uart_gsbi1 = {
93 .name = "msm_serial_hsl",
94 .id = 0,
95 .num_resources = ARRAY_SIZE(resources_uart_gsbi1),
96 .resource = resources_uart_gsbi1,
97};
98
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070099static struct resource resources_uart_gsbi3[] = {
100 {
101 .start = GSBI3_UARTDM_IRQ,
102 .end = GSBI3_UARTDM_IRQ,
103 .flags = IORESOURCE_IRQ,
104 },
105 {
106 .start = MSM_UART3DM_PHYS,
107 .end = MSM_UART3DM_PHYS + PAGE_SIZE - 1,
108 .name = "uartdm_resource",
109 .flags = IORESOURCE_MEM,
110 },
111 {
112 .start = MSM_GSBI3_PHYS,
113 .end = MSM_GSBI3_PHYS + PAGE_SIZE - 1,
114 .name = "gsbi_resource",
115 .flags = IORESOURCE_MEM,
116 },
117};
118
119struct platform_device apq8064_device_uart_gsbi3 = {
120 .name = "msm_serial_hsl",
121 .id = 0,
122 .num_resources = ARRAY_SIZE(resources_uart_gsbi3),
123 .resource = resources_uart_gsbi3,
124};
125
Kenneth Heitke748593a2011-07-15 15:45:11 -0600126static struct resource resources_qup_i2c_gsbi4[] = {
127 {
128 .name = "gsbi_qup_i2c_addr",
129 .start = MSM_GSBI4_PHYS,
Harini Jayaramane1554a92011-09-15 14:43:02 -0600130 .end = MSM_GSBI4_PHYS + 4 - 1,
Kenneth Heitke748593a2011-07-15 15:45:11 -0600131 .flags = IORESOURCE_MEM,
132 },
133 {
134 .name = "qup_phys_addr",
135 .start = MSM_GSBI4_QUP_PHYS,
Harini Jayaramane1554a92011-09-15 14:43:02 -0600136 .end = MSM_GSBI4_QUP_PHYS + MSM_QUP_SIZE - 1,
Kenneth Heitke748593a2011-07-15 15:45:11 -0600137 .flags = IORESOURCE_MEM,
138 },
139 {
140 .name = "qup_err_intr",
141 .start = GSBI4_QUP_IRQ,
142 .end = GSBI4_QUP_IRQ,
143 .flags = IORESOURCE_IRQ,
144 },
145};
146
147struct platform_device apq8064_device_qup_i2c_gsbi4 = {
148 .name = "qup_i2c",
149 .id = 4,
150 .num_resources = ARRAY_SIZE(resources_qup_i2c_gsbi4),
151 .resource = resources_qup_i2c_gsbi4,
152};
153
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700154static struct resource resources_qup_spi_gsbi5[] = {
155 {
156 .name = "spi_base",
157 .start = MSM_GSBI5_QUP_PHYS,
158 .end = MSM_GSBI5_QUP_PHYS + SZ_4K - 1,
159 .flags = IORESOURCE_MEM,
160 },
161 {
162 .name = "gsbi_base",
163 .start = MSM_GSBI5_PHYS,
164 .end = MSM_GSBI5_PHYS + 4 - 1,
165 .flags = IORESOURCE_MEM,
166 },
167 {
168 .name = "spi_irq_in",
169 .start = GSBI5_QUP_IRQ,
170 .end = GSBI5_QUP_IRQ,
171 .flags = IORESOURCE_IRQ,
172 },
173};
174
175struct platform_device apq8064_device_qup_spi_gsbi5 = {
176 .name = "spi_qsd",
177 .id = 0,
178 .num_resources = ARRAY_SIZE(resources_qup_spi_gsbi5),
179 .resource = resources_qup_spi_gsbi5,
180};
181
182static struct resource resources_ssbi_pmic1[] = {
183 {
184 .start = MSM_PMIC1_SSBI_CMD_PHYS,
185 .end = MSM_PMIC1_SSBI_CMD_PHYS + MSM_PMIC_SSBI_SIZE - 1,
186 .flags = IORESOURCE_MEM,
187 },
188};
189
Sagar Dharia8bdcdaf2011-09-16 16:01:15 -0600190#define LPASS_SLIMBUS_PHYS 0x28080000
191#define LPASS_SLIMBUS_BAM_PHYS 0x28084000
192/* Board info for the slimbus slave device */
193static struct resource slimbus_res[] = {
194 {
195 .start = LPASS_SLIMBUS_PHYS,
196 .end = LPASS_SLIMBUS_PHYS + 8191,
197 .flags = IORESOURCE_MEM,
198 .name = "slimbus_physical",
199 },
200 {
201 .start = LPASS_SLIMBUS_BAM_PHYS,
202 .end = LPASS_SLIMBUS_BAM_PHYS + 8191,
203 .flags = IORESOURCE_MEM,
204 .name = "slimbus_bam_physical",
205 },
206 {
207 .start = SLIMBUS0_CORE_EE1_IRQ,
208 .end = SLIMBUS0_CORE_EE1_IRQ,
209 .flags = IORESOURCE_IRQ,
210 .name = "slimbus_irq",
211 },
212 {
213 .start = SLIMBUS0_BAM_EE1_IRQ,
214 .end = SLIMBUS0_BAM_EE1_IRQ,
215 .flags = IORESOURCE_IRQ,
216 .name = "slimbus_bam_irq",
217 },
218};
219
220struct platform_device apq8064_slim_ctrl = {
221 .name = "msm_slim_ctrl",
222 .id = 1,
223 .num_resources = ARRAY_SIZE(slimbus_res),
224 .resource = slimbus_res,
225 .dev = {
226 .coherent_dma_mask = 0xffffffffULL,
227 },
228};
229
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700230struct platform_device apq8064_device_ssbi_pmic1 = {
231 .name = "msm_ssbi",
232 .id = 0,
233 .resource = resources_ssbi_pmic1,
234 .num_resources = ARRAY_SIZE(resources_ssbi_pmic1),
235};
236
237static struct resource resources_ssbi_pmic2[] = {
238 {
239 .start = MSM_PMIC2_SSBI_CMD_PHYS,
240 .end = MSM_PMIC2_SSBI_CMD_PHYS + MSM_PMIC_SSBI_SIZE - 1,
241 .flags = IORESOURCE_MEM,
242 },
243};
244
245struct platform_device apq8064_device_ssbi_pmic2 = {
246 .name = "msm_ssbi",
247 .id = 1,
248 .resource = resources_ssbi_pmic2,
249 .num_resources = ARRAY_SIZE(resources_ssbi_pmic2),
250};
251
252static struct resource resources_otg[] = {
253 {
254 .start = MSM_HSUSB_PHYS,
255 .end = MSM_HSUSB_PHYS + MSM_HSUSB_SIZE - 1,
256 .flags = IORESOURCE_MEM,
257 },
258 {
259 .start = USB1_HS_IRQ,
260 .end = USB1_HS_IRQ,
261 .flags = IORESOURCE_IRQ,
262 },
263};
264
Stepan Moskovchenko14aa6492011-08-08 15:15:01 -0700265struct platform_device apq8064_device_otg = {
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700266 .name = "msm_otg",
267 .id = -1,
268 .num_resources = ARRAY_SIZE(resources_otg),
269 .resource = resources_otg,
270 .dev = {
271 .coherent_dma_mask = 0xffffffff,
272 },
273};
274
275static struct resource resources_hsusb[] = {
276 {
277 .start = MSM_HSUSB_PHYS,
278 .end = MSM_HSUSB_PHYS + MSM_HSUSB_SIZE - 1,
279 .flags = IORESOURCE_MEM,
280 },
281 {
282 .start = USB1_HS_IRQ,
283 .end = USB1_HS_IRQ,
284 .flags = IORESOURCE_IRQ,
285 },
286};
287
Stepan Moskovchenko14aa6492011-08-08 15:15:01 -0700288struct platform_device apq8064_device_gadget_peripheral = {
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700289 .name = "msm_hsusb",
290 .id = -1,
291 .num_resources = ARRAY_SIZE(resources_hsusb),
292 .resource = resources_hsusb,
293 .dev = {
294 .coherent_dma_mask = 0xffffffff,
295 },
296};
297
298#define MSM_SDC1_BASE 0x12400000
299#define MSM_SDC1_DML_BASE (MSM_SDC1_BASE + 0x800)
300#define MSM_SDC1_BAM_BASE (MSM_SDC1_BASE + 0x2000)
301#define MSM_SDC2_BASE 0x12140000
302#define MSM_SDC2_DML_BASE (MSM_SDC2_BASE + 0x800)
303#define MSM_SDC2_BAM_BASE (MSM_SDC2_BASE + 0x2000)
304#define MSM_SDC3_BASE 0x12180000
305#define MSM_SDC3_DML_BASE (MSM_SDC3_BASE + 0x800)
306#define MSM_SDC3_BAM_BASE (MSM_SDC3_BASE + 0x2000)
307#define MSM_SDC4_BASE 0x121C0000
308#define MSM_SDC4_DML_BASE (MSM_SDC4_BASE + 0x800)
309#define MSM_SDC4_BAM_BASE (MSM_SDC4_BASE + 0x2000)
310
311static struct resource resources_sdc1[] = {
312 {
313 .name = "core_mem",
314 .flags = IORESOURCE_MEM,
315 .start = MSM_SDC1_BASE,
316 .end = MSM_SDC1_DML_BASE - 1,
317 },
318 {
319 .name = "core_irq",
320 .flags = IORESOURCE_IRQ,
321 .start = SDC1_IRQ_0,
322 .end = SDC1_IRQ_0
323 },
324#ifdef CONFIG_MMC_MSM_SPS_SUPPORT
325 {
326 .name = "sdcc_dml_addr",
327 .start = MSM_SDC1_DML_BASE,
328 .end = MSM_SDC1_BAM_BASE - 1,
329 .flags = IORESOURCE_MEM,
330 },
331 {
332 .name = "sdcc_bam_addr",
333 .start = MSM_SDC1_BAM_BASE,
334 .end = MSM_SDC1_BAM_BASE + (2 * SZ_4K) - 1,
335 .flags = IORESOURCE_MEM,
336 },
337 {
338 .name = "sdcc_bam_irq",
339 .start = SDC1_BAM_IRQ,
340 .end = SDC1_BAM_IRQ,
341 .flags = IORESOURCE_IRQ,
342 },
343#endif
344};
345
346static struct resource resources_sdc2[] = {
347 {
348 .name = "core_mem",
349 .flags = IORESOURCE_MEM,
350 .start = MSM_SDC2_BASE,
351 .end = MSM_SDC2_DML_BASE - 1,
352 },
353 {
354 .name = "core_irq",
355 .flags = IORESOURCE_IRQ,
356 .start = SDC2_IRQ_0,
357 .end = SDC2_IRQ_0
358 },
359#ifdef CONFIG_MMC_MSM_SPS_SUPPORT
360 {
361 .name = "sdcc_dml_addr",
362 .start = MSM_SDC2_DML_BASE,
363 .end = MSM_SDC2_BAM_BASE - 1,
364 .flags = IORESOURCE_MEM,
365 },
366 {
367 .name = "sdcc_bam_addr",
368 .start = MSM_SDC2_BAM_BASE,
369 .end = MSM_SDC2_BAM_BASE + (2 * SZ_4K) - 1,
370 .flags = IORESOURCE_MEM,
371 },
372 {
373 .name = "sdcc_bam_irq",
374 .start = SDC2_BAM_IRQ,
375 .end = SDC2_BAM_IRQ,
376 .flags = IORESOURCE_IRQ,
377 },
378#endif
379};
380
381static struct resource resources_sdc3[] = {
382 {
383 .name = "core_mem",
384 .flags = IORESOURCE_MEM,
385 .start = MSM_SDC3_BASE,
386 .end = MSM_SDC3_DML_BASE - 1,
387 },
388 {
389 .name = "core_irq",
390 .flags = IORESOURCE_IRQ,
391 .start = SDC3_IRQ_0,
392 .end = SDC3_IRQ_0
393 },
394#ifdef CONFIG_MMC_MSM_SPS_SUPPORT
395 {
396 .name = "sdcc_dml_addr",
397 .start = MSM_SDC3_DML_BASE,
398 .end = MSM_SDC3_BAM_BASE - 1,
399 .flags = IORESOURCE_MEM,
400 },
401 {
402 .name = "sdcc_bam_addr",
403 .start = MSM_SDC3_BAM_BASE,
404 .end = MSM_SDC3_BAM_BASE + (2 * SZ_4K) - 1,
405 .flags = IORESOURCE_MEM,
406 },
407 {
408 .name = "sdcc_bam_irq",
409 .start = SDC3_BAM_IRQ,
410 .end = SDC3_BAM_IRQ,
411 .flags = IORESOURCE_IRQ,
412 },
413#endif
414};
415
416static struct resource resources_sdc4[] = {
417 {
418 .name = "core_mem",
419 .flags = IORESOURCE_MEM,
420 .start = MSM_SDC4_BASE,
421 .end = MSM_SDC4_DML_BASE - 1,
422 },
423 {
424 .name = "core_irq",
425 .flags = IORESOURCE_IRQ,
426 .start = SDC4_IRQ_0,
427 .end = SDC4_IRQ_0
428 },
429#ifdef CONFIG_MMC_MSM_SPS_SUPPORT
430 {
431 .name = "sdcc_dml_addr",
432 .start = MSM_SDC4_DML_BASE,
433 .end = MSM_SDC4_BAM_BASE - 1,
434 .flags = IORESOURCE_MEM,
435 },
436 {
437 .name = "sdcc_bam_addr",
438 .start = MSM_SDC4_BAM_BASE,
439 .end = MSM_SDC4_BAM_BASE + (2 * SZ_4K) - 1,
440 .flags = IORESOURCE_MEM,
441 },
442 {
443 .name = "sdcc_bam_irq",
444 .start = SDC4_BAM_IRQ,
445 .end = SDC4_BAM_IRQ,
446 .flags = IORESOURCE_IRQ,
447 },
448#endif
449};
450
451struct platform_device apq8064_device_sdc1 = {
452 .name = "msm_sdcc",
453 .id = 1,
454 .num_resources = ARRAY_SIZE(resources_sdc1),
455 .resource = resources_sdc1,
456 .dev = {
457 .coherent_dma_mask = 0xffffffff,
458 },
459};
460
461struct platform_device apq8064_device_sdc2 = {
462 .name = "msm_sdcc",
463 .id = 2,
464 .num_resources = ARRAY_SIZE(resources_sdc2),
465 .resource = resources_sdc2,
466 .dev = {
467 .coherent_dma_mask = 0xffffffff,
468 },
469};
470
471struct platform_device apq8064_device_sdc3 = {
472 .name = "msm_sdcc",
473 .id = 3,
474 .num_resources = ARRAY_SIZE(resources_sdc3),
475 .resource = resources_sdc3,
476 .dev = {
477 .coherent_dma_mask = 0xffffffff,
478 },
479};
480
481struct platform_device apq8064_device_sdc4 = {
482 .name = "msm_sdcc",
483 .id = 4,
484 .num_resources = ARRAY_SIZE(resources_sdc4),
485 .resource = resources_sdc4,
486 .dev = {
487 .coherent_dma_mask = 0xffffffff,
488 },
489};
490
491static struct platform_device *apq8064_sdcc_devices[] __initdata = {
492 &apq8064_device_sdc1,
493 &apq8064_device_sdc2,
494 &apq8064_device_sdc3,
495 &apq8064_device_sdc4,
496};
497
498int __init apq8064_add_sdcc(unsigned int controller,
499 struct mmc_platform_data *plat)
500{
501 struct platform_device *pdev;
502
503 if (!plat)
504 return 0;
505 if (controller < 1 || controller > 4)
506 return -EINVAL;
507
508 pdev = apq8064_sdcc_devices[controller-1];
509 pdev->dev.platform_data = plat;
510 return platform_device_register(pdev);
511}
512
Yan He06913ce2011-08-26 16:33:46 -0700513static struct resource resources_sps[] = {
514 {
515 .name = "pipe_mem",
516 .start = 0x12800000,
517 .end = 0x12800000 + 0x4000 - 1,
518 .flags = IORESOURCE_MEM,
519 },
520 {
521 .name = "bamdma_dma",
522 .start = 0x12240000,
523 .end = 0x12240000 + 0x1000 - 1,
524 .flags = IORESOURCE_MEM,
525 },
526 {
527 .name = "bamdma_bam",
528 .start = 0x12244000,
529 .end = 0x12244000 + 0x4000 - 1,
530 .flags = IORESOURCE_MEM,
531 },
532 {
533 .name = "bamdma_irq",
534 .start = SPS_BAM_DMA_IRQ,
535 .end = SPS_BAM_DMA_IRQ,
536 .flags = IORESOURCE_IRQ,
537 },
538};
539
540static struct msm_sps_platform_data msm_sps_pdata = {
541 .bamdma_restricted_pipes = 0x06,
542};
543
544struct platform_device msm_device_sps_apq8064 = {
545 .name = "msm_sps",
546 .id = -1,
547 .num_resources = ARRAY_SIZE(resources_sps),
548 .resource = resources_sps,
549 .dev.platform_data = &msm_sps_pdata,
550};
551
Jeff Hugo0c0f5e92011-09-28 13:55:45 -0600552struct platform_device msm_device_smd_apq8064 = {
553 .name = "msm_smd",
554 .id = -1,
555};
556
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700557static struct clk_lookup msm_clocks_8064_dummy[] = {
558 CLK_DUMMY("pll2", PLL2, NULL, 0),
559 CLK_DUMMY("pll8", PLL8, NULL, 0),
560 CLK_DUMMY("pll4", PLL4, NULL, 0),
561
562 CLK_DUMMY("afab_clk", AFAB_CLK, NULL, 0),
563 CLK_DUMMY("afab_a_clk", AFAB_A_CLK, NULL, 0),
564 CLK_DUMMY("cfpb_clk", CFPB_CLK, NULL, 0),
565 CLK_DUMMY("cfpb_a_clk", CFPB_A_CLK, NULL, 0),
566 CLK_DUMMY("dfab_clk", DFAB_CLK, NULL, 0),
567 CLK_DUMMY("dfab_a_clk", DFAB_A_CLK, NULL, 0),
568 CLK_DUMMY("ebi1_clk", EBI1_CLK, NULL, 0),
569 CLK_DUMMY("ebi1_a_clk", EBI1_A_CLK, NULL, 0),
570 CLK_DUMMY("mmfab_clk", MMFAB_CLK, NULL, 0),
571 CLK_DUMMY("mmfab_a_clk", MMFAB_A_CLK, NULL, 0),
572 CLK_DUMMY("mmfpb_clk", MMFPB_CLK, NULL, 0),
573 CLK_DUMMY("mmfpb_a_clk", MMFPB_A_CLK, NULL, 0),
574 CLK_DUMMY("sfab_clk", SFAB_CLK, NULL, 0),
575 CLK_DUMMY("sfab_a_clk", SFAB_A_CLK, NULL, 0),
576 CLK_DUMMY("sfpb_clk", SFPB_CLK, NULL, 0),
577 CLK_DUMMY("sfpb_a_clk", SFPB_A_CLK, NULL, 0),
578
Matt Wagantalle2522372011-08-17 14:52:21 -0700579 CLK_DUMMY("core_clk", GSBI1_UART_CLK, NULL, OFF),
580 CLK_DUMMY("core_clk", GSBI2_UART_CLK, NULL, OFF),
581 CLK_DUMMY("core_clk", GSBI3_UART_CLK,
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700582 "msm_serial_hsl.0", OFF),
Matt Wagantalle2522372011-08-17 14:52:21 -0700583 CLK_DUMMY("core_clk", GSBI4_UART_CLK, NULL, OFF),
584 CLK_DUMMY("core_clk", GSBI5_UART_CLK, NULL, OFF),
585 CLK_DUMMY("core_clk", GSBI6_UART_CLK, NULL, OFF),
586 CLK_DUMMY("core_clk", GSBI7_UART_CLK, NULL, OFF),
587 CLK_DUMMY("core_clk", GSBI8_UART_CLK, NULL, OFF),
588 CLK_DUMMY("core_clk", GSBI9_UART_CLK, NULL, OFF),
589 CLK_DUMMY("core_clk", GSBI10_UART_CLK, NULL, OFF),
590 CLK_DUMMY("core_clk", GSBI11_UART_CLK, NULL, OFF),
591 CLK_DUMMY("core_clk", GSBI12_UART_CLK, NULL, OFF),
Matt Wagantall62cf63e2011-08-17 16:34:47 -0700592 CLK_DUMMY("core_clk", GSBI1_QUP_CLK, NULL, OFF),
593 CLK_DUMMY("core_clk", GSBI2_QUP_CLK, NULL, OFF),
594 CLK_DUMMY("core_clk", GSBI3_QUP_CLK, NULL, OFF),
Matt Wagantallac294852011-08-17 15:44:58 -0700595 CLK_DUMMY("core_clk", GSBI4_QUP_CLK, "qup_i2c.4", OFF),
596 CLK_DUMMY("core_clk", GSBI5_QUP_CLK, "spi_qsd.0", OFF),
Matt Wagantall62cf63e2011-08-17 16:34:47 -0700597 CLK_DUMMY("core_clk", GSBI6_QUP_CLK, NULL, OFF),
598 CLK_DUMMY("core_clk", GSBI7_QUP_CLK, NULL, OFF),
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700599 CLK_DUMMY("pdm_clk", PDM_CLK, NULL, OFF),
Matt Wagantalld86d6832011-08-17 14:06:55 -0700600 CLK_DUMMY("mem_clk", PMEM_CLK, NULL, OFF),
Matt Wagantallc1205292011-08-11 17:19:31 -0700601 CLK_DUMMY("core_clk", PRNG_CLK, NULL, OFF),
Matt Wagantall37ce3842011-08-17 16:00:36 -0700602 CLK_DUMMY("core_clk", SDC1_CLK, NULL, OFF),
603 CLK_DUMMY("core_clk", SDC2_CLK, NULL, OFF),
604 CLK_DUMMY("core_clk", SDC3_CLK, NULL, OFF),
605 CLK_DUMMY("core_clk", SDC4_CLK, NULL, OFF),
Matt Wagantall640e5fd2011-08-17 16:08:53 -0700606 CLK_DUMMY("ref_clk", TSIF_REF_CLK, NULL, OFF),
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700607 CLK_DUMMY("tssc_clk", TSSC_CLK, NULL, OFF),
608 CLK_DUMMY("usb_hs_clk", USB_HS1_XCVR_CLK, NULL, OFF),
Tianyi Gou86bb4722011-08-09 13:28:02 -0700609 CLK_DUMMY("usb_hs_clk", USB_HS3_XCVR_CLK, NULL, OFF),
610 CLK_DUMMY("usb_hs_clk", USB_HS4_XCVR_CLK, NULL, OFF),
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700611 CLK_DUMMY("usb_phy_clk", USB_PHY0_CLK, NULL, OFF),
612 CLK_DUMMY("usb_fs_src_clk", USB_FS1_SRC_CLK, NULL, OFF),
613 CLK_DUMMY("usb_fs_clk", USB_FS1_XCVR_CLK, NULL, OFF),
614 CLK_DUMMY("usb_fs_sys_clk", USB_FS1_SYS_CLK, NULL, OFF),
Matt Wagantallc4b3a4d2011-08-17 16:58:39 -0700615 CLK_DUMMY("core_clk", CE2_CLK, NULL, OFF),
616 CLK_DUMMY("core_clk", CE1_CORE_CLK, NULL, OFF),
617 CLK_DUMMY("core_clk", CE3_CORE_CLK, NULL, OFF),
618 CLK_DUMMY("iface_clk", CE3_P_CLK, NULL, OFF),
Tianyi Gou86bb4722011-08-09 13:28:02 -0700619 CLK_DUMMY("pcie_pclk", PCIE_P_CLK, NULL, OFF),
620 CLK_DUMMY("pcie_alt_ref_clk", PCIE_ALT_REF_CLK, NULL, OFF),
621 CLK_DUMMY("sata_rxoob_clk", SATA_RXOOB_CLK, NULL, OFF),
622 CLK_DUMMY("sata_pmalive_clk", SATA_PMALIVE_CLK, NULL, OFF),
623 CLK_DUMMY("sata_phy_ref_clk", SATA_PHY_REF_CLK, NULL, OFF),
Matt Wagantall62cf63e2011-08-17 16:34:47 -0700624 CLK_DUMMY("iface_clk", GSBI1_P_CLK, NULL, OFF),
625 CLK_DUMMY("iface_clk", GSBI2_P_CLK, NULL, OFF),
Matt Wagantalle2522372011-08-17 14:52:21 -0700626 CLK_DUMMY("iface_clk", GSBI3_P_CLK, "msm_serial_hsl.0", OFF),
Matt Wagantallac294852011-08-17 15:44:58 -0700627 CLK_DUMMY("iface_clk", GSBI4_P_CLK, "qup_i2c.4", OFF),
628 CLK_DUMMY("iface_clk", GSBI5_P_CLK, "spi_qsd.0", OFF),
Matt Wagantalle2522372011-08-17 14:52:21 -0700629 CLK_DUMMY("iface_clk", GSBI6_P_CLK, NULL, OFF),
Matt Wagantall62cf63e2011-08-17 16:34:47 -0700630 CLK_DUMMY("iface_clk", GSBI7_P_CLK, NULL, OFF),
Matt Wagantall640e5fd2011-08-17 16:08:53 -0700631 CLK_DUMMY("iface_clk", TSIF_P_CLK, NULL, OFF),
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700632 CLK_DUMMY("usb_fs_pclk", USB_FS1_P_CLK, NULL, OFF),
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700633 CLK_DUMMY("usb_hs_pclk", USB_HS1_P_CLK, NULL, OFF),
Tianyi Gou86bb4722011-08-09 13:28:02 -0700634 CLK_DUMMY("usb_hs_pclk", USB_HS3_P_CLK, NULL, OFF),
635 CLK_DUMMY("usb_hs_pclk", USB_HS4_P_CLK, NULL, OFF),
Matt Wagantall37ce3842011-08-17 16:00:36 -0700636 CLK_DUMMY("iface_clk", SDC1_P_CLK, NULL, OFF),
637 CLK_DUMMY("iface_clk", SDC2_P_CLK, NULL, OFF),
638 CLK_DUMMY("iface_clk", SDC3_P_CLK, NULL, OFF),
639 CLK_DUMMY("iface_clk", SDC4_P_CLK, NULL, OFF),
Matt Wagantalle1a86062011-08-18 17:46:10 -0700640 CLK_DUMMY("core_clk", ADM0_CLK, NULL, OFF),
641 CLK_DUMMY("iface_clk", ADM0_P_CLK, NULL, OFF),
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700642 CLK_DUMMY("pmic_arb_pclk", PMIC_ARB0_P_CLK, NULL, OFF),
643 CLK_DUMMY("pmic_arb_pclk", PMIC_ARB1_P_CLK, NULL, OFF),
644 CLK_DUMMY("pmic_ssbi2", PMIC_SSBI2_CLK, NULL, OFF),
645 CLK_DUMMY("rpm_msg_ram_pclk", RPM_MSG_RAM_P_CLK, NULL, OFF),
646 CLK_DUMMY("amp_clk", AMP_CLK, NULL, OFF),
647 CLK_DUMMY("cam_clk", CAM0_CLK, NULL, OFF),
648 CLK_DUMMY("cam_clk", CAM1_CLK, NULL, OFF),
649 CLK_DUMMY("csi_src_clk", CSI0_SRC_CLK, NULL, OFF),
650 CLK_DUMMY("csi_src_clk", CSI1_SRC_CLK, NULL, OFF),
651 CLK_DUMMY("csi_clk", CSI0_CLK, NULL, OFF),
652 CLK_DUMMY("csi_clk", CSI1_CLK, NULL, OFF),
653 CLK_DUMMY("csi_pix_clk", CSI_PIX_CLK, NULL, OFF),
654 CLK_DUMMY("csi_rdi_clk", CSI_RDI_CLK, NULL, OFF),
655 CLK_DUMMY("csiphy_timer_src_clk", CSIPHY_TIMER_SRC_CLK, NULL, OFF),
656 CLK_DUMMY("csi0phy_timer_clk", CSIPHY0_TIMER_CLK, NULL, OFF),
657 CLK_DUMMY("csi1phy_timer_clk", CSIPHY1_TIMER_CLK, NULL, OFF),
658 CLK_DUMMY("dsi_byte_div_clk", DSI1_BYTE_CLK, NULL, OFF),
659 CLK_DUMMY("dsi_byte_div_clk", DSI2_BYTE_CLK, NULL, OFF),
660 CLK_DUMMY("dsi_esc_clk", DSI1_ESC_CLK, NULL, OFF),
661 CLK_DUMMY("dsi_esc_clk", DSI2_ESC_CLK, NULL, OFF),
Matt Wagantall9dc01632011-08-17 18:55:04 -0700662 CLK_DUMMY("core_clk", VCAP_CLK, NULL, OFF),
663 CLK_DUMMY("npl_clk", VCAP_NPL_CLK, NULL, OFF),
664 CLK_DUMMY("core_clk", GFX3D_CLK, NULL, OFF),
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700665 CLK_DUMMY("ijpeg_clk", IJPEG_CLK, NULL, OFF),
Matt Wagantall9dc01632011-08-17 18:55:04 -0700666 CLK_DUMMY("mem_clk", IMEM_CLK, NULL, OFF),
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700667 CLK_DUMMY("jpegd_clk", JPEGD_CLK, NULL, OFF),
668 CLK_DUMMY("mdp_clk", MDP_CLK, NULL, OFF),
669 CLK_DUMMY("mdp_vsync_clk", MDP_VSYNC_CLK, NULL, OFF),
670 CLK_DUMMY("lut_mdp", LUT_MDP_CLK, NULL, OFF),
671 CLK_DUMMY("rot_clk", ROT_CLK, NULL, OFF),
672 CLK_DUMMY("tv_src_clk", TV_SRC_CLK, NULL, OFF),
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700673 CLK_DUMMY("vcodec_clk", VCODEC_CLK, NULL, OFF),
674 CLK_DUMMY("mdp_tv_clk", MDP_TV_CLK, NULL, OFF),
Tianyi Gou86bb4722011-08-09 13:28:02 -0700675 CLK_DUMMY("rgb_tv_clk", RGB_TV_CLK, NULL, OFF),
676 CLK_DUMMY("npl_tv_clk", NPL_TV_CLK, NULL, OFF),
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700677 CLK_DUMMY("hdmi_clk", HDMI_TV_CLK, NULL, OFF),
Matt Wagantall5a4f1ba2011-08-18 18:13:03 -0700678 CLK_DUMMY("core_clk", HDMI_APP_CLK, "hdmi_msm.1", OFF),
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700679 CLK_DUMMY("vpe_clk", VPE_CLK, NULL, OFF),
680 CLK_DUMMY("vfe_clk", VFE_CLK, NULL, OFF),
681 CLK_DUMMY("csi_vfe_clk", CSI0_VFE_CLK, NULL, OFF),
682 CLK_DUMMY("vfe_axi_clk", VFE_AXI_CLK, NULL, OFF),
683 CLK_DUMMY("ijpeg_axi_clk", IJPEG_AXI_CLK, NULL, OFF),
684 CLK_DUMMY("mdp_axi_clk", MDP_AXI_CLK, NULL, OFF),
685 CLK_DUMMY("rot_axi_clk", ROT_AXI_CLK, NULL, OFF),
686 CLK_DUMMY("vcodec_axi_clk", VCODEC_AXI_CLK, NULL, OFF),
687 CLK_DUMMY("vcodec_axi_a_clk", VCODEC_AXI_A_CLK, NULL, OFF),
688 CLK_DUMMY("vcodec_axi_b_clk", VCODEC_AXI_B_CLK, NULL, OFF),
689 CLK_DUMMY("vpe_axi_clk", VPE_AXI_CLK, NULL, OFF),
Matt Wagantall9dc01632011-08-17 18:55:04 -0700690 CLK_DUMMY("bus_clk", GFX3D_AXI_CLK, NULL, OFF),
Tianyi Gou86bb4722011-08-09 13:28:02 -0700691 CLK_DUMMY("vcap_axi_clk", VCAP_AXI_CLK, NULL, OFF),
692 CLK_DUMMY("vcap_ahb_clk", VCAP_AHB_CLK, NULL, OFF),
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700693 CLK_DUMMY("amp_pclk", AMP_P_CLK, NULL, OFF),
694 CLK_DUMMY("csi_pclk", CSI0_P_CLK, NULL, OFF),
695 CLK_DUMMY("dsi_m_pclk", DSI1_M_P_CLK, NULL, OFF),
696 CLK_DUMMY("dsi_s_pclk", DSI1_S_P_CLK, NULL, OFF),
697 CLK_DUMMY("dsi_m_pclk", DSI2_M_P_CLK, NULL, OFF),
698 CLK_DUMMY("dsi_s_pclk", DSI2_S_P_CLK, NULL, OFF),
Tianyi Gou86bb4722011-08-09 13:28:02 -0700699 CLK_DUMMY("lvds_clk", LVDS_CLK, NULL, OFF),
700 CLK_DUMMY("mdp_p2clk", MDP_P2CLK, NULL, OFF),
701 CLK_DUMMY("dsi2_pixel_clk", DSI2_PIXEL_CLK, NULL, OFF),
702 CLK_DUMMY("lvds_ref_clk", LVDS_REF_CLK, NULL, OFF),
Matt Wagantall9dc01632011-08-17 18:55:04 -0700703 CLK_DUMMY("iface_clk", GFX3D_P_CLK, NULL, OFF),
Matt Wagantall5a4f1ba2011-08-18 18:13:03 -0700704 CLK_DUMMY("master_iface_clk", HDMI_M_P_CLK, "hdmi_msm.1", OFF),
705 CLK_DUMMY("slave_iface_clk", HDMI_S_P_CLK, "hdmi_msm.1", OFF),
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700706 CLK_DUMMY("ijpeg_pclk", IJPEG_P_CLK, NULL, OFF),
707 CLK_DUMMY("jpegd_pclk", JPEGD_P_CLK, NULL, OFF),
Matt Wagantall9dc01632011-08-17 18:55:04 -0700708 CLK_DUMMY("mem_iface_clk", IMEM_P_CLK, NULL, OFF),
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700709 CLK_DUMMY("mdp_pclk", MDP_P_CLK, NULL, OFF),
710 CLK_DUMMY("smmu_pclk", SMMU_P_CLK, NULL, OFF),
711 CLK_DUMMY("rotator_pclk", ROT_P_CLK, NULL, OFF),
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700712 CLK_DUMMY("vcodec_pclk", VCODEC_P_CLK, NULL, OFF),
713 CLK_DUMMY("vfe_pclk", VFE_P_CLK, NULL, OFF),
714 CLK_DUMMY("vpe_pclk", VPE_P_CLK, NULL, OFF),
715 CLK_DUMMY("mi2s_osr_clk", MI2S_OSR_CLK, NULL, OFF),
716 CLK_DUMMY("mi2s_bit_clk", MI2S_BIT_CLK, NULL, OFF),
717 CLK_DUMMY("i2s_mic_osr_clk", CODEC_I2S_MIC_OSR_CLK, NULL, OFF),
718 CLK_DUMMY("i2s_mic_bit_clk", CODEC_I2S_MIC_BIT_CLK, NULL, OFF),
719 CLK_DUMMY("i2s_mic_osr_clk", SPARE_I2S_MIC_OSR_CLK, NULL, OFF),
720 CLK_DUMMY("i2s_mic_bit_clk", SPARE_I2S_MIC_BIT_CLK, NULL, OFF),
721 CLK_DUMMY("i2s_spkr_osr_clk", CODEC_I2S_SPKR_OSR_CLK, NULL, OFF),
722 CLK_DUMMY("i2s_spkr_bit_clk", CODEC_I2S_SPKR_BIT_CLK, NULL, OFF),
723 CLK_DUMMY("i2s_spkr_osr_clk", SPARE_I2S_SPKR_OSR_CLK, NULL, OFF),
724 CLK_DUMMY("i2s_spkr_bit_clk", SPARE_I2S_SPKR_BIT_CLK, NULL, OFF),
725 CLK_DUMMY("pcm_clk", PCM_CLK, NULL, OFF),
Tianyi Gou142b8db2011-09-21 18:01:54 -0700726 CLK_DUMMY("audio_slimbus_clk", AUDIO_SLIMBUS_CLK, NULL, OFF),
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700727 CLK_DUMMY("iommu_clk", JPEGD_AXI_CLK, NULL, 0),
728 CLK_DUMMY("iommu_clk", VFE_AXI_CLK, NULL, 0),
729 CLK_DUMMY("iommu_clk", VCODEC_AXI_CLK, NULL, 0),
730 CLK_DUMMY("iommu_clk", GFX3D_CLK, NULL, 0),
731 CLK_DUMMY("iommu_clk", GFX2D0_CLK, NULL, 0),
732 CLK_DUMMY("iommu_clk", GFX2D1_CLK, NULL, 0),
733
734 CLK_DUMMY("dfab_dsps_clk", DFAB_DSPS_CLK, NULL, 0),
735 CLK_DUMMY("dfab_usb_hs_clk", DFAB_USB_HS_CLK, NULL, 0),
Matt Wagantall37ce3842011-08-17 16:00:36 -0700736 CLK_DUMMY("bus_clk", DFAB_SDC1_CLK, NULL, 0),
737 CLK_DUMMY("bus_clk", DFAB_SDC2_CLK, NULL, 0),
738 CLK_DUMMY("bus_clk", DFAB_SDC3_CLK, NULL, 0),
739 CLK_DUMMY("bus_clk", DFAB_SDC4_CLK, NULL, 0),
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700740 CLK_DUMMY("dfab_clk", DFAB_CLK, NULL, 0),
741 CLK_DUMMY("dma_bam_pclk", DMA_BAM_P_CLK, NULL, 0),
742};
743
Stephen Boydbb600ae2011-08-02 20:11:40 -0700744struct clock_init_data apq8064_dummy_clock_init_data __initdata = {
745 .table = msm_clocks_8064_dummy,
746 .size = ARRAY_SIZE(msm_clocks_8064_dummy),
747};