blob: 8bf25b2cfb9e72d38f9f52abc913f1054298c034 [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>
22#include "clock.h"
23#include "devices.h"
24
25/* Address of GSBI blocks */
26#define MSM_GSBI3_PHYS 0x16200000
Harini Jayaramanc4c58692011-07-19 14:50:10 -060027#define MSM_GSBI4_PHYS 0x16300000
28#define MSM_GSBI5_PHYS 0x1A200000
29#define MSM_GSBI6_PHYS 0x16500000
30#define MSM_GSBI7_PHYS 0x16600000
31
Kenneth Heitke748593a2011-07-15 15:45:11 -060032/* GSBI UART devices */
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070033#define MSM_UART3DM_PHYS (MSM_GSBI3_PHYS + 0x40000)
34
Harini Jayaramanc4c58692011-07-19 14:50:10 -060035/* GSBI QUP devices */
36#define MSM_GSBI3_QUP_PHYS (MSM_GSBI3_PHYS + 0x80000)
37#define MSM_GSBI4_QUP_PHYS (MSM_GSBI4_PHYS + 0x80000)
38#define MSM_GSBI5_QUP_PHYS (MSM_GSBI5_PHYS + 0x80000)
39#define MSM_GSBI6_QUP_PHYS (MSM_GSBI6_PHYS + 0x80000)
40#define MSM_GSBI7_QUP_PHYS (MSM_GSBI7_PHYS + 0x80000)
41#define MSM_QUP_SIZE SZ_4K
42
Kenneth Heitke36920d32011-07-20 16:44:30 -060043/* Address of SSBI CMD */
44#define MSM_PMIC1_SSBI_CMD_PHYS 0x00500000
45#define MSM_PMIC2_SSBI_CMD_PHYS 0x00C00000
46#define MSM_PMIC_SSBI_SIZE SZ_4K
Harini Jayaramanc4c58692011-07-19 14:50:10 -060047
Hemant Kumarcaa09092011-07-30 00:26:33 -070048/* Address of HS USBOTG1 */
49#define MSM_HSUSB_PHYS 0x12500000
50#define MSM_HSUSB_SIZE SZ_4K
51
52
Joel King0581896d2011-07-19 16:43:28 -070053static struct resource msm_dmov_resource[] = {
54 {
55 .start = ADM_0_SCSS_0_IRQ,
56 .end = (resource_size_t)MSM_DMOV_BASE,
57 .flags = IORESOURCE_IRQ,
58 },
59};
60
Stepan Moskovchenkodf13d342011-08-03 19:01:25 -070061struct platform_device apq8064_device_dmov = {
Joel King0581896d2011-07-19 16:43:28 -070062 .name = "msm_dmov",
63 .id = -1,
64 .resource = msm_dmov_resource,
65 .num_resources = ARRAY_SIZE(msm_dmov_resource),
66};
67
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070068static struct resource resources_uart_gsbi3[] = {
69 {
70 .start = GSBI3_UARTDM_IRQ,
71 .end = GSBI3_UARTDM_IRQ,
72 .flags = IORESOURCE_IRQ,
73 },
74 {
75 .start = MSM_UART3DM_PHYS,
76 .end = MSM_UART3DM_PHYS + PAGE_SIZE - 1,
77 .name = "uartdm_resource",
78 .flags = IORESOURCE_MEM,
79 },
80 {
81 .start = MSM_GSBI3_PHYS,
82 .end = MSM_GSBI3_PHYS + PAGE_SIZE - 1,
83 .name = "gsbi_resource",
84 .flags = IORESOURCE_MEM,
85 },
86};
87
88struct platform_device apq8064_device_uart_gsbi3 = {
89 .name = "msm_serial_hsl",
90 .id = 0,
91 .num_resources = ARRAY_SIZE(resources_uart_gsbi3),
92 .resource = resources_uart_gsbi3,
93};
94
Kenneth Heitke748593a2011-07-15 15:45:11 -060095static struct resource resources_qup_i2c_gsbi4[] = {
96 {
97 .name = "gsbi_qup_i2c_addr",
98 .start = MSM_GSBI4_PHYS,
99 .end = MSM_GSBI4_PHYS + MSM_QUP_SIZE - 1,
100 .flags = IORESOURCE_MEM,
101 },
102 {
103 .name = "qup_phys_addr",
104 .start = MSM_GSBI4_QUP_PHYS,
105 .end = MSM_GSBI4_QUP_PHYS + 4 - 1,
106 .flags = IORESOURCE_MEM,
107 },
108 {
109 .name = "qup_err_intr",
110 .start = GSBI4_QUP_IRQ,
111 .end = GSBI4_QUP_IRQ,
112 .flags = IORESOURCE_IRQ,
113 },
114};
115
116struct platform_device apq8064_device_qup_i2c_gsbi4 = {
117 .name = "qup_i2c",
118 .id = 4,
119 .num_resources = ARRAY_SIZE(resources_qup_i2c_gsbi4),
120 .resource = resources_qup_i2c_gsbi4,
121};
122
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700123static struct resource resources_qup_spi_gsbi5[] = {
124 {
125 .name = "spi_base",
126 .start = MSM_GSBI5_QUP_PHYS,
127 .end = MSM_GSBI5_QUP_PHYS + SZ_4K - 1,
128 .flags = IORESOURCE_MEM,
129 },
130 {
131 .name = "gsbi_base",
132 .start = MSM_GSBI5_PHYS,
133 .end = MSM_GSBI5_PHYS + 4 - 1,
134 .flags = IORESOURCE_MEM,
135 },
136 {
137 .name = "spi_irq_in",
138 .start = GSBI5_QUP_IRQ,
139 .end = GSBI5_QUP_IRQ,
140 .flags = IORESOURCE_IRQ,
141 },
142};
143
144struct platform_device apq8064_device_qup_spi_gsbi5 = {
145 .name = "spi_qsd",
146 .id = 0,
147 .num_resources = ARRAY_SIZE(resources_qup_spi_gsbi5),
148 .resource = resources_qup_spi_gsbi5,
149};
150
151static struct resource resources_ssbi_pmic1[] = {
152 {
153 .start = MSM_PMIC1_SSBI_CMD_PHYS,
154 .end = MSM_PMIC1_SSBI_CMD_PHYS + MSM_PMIC_SSBI_SIZE - 1,
155 .flags = IORESOURCE_MEM,
156 },
157};
158
159struct platform_device apq8064_device_ssbi_pmic1 = {
160 .name = "msm_ssbi",
161 .id = 0,
162 .resource = resources_ssbi_pmic1,
163 .num_resources = ARRAY_SIZE(resources_ssbi_pmic1),
164};
165
166static struct resource resources_ssbi_pmic2[] = {
167 {
168 .start = MSM_PMIC2_SSBI_CMD_PHYS,
169 .end = MSM_PMIC2_SSBI_CMD_PHYS + MSM_PMIC_SSBI_SIZE - 1,
170 .flags = IORESOURCE_MEM,
171 },
172};
173
174struct platform_device apq8064_device_ssbi_pmic2 = {
175 .name = "msm_ssbi",
176 .id = 1,
177 .resource = resources_ssbi_pmic2,
178 .num_resources = ARRAY_SIZE(resources_ssbi_pmic2),
179};
180
181static struct resource resources_otg[] = {
182 {
183 .start = MSM_HSUSB_PHYS,
184 .end = MSM_HSUSB_PHYS + MSM_HSUSB_SIZE - 1,
185 .flags = IORESOURCE_MEM,
186 },
187 {
188 .start = USB1_HS_IRQ,
189 .end = USB1_HS_IRQ,
190 .flags = IORESOURCE_IRQ,
191 },
192};
193
Stepan Moskovchenko14aa6492011-08-08 15:15:01 -0700194struct platform_device apq8064_device_otg = {
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700195 .name = "msm_otg",
196 .id = -1,
197 .num_resources = ARRAY_SIZE(resources_otg),
198 .resource = resources_otg,
199 .dev = {
200 .coherent_dma_mask = 0xffffffff,
201 },
202};
203
204static struct resource resources_hsusb[] = {
205 {
206 .start = MSM_HSUSB_PHYS,
207 .end = MSM_HSUSB_PHYS + MSM_HSUSB_SIZE - 1,
208 .flags = IORESOURCE_MEM,
209 },
210 {
211 .start = USB1_HS_IRQ,
212 .end = USB1_HS_IRQ,
213 .flags = IORESOURCE_IRQ,
214 },
215};
216
Stepan Moskovchenko14aa6492011-08-08 15:15:01 -0700217struct platform_device apq8064_device_gadget_peripheral = {
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700218 .name = "msm_hsusb",
219 .id = -1,
220 .num_resources = ARRAY_SIZE(resources_hsusb),
221 .resource = resources_hsusb,
222 .dev = {
223 .coherent_dma_mask = 0xffffffff,
224 },
225};
226
227#define MSM_SDC1_BASE 0x12400000
228#define MSM_SDC1_DML_BASE (MSM_SDC1_BASE + 0x800)
229#define MSM_SDC1_BAM_BASE (MSM_SDC1_BASE + 0x2000)
230#define MSM_SDC2_BASE 0x12140000
231#define MSM_SDC2_DML_BASE (MSM_SDC2_BASE + 0x800)
232#define MSM_SDC2_BAM_BASE (MSM_SDC2_BASE + 0x2000)
233#define MSM_SDC3_BASE 0x12180000
234#define MSM_SDC3_DML_BASE (MSM_SDC3_BASE + 0x800)
235#define MSM_SDC3_BAM_BASE (MSM_SDC3_BASE + 0x2000)
236#define MSM_SDC4_BASE 0x121C0000
237#define MSM_SDC4_DML_BASE (MSM_SDC4_BASE + 0x800)
238#define MSM_SDC4_BAM_BASE (MSM_SDC4_BASE + 0x2000)
239
240static struct resource resources_sdc1[] = {
241 {
242 .name = "core_mem",
243 .flags = IORESOURCE_MEM,
244 .start = MSM_SDC1_BASE,
245 .end = MSM_SDC1_DML_BASE - 1,
246 },
247 {
248 .name = "core_irq",
249 .flags = IORESOURCE_IRQ,
250 .start = SDC1_IRQ_0,
251 .end = SDC1_IRQ_0
252 },
253#ifdef CONFIG_MMC_MSM_SPS_SUPPORT
254 {
255 .name = "sdcc_dml_addr",
256 .start = MSM_SDC1_DML_BASE,
257 .end = MSM_SDC1_BAM_BASE - 1,
258 .flags = IORESOURCE_MEM,
259 },
260 {
261 .name = "sdcc_bam_addr",
262 .start = MSM_SDC1_BAM_BASE,
263 .end = MSM_SDC1_BAM_BASE + (2 * SZ_4K) - 1,
264 .flags = IORESOURCE_MEM,
265 },
266 {
267 .name = "sdcc_bam_irq",
268 .start = SDC1_BAM_IRQ,
269 .end = SDC1_BAM_IRQ,
270 .flags = IORESOURCE_IRQ,
271 },
272#endif
273};
274
275static struct resource resources_sdc2[] = {
276 {
277 .name = "core_mem",
278 .flags = IORESOURCE_MEM,
279 .start = MSM_SDC2_BASE,
280 .end = MSM_SDC2_DML_BASE - 1,
281 },
282 {
283 .name = "core_irq",
284 .flags = IORESOURCE_IRQ,
285 .start = SDC2_IRQ_0,
286 .end = SDC2_IRQ_0
287 },
288#ifdef CONFIG_MMC_MSM_SPS_SUPPORT
289 {
290 .name = "sdcc_dml_addr",
291 .start = MSM_SDC2_DML_BASE,
292 .end = MSM_SDC2_BAM_BASE - 1,
293 .flags = IORESOURCE_MEM,
294 },
295 {
296 .name = "sdcc_bam_addr",
297 .start = MSM_SDC2_BAM_BASE,
298 .end = MSM_SDC2_BAM_BASE + (2 * SZ_4K) - 1,
299 .flags = IORESOURCE_MEM,
300 },
301 {
302 .name = "sdcc_bam_irq",
303 .start = SDC2_BAM_IRQ,
304 .end = SDC2_BAM_IRQ,
305 .flags = IORESOURCE_IRQ,
306 },
307#endif
308};
309
310static struct resource resources_sdc3[] = {
311 {
312 .name = "core_mem",
313 .flags = IORESOURCE_MEM,
314 .start = MSM_SDC3_BASE,
315 .end = MSM_SDC3_DML_BASE - 1,
316 },
317 {
318 .name = "core_irq",
319 .flags = IORESOURCE_IRQ,
320 .start = SDC3_IRQ_0,
321 .end = SDC3_IRQ_0
322 },
323#ifdef CONFIG_MMC_MSM_SPS_SUPPORT
324 {
325 .name = "sdcc_dml_addr",
326 .start = MSM_SDC3_DML_BASE,
327 .end = MSM_SDC3_BAM_BASE - 1,
328 .flags = IORESOURCE_MEM,
329 },
330 {
331 .name = "sdcc_bam_addr",
332 .start = MSM_SDC3_BAM_BASE,
333 .end = MSM_SDC3_BAM_BASE + (2 * SZ_4K) - 1,
334 .flags = IORESOURCE_MEM,
335 },
336 {
337 .name = "sdcc_bam_irq",
338 .start = SDC3_BAM_IRQ,
339 .end = SDC3_BAM_IRQ,
340 .flags = IORESOURCE_IRQ,
341 },
342#endif
343};
344
345static struct resource resources_sdc4[] = {
346 {
347 .name = "core_mem",
348 .flags = IORESOURCE_MEM,
349 .start = MSM_SDC4_BASE,
350 .end = MSM_SDC4_DML_BASE - 1,
351 },
352 {
353 .name = "core_irq",
354 .flags = IORESOURCE_IRQ,
355 .start = SDC4_IRQ_0,
356 .end = SDC4_IRQ_0
357 },
358#ifdef CONFIG_MMC_MSM_SPS_SUPPORT
359 {
360 .name = "sdcc_dml_addr",
361 .start = MSM_SDC4_DML_BASE,
362 .end = MSM_SDC4_BAM_BASE - 1,
363 .flags = IORESOURCE_MEM,
364 },
365 {
366 .name = "sdcc_bam_addr",
367 .start = MSM_SDC4_BAM_BASE,
368 .end = MSM_SDC4_BAM_BASE + (2 * SZ_4K) - 1,
369 .flags = IORESOURCE_MEM,
370 },
371 {
372 .name = "sdcc_bam_irq",
373 .start = SDC4_BAM_IRQ,
374 .end = SDC4_BAM_IRQ,
375 .flags = IORESOURCE_IRQ,
376 },
377#endif
378};
379
380struct platform_device apq8064_device_sdc1 = {
381 .name = "msm_sdcc",
382 .id = 1,
383 .num_resources = ARRAY_SIZE(resources_sdc1),
384 .resource = resources_sdc1,
385 .dev = {
386 .coherent_dma_mask = 0xffffffff,
387 },
388};
389
390struct platform_device apq8064_device_sdc2 = {
391 .name = "msm_sdcc",
392 .id = 2,
393 .num_resources = ARRAY_SIZE(resources_sdc2),
394 .resource = resources_sdc2,
395 .dev = {
396 .coherent_dma_mask = 0xffffffff,
397 },
398};
399
400struct platform_device apq8064_device_sdc3 = {
401 .name = "msm_sdcc",
402 .id = 3,
403 .num_resources = ARRAY_SIZE(resources_sdc3),
404 .resource = resources_sdc3,
405 .dev = {
406 .coherent_dma_mask = 0xffffffff,
407 },
408};
409
410struct platform_device apq8064_device_sdc4 = {
411 .name = "msm_sdcc",
412 .id = 4,
413 .num_resources = ARRAY_SIZE(resources_sdc4),
414 .resource = resources_sdc4,
415 .dev = {
416 .coherent_dma_mask = 0xffffffff,
417 },
418};
419
420static struct platform_device *apq8064_sdcc_devices[] __initdata = {
421 &apq8064_device_sdc1,
422 &apq8064_device_sdc2,
423 &apq8064_device_sdc3,
424 &apq8064_device_sdc4,
425};
426
427int __init apq8064_add_sdcc(unsigned int controller,
428 struct mmc_platform_data *plat)
429{
430 struct platform_device *pdev;
431
432 if (!plat)
433 return 0;
434 if (controller < 1 || controller > 4)
435 return -EINVAL;
436
437 pdev = apq8064_sdcc_devices[controller-1];
438 pdev->dev.platform_data = plat;
439 return platform_device_register(pdev);
440}
441
442static struct clk_lookup msm_clocks_8064_dummy[] = {
443 CLK_DUMMY("pll2", PLL2, NULL, 0),
444 CLK_DUMMY("pll8", PLL8, NULL, 0),
445 CLK_DUMMY("pll4", PLL4, NULL, 0),
446
447 CLK_DUMMY("afab_clk", AFAB_CLK, NULL, 0),
448 CLK_DUMMY("afab_a_clk", AFAB_A_CLK, NULL, 0),
449 CLK_DUMMY("cfpb_clk", CFPB_CLK, NULL, 0),
450 CLK_DUMMY("cfpb_a_clk", CFPB_A_CLK, NULL, 0),
451 CLK_DUMMY("dfab_clk", DFAB_CLK, NULL, 0),
452 CLK_DUMMY("dfab_a_clk", DFAB_A_CLK, NULL, 0),
453 CLK_DUMMY("ebi1_clk", EBI1_CLK, NULL, 0),
454 CLK_DUMMY("ebi1_a_clk", EBI1_A_CLK, NULL, 0),
455 CLK_DUMMY("mmfab_clk", MMFAB_CLK, NULL, 0),
456 CLK_DUMMY("mmfab_a_clk", MMFAB_A_CLK, NULL, 0),
457 CLK_DUMMY("mmfpb_clk", MMFPB_CLK, NULL, 0),
458 CLK_DUMMY("mmfpb_a_clk", MMFPB_A_CLK, NULL, 0),
459 CLK_DUMMY("sfab_clk", SFAB_CLK, NULL, 0),
460 CLK_DUMMY("sfab_a_clk", SFAB_A_CLK, NULL, 0),
461 CLK_DUMMY("sfpb_clk", SFPB_CLK, NULL, 0),
462 CLK_DUMMY("sfpb_a_clk", SFPB_A_CLK, NULL, 0),
463
464 CLK_DUMMY("gsbi_uart_clk", GSBI1_UART_CLK, NULL, OFF),
465 CLK_DUMMY("gsbi_uart_clk", GSBI2_UART_CLK, NULL, OFF),
466 CLK_DUMMY("gsbi_uart_clk", GSBI3_UART_CLK,
467 "msm_serial_hsl.0", OFF),
468 CLK_DUMMY("gsbi_uart_clk", GSBI4_UART_CLK, NULL, OFF),
469 CLK_DUMMY("gsbi_uart_clk", GSBI5_UART_CLK, NULL, OFF),
470 CLK_DUMMY("uartdm_clk", GSBI6_UART_CLK, NULL, OFF),
471 CLK_DUMMY("gsbi_uart_clk", GSBI7_UART_CLK, NULL, OFF),
Kenneth Heitke748593a2011-07-15 15:45:11 -0600472 CLK_DUMMY("gsbi_uart_clk", GSBI8_UART_CLK, NULL, OFF),
473 CLK_DUMMY("gsbi_uart_clk", GSBI9_UART_CLK, NULL, OFF),
474 CLK_DUMMY("gsbi_uart_clk", GSBI10_UART_CLK, NULL, OFF),
475 CLK_DUMMY("gsbi_uart_clk", GSBI11_UART_CLK, NULL, OFF),
476 CLK_DUMMY("gsbi_uart_clk", GSBI12_UART_CLK, NULL, OFF),
477 CLK_DUMMY("gsbi_qup_clk", GSBI1_QUP_CLK, NULL, OFF),
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700478 CLK_DUMMY("gsbi_qup_clk", GSBI2_QUP_CLK, NULL, OFF),
479 CLK_DUMMY("gsbi_qup_clk", GSBI3_QUP_CLK, NULL, OFF),
Kenneth Heitke748593a2011-07-15 15:45:11 -0600480 CLK_DUMMY("gsbi_qup_clk", GSBI4_QUP_CLK, "qup_i2c.4", OFF),
481 CLK_DUMMY("spi_clk", GSBI5_QUP_CLK, "spi_qsd.0", OFF),
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700482 CLK_DUMMY("gsbi_qup_clk", GSBI6_QUP_CLK, NULL, OFF),
483 CLK_DUMMY("gsbi_qup_clk", GSBI7_QUP_CLK, NULL, OFF),
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700484 CLK_DUMMY("pdm_clk", PDM_CLK, NULL, OFF),
485 CLK_DUMMY("pmem_clk", PMEM_CLK, NULL, OFF),
486 CLK_DUMMY("prng_clk", PRNG_CLK, NULL, OFF),
487 CLK_DUMMY("sdc_clk", SDC1_CLK, NULL, OFF),
488 CLK_DUMMY("sdc_clk", SDC2_CLK, NULL, OFF),
489 CLK_DUMMY("sdc_clk", SDC3_CLK, NULL, OFF),
490 CLK_DUMMY("sdc_clk", SDC4_CLK, NULL, OFF),
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700491 CLK_DUMMY("tsif_ref_clk", TSIF_REF_CLK, NULL, OFF),
492 CLK_DUMMY("tssc_clk", TSSC_CLK, NULL, OFF),
493 CLK_DUMMY("usb_hs_clk", USB_HS1_XCVR_CLK, NULL, OFF),
Tianyi Gou86bb4722011-08-09 13:28:02 -0700494 CLK_DUMMY("usb_hs_clk", USB_HS3_XCVR_CLK, NULL, OFF),
495 CLK_DUMMY("usb_hs_clk", USB_HS4_XCVR_CLK, NULL, OFF),
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700496 CLK_DUMMY("usb_phy_clk", USB_PHY0_CLK, NULL, OFF),
497 CLK_DUMMY("usb_fs_src_clk", USB_FS1_SRC_CLK, NULL, OFF),
498 CLK_DUMMY("usb_fs_clk", USB_FS1_XCVR_CLK, NULL, OFF),
499 CLK_DUMMY("usb_fs_sys_clk", USB_FS1_SYS_CLK, NULL, OFF),
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700500 CLK_DUMMY("ce_pclk", CE2_CLK, NULL, OFF),
501 CLK_DUMMY("ce_clk", CE1_CORE_CLK, NULL, OFF),
Tianyi Gou86bb4722011-08-09 13:28:02 -0700502 CLK_DUMMY("ce_clk", CE3_CORE_CLK, NULL, OFF),
503 CLK_DUMMY("ce_pclk", CE3_P_CLK, NULL, OFF),
504 CLK_DUMMY("pcie_pclk", PCIE_P_CLK, NULL, OFF),
505 CLK_DUMMY("pcie_alt_ref_clk", PCIE_ALT_REF_CLK, NULL, OFF),
506 CLK_DUMMY("sata_rxoob_clk", SATA_RXOOB_CLK, NULL, OFF),
507 CLK_DUMMY("sata_pmalive_clk", SATA_PMALIVE_CLK, NULL, OFF),
508 CLK_DUMMY("sata_phy_ref_clk", SATA_PHY_REF_CLK, NULL, OFF),
Kenneth Heitke748593a2011-07-15 15:45:11 -0600509 CLK_DUMMY("gsbi_pclk", GSBI1_P_CLK, NULL, OFF),
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700510 CLK_DUMMY("gsbi_pclk", GSBI2_P_CLK, NULL, OFF),
511 CLK_DUMMY("gsbi_pclk", GSBI3_P_CLK,
512 "msm_serial_hsl.0", OFF),
Kenneth Heitke748593a2011-07-15 15:45:11 -0600513 CLK_DUMMY("gsbi_pclk", GSBI4_P_CLK, "qup_i2c.4", OFF),
Harini Jayaramanc4c58692011-07-19 14:50:10 -0600514 CLK_DUMMY("spi_pclk", GSBI5_P_CLK, "spi_qsd.0", OFF),
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700515 CLK_DUMMY("uartdm_pclk", GSBI6_P_CLK, NULL, OFF),
516 CLK_DUMMY("gsbi_pclk", GSBI7_P_CLK, NULL, OFF),
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700517 CLK_DUMMY("tsif_pclk", TSIF_P_CLK, NULL, OFF),
518 CLK_DUMMY("usb_fs_pclk", USB_FS1_P_CLK, NULL, OFF),
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700519 CLK_DUMMY("usb_hs_pclk", USB_HS1_P_CLK, NULL, OFF),
Tianyi Gou86bb4722011-08-09 13:28:02 -0700520 CLK_DUMMY("usb_hs_pclk", USB_HS3_P_CLK, NULL, OFF),
521 CLK_DUMMY("usb_hs_pclk", USB_HS4_P_CLK, NULL, OFF),
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700522 CLK_DUMMY("sdc_pclk", SDC1_P_CLK, NULL, OFF),
523 CLK_DUMMY("sdc_pclk", SDC2_P_CLK, NULL, OFF),
524 CLK_DUMMY("sdc_pclk", SDC3_P_CLK, NULL, OFF),
525 CLK_DUMMY("sdc_pclk", SDC4_P_CLK, NULL, OFF),
526 CLK_DUMMY("sdc_pclk", SDC5_P_CLK, NULL, OFF),
527 CLK_DUMMY("adm_clk", ADM0_CLK, NULL, OFF),
528 CLK_DUMMY("adm_pclk", ADM0_P_CLK, NULL, OFF),
529 CLK_DUMMY("pmic_arb_pclk", PMIC_ARB0_P_CLK, NULL, OFF),
530 CLK_DUMMY("pmic_arb_pclk", PMIC_ARB1_P_CLK, NULL, OFF),
531 CLK_DUMMY("pmic_ssbi2", PMIC_SSBI2_CLK, NULL, OFF),
532 CLK_DUMMY("rpm_msg_ram_pclk", RPM_MSG_RAM_P_CLK, NULL, OFF),
533 CLK_DUMMY("amp_clk", AMP_CLK, NULL, OFF),
534 CLK_DUMMY("cam_clk", CAM0_CLK, NULL, OFF),
535 CLK_DUMMY("cam_clk", CAM1_CLK, NULL, OFF),
536 CLK_DUMMY("csi_src_clk", CSI0_SRC_CLK, NULL, OFF),
537 CLK_DUMMY("csi_src_clk", CSI1_SRC_CLK, NULL, OFF),
538 CLK_DUMMY("csi_clk", CSI0_CLK, NULL, OFF),
539 CLK_DUMMY("csi_clk", CSI1_CLK, NULL, OFF),
540 CLK_DUMMY("csi_pix_clk", CSI_PIX_CLK, NULL, OFF),
541 CLK_DUMMY("csi_rdi_clk", CSI_RDI_CLK, NULL, OFF),
542 CLK_DUMMY("csiphy_timer_src_clk", CSIPHY_TIMER_SRC_CLK, NULL, OFF),
543 CLK_DUMMY("csi0phy_timer_clk", CSIPHY0_TIMER_CLK, NULL, OFF),
544 CLK_DUMMY("csi1phy_timer_clk", CSIPHY1_TIMER_CLK, NULL, OFF),
545 CLK_DUMMY("dsi_byte_div_clk", DSI1_BYTE_CLK, NULL, OFF),
546 CLK_DUMMY("dsi_byte_div_clk", DSI2_BYTE_CLK, NULL, OFF),
547 CLK_DUMMY("dsi_esc_clk", DSI1_ESC_CLK, NULL, OFF),
548 CLK_DUMMY("dsi_esc_clk", DSI2_ESC_CLK, NULL, OFF),
Tianyi Gou86bb4722011-08-09 13:28:02 -0700549 CLK_DUMMY("vcap_clk", VCAP_CLK, NULL, OFF),
550 CLK_DUMMY("vcap_npl_clk", VCAP_NPL_CLK, NULL, OFF),
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700551 CLK_DUMMY("gfx3d_clk", GFX3D_CLK, NULL, OFF),
552 CLK_DUMMY("ijpeg_clk", IJPEG_CLK, NULL, OFF),
553 CLK_DUMMY("imem_clk", IMEM_CLK, NULL, OFF),
554 CLK_DUMMY("jpegd_clk", JPEGD_CLK, NULL, OFF),
555 CLK_DUMMY("mdp_clk", MDP_CLK, NULL, OFF),
556 CLK_DUMMY("mdp_vsync_clk", MDP_VSYNC_CLK, NULL, OFF),
557 CLK_DUMMY("lut_mdp", LUT_MDP_CLK, NULL, OFF),
558 CLK_DUMMY("rot_clk", ROT_CLK, NULL, OFF),
559 CLK_DUMMY("tv_src_clk", TV_SRC_CLK, NULL, OFF),
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700560 CLK_DUMMY("vcodec_clk", VCODEC_CLK, NULL, OFF),
561 CLK_DUMMY("mdp_tv_clk", MDP_TV_CLK, NULL, OFF),
Tianyi Gou86bb4722011-08-09 13:28:02 -0700562 CLK_DUMMY("rgb_tv_clk", RGB_TV_CLK, NULL, OFF),
563 CLK_DUMMY("npl_tv_clk", NPL_TV_CLK, NULL, OFF),
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700564 CLK_DUMMY("hdmi_clk", HDMI_TV_CLK, NULL, OFF),
565 CLK_DUMMY("hdmi_app_clk", HDMI_APP_CLK, NULL, OFF),
566 CLK_DUMMY("vpe_clk", VPE_CLK, NULL, OFF),
567 CLK_DUMMY("vfe_clk", VFE_CLK, NULL, OFF),
568 CLK_DUMMY("csi_vfe_clk", CSI0_VFE_CLK, NULL, OFF),
569 CLK_DUMMY("vfe_axi_clk", VFE_AXI_CLK, NULL, OFF),
570 CLK_DUMMY("ijpeg_axi_clk", IJPEG_AXI_CLK, NULL, OFF),
571 CLK_DUMMY("mdp_axi_clk", MDP_AXI_CLK, NULL, OFF),
572 CLK_DUMMY("rot_axi_clk", ROT_AXI_CLK, NULL, OFF),
573 CLK_DUMMY("vcodec_axi_clk", VCODEC_AXI_CLK, NULL, OFF),
574 CLK_DUMMY("vcodec_axi_a_clk", VCODEC_AXI_A_CLK, NULL, OFF),
575 CLK_DUMMY("vcodec_axi_b_clk", VCODEC_AXI_B_CLK, NULL, OFF),
576 CLK_DUMMY("vpe_axi_clk", VPE_AXI_CLK, NULL, OFF),
Tianyi Gou86bb4722011-08-09 13:28:02 -0700577 CLK_DUMMY("gfx3d_axi_clk", GFX3D_AXI_CLK, NULL, OFF),
578 CLK_DUMMY("vcap_axi_clk", VCAP_AXI_CLK, NULL, OFF),
579 CLK_DUMMY("vcap_ahb_clk", VCAP_AHB_CLK, NULL, OFF),
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700580 CLK_DUMMY("amp_pclk", AMP_P_CLK, NULL, OFF),
581 CLK_DUMMY("csi_pclk", CSI0_P_CLK, NULL, OFF),
582 CLK_DUMMY("dsi_m_pclk", DSI1_M_P_CLK, NULL, OFF),
583 CLK_DUMMY("dsi_s_pclk", DSI1_S_P_CLK, NULL, OFF),
584 CLK_DUMMY("dsi_m_pclk", DSI2_M_P_CLK, NULL, OFF),
585 CLK_DUMMY("dsi_s_pclk", DSI2_S_P_CLK, NULL, OFF),
Tianyi Gou86bb4722011-08-09 13:28:02 -0700586 CLK_DUMMY("lvds_clk", LVDS_CLK, NULL, OFF),
587 CLK_DUMMY("mdp_p2clk", MDP_P2CLK, NULL, OFF),
588 CLK_DUMMY("dsi2_pixel_clk", DSI2_PIXEL_CLK, NULL, OFF),
589 CLK_DUMMY("lvds_ref_clk", LVDS_REF_CLK, NULL, OFF),
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700590 CLK_DUMMY("gfx3d_pclk", GFX3D_P_CLK, NULL, OFF),
591 CLK_DUMMY("hdmi_m_pclk", HDMI_M_P_CLK, NULL, OFF),
592 CLK_DUMMY("hdmi_s_pclk", HDMI_S_P_CLK, NULL, OFF),
593 CLK_DUMMY("ijpeg_pclk", IJPEG_P_CLK, NULL, OFF),
594 CLK_DUMMY("jpegd_pclk", JPEGD_P_CLK, NULL, OFF),
595 CLK_DUMMY("imem_pclk", IMEM_P_CLK, NULL, OFF),
596 CLK_DUMMY("mdp_pclk", MDP_P_CLK, NULL, OFF),
597 CLK_DUMMY("smmu_pclk", SMMU_P_CLK, NULL, OFF),
598 CLK_DUMMY("rotator_pclk", ROT_P_CLK, NULL, OFF),
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700599 CLK_DUMMY("vcodec_pclk", VCODEC_P_CLK, NULL, OFF),
600 CLK_DUMMY("vfe_pclk", VFE_P_CLK, NULL, OFF),
601 CLK_DUMMY("vpe_pclk", VPE_P_CLK, NULL, OFF),
602 CLK_DUMMY("mi2s_osr_clk", MI2S_OSR_CLK, NULL, OFF),
603 CLK_DUMMY("mi2s_bit_clk", MI2S_BIT_CLK, NULL, OFF),
604 CLK_DUMMY("i2s_mic_osr_clk", CODEC_I2S_MIC_OSR_CLK, NULL, OFF),
605 CLK_DUMMY("i2s_mic_bit_clk", CODEC_I2S_MIC_BIT_CLK, NULL, OFF),
606 CLK_DUMMY("i2s_mic_osr_clk", SPARE_I2S_MIC_OSR_CLK, NULL, OFF),
607 CLK_DUMMY("i2s_mic_bit_clk", SPARE_I2S_MIC_BIT_CLK, NULL, OFF),
608 CLK_DUMMY("i2s_spkr_osr_clk", CODEC_I2S_SPKR_OSR_CLK, NULL, OFF),
609 CLK_DUMMY("i2s_spkr_bit_clk", CODEC_I2S_SPKR_BIT_CLK, NULL, OFF),
610 CLK_DUMMY("i2s_spkr_osr_clk", SPARE_I2S_SPKR_OSR_CLK, NULL, OFF),
611 CLK_DUMMY("i2s_spkr_bit_clk", SPARE_I2S_SPKR_BIT_CLK, NULL, OFF),
612 CLK_DUMMY("pcm_clk", PCM_CLK, NULL, OFF),
613 CLK_DUMMY("iommu_clk", JPEGD_AXI_CLK, NULL, 0),
614 CLK_DUMMY("iommu_clk", VFE_AXI_CLK, NULL, 0),
615 CLK_DUMMY("iommu_clk", VCODEC_AXI_CLK, NULL, 0),
616 CLK_DUMMY("iommu_clk", GFX3D_CLK, NULL, 0),
617 CLK_DUMMY("iommu_clk", GFX2D0_CLK, NULL, 0),
618 CLK_DUMMY("iommu_clk", GFX2D1_CLK, NULL, 0),
619
620 CLK_DUMMY("dfab_dsps_clk", DFAB_DSPS_CLK, NULL, 0),
621 CLK_DUMMY("dfab_usb_hs_clk", DFAB_USB_HS_CLK, NULL, 0),
622 CLK_DUMMY("dfab_sdc_clk", DFAB_SDC1_CLK, NULL, 0),
623 CLK_DUMMY("dfab_sdc_clk", DFAB_SDC2_CLK, NULL, 0),
624 CLK_DUMMY("dfab_sdc_clk", DFAB_SDC3_CLK, NULL, 0),
625 CLK_DUMMY("dfab_sdc_clk", DFAB_SDC4_CLK, NULL, 0),
626 CLK_DUMMY("dfab_sdc_clk", DFAB_SDC5_CLK, NULL, 0),
627 CLK_DUMMY("dfab_clk", DFAB_CLK, NULL, 0),
628 CLK_DUMMY("dma_bam_pclk", DMA_BAM_P_CLK, NULL, 0),
629};
630
Stephen Boydbb600ae2011-08-02 20:11:40 -0700631struct clock_init_data apq8064_dummy_clock_init_data __initdata = {
632 .table = msm_clocks_8064_dummy,
633 .size = ARRAY_SIZE(msm_clocks_8064_dummy),
634};