diff options
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-davinci/board-evm.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-davinci/usb.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-iop13xx/setup.c | 8 | ||||
-rw-r--r-- | arch/arm/mach-iop13xx/tpmi.c | 10 | ||||
-rw-r--r-- | arch/arm/mach-kirkwood/common.c | 10 | ||||
-rw-r--r-- | arch/arm/mach-mx1/Makefile | 3 | ||||
-rw-r--r-- | arch/arm/mach-mx1/devices.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-mx1/ksym_mx1.c | 18 | ||||
-rw-r--r-- | arch/arm/mach-mx1/mx1_camera_fiq.S | 35 | ||||
-rw-r--r-- | arch/arm/mach-mx3/clock.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-orion5x/common.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-pxa/include/mach/pxa2xx_spi.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-s3c2410/mach-bast.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-s3c2410/mach-n30.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-s3c2412/mach-jive.c | 3 | ||||
-rw-r--r-- | arch/arm/plat-iop/adma.c | 8 | ||||
-rw-r--r-- | arch/arm/plat-mxc/include/mach/i2c.h | 25 | ||||
-rw-r--r-- | arch/arm/plat-mxc/include/mach/memory.h | 8 | ||||
-rw-r--r-- | arch/arm/plat-mxc/include/mach/mx1_camera.h | 35 | ||||
-rw-r--r-- | arch/arm/plat-s3c/dev-i2c0.c | 7 | ||||
-rw-r--r-- | arch/arm/plat-s3c/dev-i2c1.c | 7 | ||||
-rw-r--r-- | arch/arm/plat-s3c/include/plat/iic.h | 33 |
22 files changed, 180 insertions, 55 deletions
diff --git a/arch/arm/mach-davinci/board-evm.c b/arch/arm/mach-davinci/board-evm.c index 38b6a9ce2a93..0b97a528902b 100644 --- a/arch/arm/mach-davinci/board-evm.c +++ b/arch/arm/mach-davinci/board-evm.c | |||
@@ -118,7 +118,7 @@ static struct resource ide_resources[] = { | |||
118 | }, | 118 | }, |
119 | }; | 119 | }; |
120 | 120 | ||
121 | static u64 ide_dma_mask = DMA_32BIT_MASK; | 121 | static u64 ide_dma_mask = DMA_BIT_MASK(32); |
122 | 122 | ||
123 | static struct platform_device ide_dev = { | 123 | static struct platform_device ide_dev = { |
124 | .name = "palm_bk3710", | 124 | .name = "palm_bk3710", |
@@ -127,7 +127,7 @@ static struct platform_device ide_dev = { | |||
127 | .num_resources = ARRAY_SIZE(ide_resources), | 127 | .num_resources = ARRAY_SIZE(ide_resources), |
128 | .dev = { | 128 | .dev = { |
129 | .dma_mask = &ide_dma_mask, | 129 | .dma_mask = &ide_dma_mask, |
130 | .coherent_dma_mask = DMA_32BIT_MASK, | 130 | .coherent_dma_mask = DMA_BIT_MASK(32), |
131 | }, | 131 | }, |
132 | }; | 132 | }; |
133 | 133 | ||
diff --git a/arch/arm/mach-davinci/usb.c b/arch/arm/mach-davinci/usb.c index 69680784448a..2429b79f6da2 100644 --- a/arch/arm/mach-davinci/usb.c +++ b/arch/arm/mach-davinci/usb.c | |||
@@ -64,7 +64,7 @@ static struct resource usb_resources[] = { | |||
64 | }, | 64 | }, |
65 | }; | 65 | }; |
66 | 66 | ||
67 | static u64 usb_dmamask = DMA_32BIT_MASK; | 67 | static u64 usb_dmamask = DMA_BIT_MASK(32); |
68 | 68 | ||
69 | static struct platform_device usb_dev = { | 69 | static struct platform_device usb_dev = { |
70 | .name = "musb_hdrc", | 70 | .name = "musb_hdrc", |
@@ -72,7 +72,7 @@ static struct platform_device usb_dev = { | |||
72 | .dev = { | 72 | .dev = { |
73 | .platform_data = &usb_data, | 73 | .platform_data = &usb_data, |
74 | .dma_mask = &usb_dmamask, | 74 | .dma_mask = &usb_dmamask, |
75 | .coherent_dma_mask = DMA_32BIT_MASK, | 75 | .coherent_dma_mask = DMA_BIT_MASK(32), |
76 | }, | 76 | }, |
77 | .resource = usb_resources, | 77 | .resource = usb_resources, |
78 | .num_resources = ARRAY_SIZE(usb_resources), | 78 | .num_resources = ARRAY_SIZE(usb_resources), |
diff --git a/arch/arm/mach-iop13xx/setup.c b/arch/arm/mach-iop13xx/setup.c index cfd4d2e6dacd..bee42c609df6 100644 --- a/arch/arm/mach-iop13xx/setup.c +++ b/arch/arm/mach-iop13xx/setup.c | |||
@@ -307,7 +307,7 @@ static struct resource iop13xx_adma_2_resources[] = { | |||
307 | } | 307 | } |
308 | }; | 308 | }; |
309 | 309 | ||
310 | static u64 iop13xx_adma_dmamask = DMA_64BIT_MASK; | 310 | static u64 iop13xx_adma_dmamask = DMA_BIT_MASK(64); |
311 | static struct iop_adma_platform_data iop13xx_adma_0_data = { | 311 | static struct iop_adma_platform_data iop13xx_adma_0_data = { |
312 | .hw_id = 0, | 312 | .hw_id = 0, |
313 | .pool_size = PAGE_SIZE, | 313 | .pool_size = PAGE_SIZE, |
@@ -331,7 +331,7 @@ static struct platform_device iop13xx_adma_0_channel = { | |||
331 | .resource = iop13xx_adma_0_resources, | 331 | .resource = iop13xx_adma_0_resources, |
332 | .dev = { | 332 | .dev = { |
333 | .dma_mask = &iop13xx_adma_dmamask, | 333 | .dma_mask = &iop13xx_adma_dmamask, |
334 | .coherent_dma_mask = DMA_64BIT_MASK, | 334 | .coherent_dma_mask = DMA_BIT_MASK(64), |
335 | .platform_data = (void *) &iop13xx_adma_0_data, | 335 | .platform_data = (void *) &iop13xx_adma_0_data, |
336 | }, | 336 | }, |
337 | }; | 337 | }; |
@@ -343,7 +343,7 @@ static struct platform_device iop13xx_adma_1_channel = { | |||
343 | .resource = iop13xx_adma_1_resources, | 343 | .resource = iop13xx_adma_1_resources, |
344 | .dev = { | 344 | .dev = { |
345 | .dma_mask = &iop13xx_adma_dmamask, | 345 | .dma_mask = &iop13xx_adma_dmamask, |
346 | .coherent_dma_mask = DMA_64BIT_MASK, | 346 | .coherent_dma_mask = DMA_BIT_MASK(64), |
347 | .platform_data = (void *) &iop13xx_adma_1_data, | 347 | .platform_data = (void *) &iop13xx_adma_1_data, |
348 | }, | 348 | }, |
349 | }; | 349 | }; |
@@ -355,7 +355,7 @@ static struct platform_device iop13xx_adma_2_channel = { | |||
355 | .resource = iop13xx_adma_2_resources, | 355 | .resource = iop13xx_adma_2_resources, |
356 | .dev = { | 356 | .dev = { |
357 | .dma_mask = &iop13xx_adma_dmamask, | 357 | .dma_mask = &iop13xx_adma_dmamask, |
358 | .coherent_dma_mask = DMA_64BIT_MASK, | 358 | .coherent_dma_mask = DMA_BIT_MASK(64), |
359 | .platform_data = (void *) &iop13xx_adma_2_data, | 359 | .platform_data = (void *) &iop13xx_adma_2_data, |
360 | }, | 360 | }, |
361 | }; | 361 | }; |
diff --git a/arch/arm/mach-iop13xx/tpmi.c b/arch/arm/mach-iop13xx/tpmi.c index c6af1e1bee32..6fdad7a0425a 100644 --- a/arch/arm/mach-iop13xx/tpmi.c +++ b/arch/arm/mach-iop13xx/tpmi.c | |||
@@ -151,7 +151,7 @@ static struct resource iop13xx_tpmi_3_resources[] = { | |||
151 | } | 151 | } |
152 | }; | 152 | }; |
153 | 153 | ||
154 | u64 iop13xx_tpmi_mask = DMA_64BIT_MASK; | 154 | u64 iop13xx_tpmi_mask = DMA_BIT_MASK(64); |
155 | static struct platform_device iop13xx_tpmi_0_device = { | 155 | static struct platform_device iop13xx_tpmi_0_device = { |
156 | .name = "iop-tpmi", | 156 | .name = "iop-tpmi", |
157 | .id = 0, | 157 | .id = 0, |
@@ -159,7 +159,7 @@ static struct platform_device iop13xx_tpmi_0_device = { | |||
159 | .resource = iop13xx_tpmi_0_resources, | 159 | .resource = iop13xx_tpmi_0_resources, |
160 | .dev = { | 160 | .dev = { |
161 | .dma_mask = &iop13xx_tpmi_mask, | 161 | .dma_mask = &iop13xx_tpmi_mask, |
162 | .coherent_dma_mask = DMA_64BIT_MASK, | 162 | .coherent_dma_mask = DMA_BIT_MASK(64), |
163 | }, | 163 | }, |
164 | }; | 164 | }; |
165 | 165 | ||
@@ -170,7 +170,7 @@ static struct platform_device iop13xx_tpmi_1_device = { | |||
170 | .resource = iop13xx_tpmi_1_resources, | 170 | .resource = iop13xx_tpmi_1_resources, |
171 | .dev = { | 171 | .dev = { |
172 | .dma_mask = &iop13xx_tpmi_mask, | 172 | .dma_mask = &iop13xx_tpmi_mask, |
173 | .coherent_dma_mask = DMA_64BIT_MASK, | 173 | .coherent_dma_mask = DMA_BIT_MASK(64), |
174 | }, | 174 | }, |
175 | }; | 175 | }; |
176 | 176 | ||
@@ -181,7 +181,7 @@ static struct platform_device iop13xx_tpmi_2_device = { | |||
181 | .resource = iop13xx_tpmi_2_resources, | 181 | .resource = iop13xx_tpmi_2_resources, |
182 | .dev = { | 182 | .dev = { |
183 | .dma_mask = &iop13xx_tpmi_mask, | 183 | .dma_mask = &iop13xx_tpmi_mask, |
184 | .coherent_dma_mask = DMA_64BIT_MASK, | 184 | .coherent_dma_mask = DMA_BIT_MASK(64), |
185 | }, | 185 | }, |
186 | }; | 186 | }; |
187 | 187 | ||
@@ -192,7 +192,7 @@ static struct platform_device iop13xx_tpmi_3_device = { | |||
192 | .resource = iop13xx_tpmi_3_resources, | 192 | .resource = iop13xx_tpmi_3_resources, |
193 | .dev = { | 193 | .dev = { |
194 | .dma_mask = &iop13xx_tpmi_mask, | 194 | .dma_mask = &iop13xx_tpmi_mask, |
195 | .coherent_dma_mask = DMA_64BIT_MASK, | 195 | .coherent_dma_mask = DMA_BIT_MASK(64), |
196 | }, | 196 | }, |
197 | }; | 197 | }; |
198 | 198 | ||
diff --git a/arch/arm/mach-kirkwood/common.c b/arch/arm/mach-kirkwood/common.c index 3d2fae846512..16dc9ea08393 100644 --- a/arch/arm/mach-kirkwood/common.c +++ b/arch/arm/mach-kirkwood/common.c | |||
@@ -508,7 +508,7 @@ static struct mv_xor_platform_shared_data kirkwood_xor_shared_data = { | |||
508 | .dram = &kirkwood_mbus_dram_info, | 508 | .dram = &kirkwood_mbus_dram_info, |
509 | }; | 509 | }; |
510 | 510 | ||
511 | static u64 kirkwood_xor_dmamask = DMA_32BIT_MASK; | 511 | static u64 kirkwood_xor_dmamask = DMA_BIT_MASK(32); |
512 | 512 | ||
513 | 513 | ||
514 | /***************************************************************************** | 514 | /***************************************************************************** |
@@ -559,7 +559,7 @@ static struct platform_device kirkwood_xor00_channel = { | |||
559 | .resource = kirkwood_xor00_resources, | 559 | .resource = kirkwood_xor00_resources, |
560 | .dev = { | 560 | .dev = { |
561 | .dma_mask = &kirkwood_xor_dmamask, | 561 | .dma_mask = &kirkwood_xor_dmamask, |
562 | .coherent_dma_mask = DMA_64BIT_MASK, | 562 | .coherent_dma_mask = DMA_BIT_MASK(64), |
563 | .platform_data = (void *)&kirkwood_xor00_data, | 563 | .platform_data = (void *)&kirkwood_xor00_data, |
564 | }, | 564 | }, |
565 | }; | 565 | }; |
@@ -585,7 +585,7 @@ static struct platform_device kirkwood_xor01_channel = { | |||
585 | .resource = kirkwood_xor01_resources, | 585 | .resource = kirkwood_xor01_resources, |
586 | .dev = { | 586 | .dev = { |
587 | .dma_mask = &kirkwood_xor_dmamask, | 587 | .dma_mask = &kirkwood_xor_dmamask, |
588 | .coherent_dma_mask = DMA_64BIT_MASK, | 588 | .coherent_dma_mask = DMA_BIT_MASK(64), |
589 | .platform_data = (void *)&kirkwood_xor01_data, | 589 | .platform_data = (void *)&kirkwood_xor01_data, |
590 | }, | 590 | }, |
591 | }; | 591 | }; |
@@ -657,7 +657,7 @@ static struct platform_device kirkwood_xor10_channel = { | |||
657 | .resource = kirkwood_xor10_resources, | 657 | .resource = kirkwood_xor10_resources, |
658 | .dev = { | 658 | .dev = { |
659 | .dma_mask = &kirkwood_xor_dmamask, | 659 | .dma_mask = &kirkwood_xor_dmamask, |
660 | .coherent_dma_mask = DMA_64BIT_MASK, | 660 | .coherent_dma_mask = DMA_BIT_MASK(64), |
661 | .platform_data = (void *)&kirkwood_xor10_data, | 661 | .platform_data = (void *)&kirkwood_xor10_data, |
662 | }, | 662 | }, |
663 | }; | 663 | }; |
@@ -683,7 +683,7 @@ static struct platform_device kirkwood_xor11_channel = { | |||
683 | .resource = kirkwood_xor11_resources, | 683 | .resource = kirkwood_xor11_resources, |
684 | .dev = { | 684 | .dev = { |
685 | .dma_mask = &kirkwood_xor_dmamask, | 685 | .dma_mask = &kirkwood_xor_dmamask, |
686 | .coherent_dma_mask = DMA_64BIT_MASK, | 686 | .coherent_dma_mask = DMA_BIT_MASK(64), |
687 | .platform_data = (void *)&kirkwood_xor11_data, | 687 | .platform_data = (void *)&kirkwood_xor11_data, |
688 | }, | 688 | }, |
689 | }; | 689 | }; |
diff --git a/arch/arm/mach-mx1/Makefile b/arch/arm/mach-mx1/Makefile index 82f1309568ef..7f86fe073ec6 100644 --- a/arch/arm/mach-mx1/Makefile +++ b/arch/arm/mach-mx1/Makefile | |||
@@ -6,6 +6,9 @@ | |||
6 | 6 | ||
7 | obj-y += generic.o clock.o devices.o | 7 | obj-y += generic.o clock.o devices.o |
8 | 8 | ||
9 | # Support for CMOS sensor interface | ||
10 | obj-$(CONFIG_MX1_VIDEO) += ksym_mx1.o mx1_camera_fiq.o | ||
11 | |||
9 | # Specific board support | 12 | # Specific board support |
10 | obj-$(CONFIG_ARCH_MX1ADS) += mx1ads.o | 13 | obj-$(CONFIG_ARCH_MX1ADS) += mx1ads.o |
11 | obj-$(CONFIG_MACH_SCB9328) += scb9328.o \ No newline at end of file | 14 | obj-$(CONFIG_MACH_SCB9328) += scb9328.o \ No newline at end of file |
diff --git a/arch/arm/mach-mx1/devices.c b/arch/arm/mach-mx1/devices.c index 97f42d96d7a1..76d1ffb48079 100644 --- a/arch/arm/mach-mx1/devices.c +++ b/arch/arm/mach-mx1/devices.c | |||
@@ -44,7 +44,7 @@ static struct resource imx_csi_resources[] = { | |||
44 | static u64 imx_csi_dmamask = 0xffffffffUL; | 44 | static u64 imx_csi_dmamask = 0xffffffffUL; |
45 | 45 | ||
46 | struct platform_device imx_csi_device = { | 46 | struct platform_device imx_csi_device = { |
47 | .name = "imx-csi", | 47 | .name = "mx1-camera", |
48 | .id = 0, /* This is used to put cameras on this interface */ | 48 | .id = 0, /* This is used to put cameras on this interface */ |
49 | .dev = { | 49 | .dev = { |
50 | .dma_mask = &imx_csi_dmamask, | 50 | .dma_mask = &imx_csi_dmamask, |
diff --git a/arch/arm/mach-mx1/ksym_mx1.c b/arch/arm/mach-mx1/ksym_mx1.c new file mode 100644 index 000000000000..b09ee12a4ff0 --- /dev/null +++ b/arch/arm/mach-mx1/ksym_mx1.c | |||
@@ -0,0 +1,18 @@ | |||
1 | /* | ||
2 | * Exported ksyms of ARCH_MX1 | ||
3 | * | ||
4 | * Copyright (C) 2008, Darius Augulis <augulis.darius@gmail.com> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | */ | ||
10 | |||
11 | #include <linux/platform_device.h> | ||
12 | #include <linux/module.h> | ||
13 | |||
14 | #include <mach/mx1_camera.h> | ||
15 | |||
16 | /* IMX camera FIQ handler */ | ||
17 | EXPORT_SYMBOL(mx1_camera_sof_fiq_start); | ||
18 | EXPORT_SYMBOL(mx1_camera_sof_fiq_end); | ||
diff --git a/arch/arm/mach-mx1/mx1_camera_fiq.S b/arch/arm/mach-mx1/mx1_camera_fiq.S new file mode 100644 index 000000000000..9c69aa65bf17 --- /dev/null +++ b/arch/arm/mach-mx1/mx1_camera_fiq.S | |||
@@ -0,0 +1,35 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2008 Paulius Zaleckas <paulius.zaleckas@teltonika.lt> | ||
3 | * | ||
4 | * Based on linux/arch/arm/lib/floppydma.S | ||
5 | * Copyright (C) 1995, 1996 Russell King | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License version 2 as | ||
9 | * published by the Free Software Foundation. | ||
10 | */ | ||
11 | #include <linux/linkage.h> | ||
12 | #include <asm/assembler.h> | ||
13 | |||
14 | .text | ||
15 | .global mx1_camera_sof_fiq_end | ||
16 | .global mx1_camera_sof_fiq_start | ||
17 | mx1_camera_sof_fiq_start: | ||
18 | @ enable dma | ||
19 | ldr r12, [r9] | ||
20 | orr r12, r12, #0x00000001 | ||
21 | str r12, [r9] | ||
22 | @ unmask DMA interrupt | ||
23 | ldr r12, [r8] | ||
24 | bic r12, r12, r13 | ||
25 | str r12, [r8] | ||
26 | @ disable SOF interrupt | ||
27 | ldr r12, [r10] | ||
28 | bic r12, r12, #0x00010000 | ||
29 | str r12, [r10] | ||
30 | @ clear SOF flag | ||
31 | mov r12, #0x00010000 | ||
32 | str r12, [r11] | ||
33 | @ return from FIQ | ||
34 | subs pc, lr, #4 | ||
35 | mx1_camera_sof_fiq_end: | ||
diff --git a/arch/arm/mach-mx3/clock.c b/arch/arm/mach-mx3/clock.c index ca46f4801c3d..9957a11533a4 100644 --- a/arch/arm/mach-mx3/clock.c +++ b/arch/arm/mach-mx3/clock.c | |||
@@ -533,7 +533,7 @@ static struct clk_lookup lookups[] __initdata = { | |||
533 | _REGISTER_CLOCK(NULL, "kpp", kpp_clk) | 533 | _REGISTER_CLOCK(NULL, "kpp", kpp_clk) |
534 | _REGISTER_CLOCK("fsl-usb2-udc", "usb", usb_clk1) | 534 | _REGISTER_CLOCK("fsl-usb2-udc", "usb", usb_clk1) |
535 | _REGISTER_CLOCK("fsl-usb2-udc", "usb_ahb", usb_clk2) | 535 | _REGISTER_CLOCK("fsl-usb2-udc", "usb_ahb", usb_clk2) |
536 | _REGISTER_CLOCK("mx3-camera.0", "csi", csi_clk) | 536 | _REGISTER_CLOCK("mx3-camera.0", NULL, csi_clk) |
537 | _REGISTER_CLOCK("imx-uart.0", NULL, uart1_clk) | 537 | _REGISTER_CLOCK("imx-uart.0", NULL, uart1_clk) |
538 | _REGISTER_CLOCK("imx-uart.1", NULL, uart2_clk) | 538 | _REGISTER_CLOCK("imx-uart.1", NULL, uart2_clk) |
539 | _REGISTER_CLOCK("imx-uart.2", NULL, uart3_clk) | 539 | _REGISTER_CLOCK("imx-uart.2", NULL, uart3_clk) |
diff --git a/arch/arm/mach-orion5x/common.c b/arch/arm/mach-orion5x/common.c index 68cc3efae567..6af99ddabdfb 100644 --- a/arch/arm/mach-orion5x/common.c +++ b/arch/arm/mach-orion5x/common.c | |||
@@ -463,7 +463,7 @@ static struct platform_device orion5x_xor_shared = { | |||
463 | .resource = orion5x_xor_shared_resources, | 463 | .resource = orion5x_xor_shared_resources, |
464 | }; | 464 | }; |
465 | 465 | ||
466 | static u64 orion5x_xor_dmamask = DMA_32BIT_MASK; | 466 | static u64 orion5x_xor_dmamask = DMA_BIT_MASK(32); |
467 | 467 | ||
468 | static struct resource orion5x_xor0_resources[] = { | 468 | static struct resource orion5x_xor0_resources[] = { |
469 | [0] = { | 469 | [0] = { |
@@ -486,7 +486,7 @@ static struct platform_device orion5x_xor0_channel = { | |||
486 | .resource = orion5x_xor0_resources, | 486 | .resource = orion5x_xor0_resources, |
487 | .dev = { | 487 | .dev = { |
488 | .dma_mask = &orion5x_xor_dmamask, | 488 | .dma_mask = &orion5x_xor_dmamask, |
489 | .coherent_dma_mask = DMA_64BIT_MASK, | 489 | .coherent_dma_mask = DMA_BIT_MASK(64), |
490 | .platform_data = (void *)&orion5x_xor0_data, | 490 | .platform_data = (void *)&orion5x_xor0_data, |
491 | }, | 491 | }, |
492 | }; | 492 | }; |
@@ -512,7 +512,7 @@ static struct platform_device orion5x_xor1_channel = { | |||
512 | .resource = orion5x_xor1_resources, | 512 | .resource = orion5x_xor1_resources, |
513 | .dev = { | 513 | .dev = { |
514 | .dma_mask = &orion5x_xor_dmamask, | 514 | .dma_mask = &orion5x_xor_dmamask, |
515 | .coherent_dma_mask = DMA_64BIT_MASK, | 515 | .coherent_dma_mask = DMA_BIT_MASK(64), |
516 | .platform_data = (void *)&orion5x_xor1_data, | 516 | .platform_data = (void *)&orion5x_xor1_data, |
517 | }, | 517 | }, |
518 | }; | 518 | }; |
diff --git a/arch/arm/mach-pxa/include/mach/pxa2xx_spi.h b/arch/arm/mach-pxa/include/mach/pxa2xx_spi.h index 2206cb61a9f9..b87cecd9bbdc 100644 --- a/arch/arm/mach-pxa/include/mach/pxa2xx_spi.h +++ b/arch/arm/mach-pxa/include/mach/pxa2xx_spi.h | |||
@@ -38,6 +38,7 @@ struct pxa2xx_spi_chip { | |||
38 | u8 dma_burst_size; | 38 | u8 dma_burst_size; |
39 | u32 timeout; | 39 | u32 timeout; |
40 | u8 enable_loopback; | 40 | u8 enable_loopback; |
41 | int gpio_cs; | ||
41 | void (*cs_control)(u32 command); | 42 | void (*cs_control)(u32 command); |
42 | }; | 43 | }; |
43 | 44 | ||
diff --git a/arch/arm/mach-s3c2410/mach-bast.c b/arch/arm/mach-s3c2410/mach-bast.c index 01bd76725b92..4389c160f7d0 100644 --- a/arch/arm/mach-s3c2410/mach-bast.c +++ b/arch/arm/mach-s3c2410/mach-bast.c | |||
@@ -409,8 +409,7 @@ static struct platform_device bast_sio = { | |||
409 | static struct s3c2410_platform_i2c __initdata bast_i2c_info = { | 409 | static struct s3c2410_platform_i2c __initdata bast_i2c_info = { |
410 | .flags = 0, | 410 | .flags = 0, |
411 | .slave_addr = 0x10, | 411 | .slave_addr = 0x10, |
412 | .bus_freq = 100*1000, | 412 | .frequency = 100*1000, |
413 | .max_freq = 130*1000, | ||
414 | }; | 413 | }; |
415 | 414 | ||
416 | /* Asix AX88796 10/100 ethernet controller */ | 415 | /* Asix AX88796 10/100 ethernet controller */ |
diff --git a/arch/arm/mach-s3c2410/mach-n30.c b/arch/arm/mach-s3c2410/mach-n30.c index 05a5e877b49b..2b83f8707710 100644 --- a/arch/arm/mach-s3c2410/mach-n30.c +++ b/arch/arm/mach-s3c2410/mach-n30.c | |||
@@ -340,8 +340,7 @@ static struct platform_device *n35_devices[] __initdata = { | |||
340 | static struct s3c2410_platform_i2c n30_i2ccfg = { | 340 | static struct s3c2410_platform_i2c n30_i2ccfg = { |
341 | .flags = 0, | 341 | .flags = 0, |
342 | .slave_addr = 0x10, | 342 | .slave_addr = 0x10, |
343 | .bus_freq = 10*1000, | 343 | .frequency = 10*1000, |
344 | .max_freq = 10*1000, | ||
345 | }; | 344 | }; |
346 | 345 | ||
347 | /* Lots of hardcoded stuff, but it sets up the hardware in a useful | 346 | /* Lots of hardcoded stuff, but it sets up the hardware in a useful |
diff --git a/arch/arm/mach-s3c2412/mach-jive.c b/arch/arm/mach-s3c2412/mach-jive.c index 72c266aee141..332bd3263eaf 100644 --- a/arch/arm/mach-s3c2412/mach-jive.c +++ b/arch/arm/mach-s3c2412/mach-jive.c | |||
@@ -453,8 +453,7 @@ static struct spi_board_info __initdata jive_spi_devs[] = { | |||
453 | /* I2C bus and device configuration. */ | 453 | /* I2C bus and device configuration. */ |
454 | 454 | ||
455 | static struct s3c2410_platform_i2c jive_i2c_cfg __initdata = { | 455 | static struct s3c2410_platform_i2c jive_i2c_cfg __initdata = { |
456 | .max_freq = 80 * 1000, | 456 | .frequency = 80 * 1000, |
457 | .bus_freq = 50 * 1000, | ||
458 | .flags = S3C_IICFLG_FILTER, | 457 | .flags = S3C_IICFLG_FILTER, |
459 | .sda_delay = 2, | 458 | .sda_delay = 2, |
460 | }; | 459 | }; |
diff --git a/arch/arm/plat-iop/adma.c b/arch/arm/plat-iop/adma.c index f72420821619..3c127aabe214 100644 --- a/arch/arm/plat-iop/adma.c +++ b/arch/arm/plat-iop/adma.c | |||
@@ -119,7 +119,7 @@ static struct resource iop3xx_aau_resources[] = { | |||
119 | } | 119 | } |
120 | }; | 120 | }; |
121 | 121 | ||
122 | static u64 iop3xx_adma_dmamask = DMA_32BIT_MASK; | 122 | static u64 iop3xx_adma_dmamask = DMA_BIT_MASK(32); |
123 | 123 | ||
124 | static struct iop_adma_platform_data iop3xx_dma_0_data = { | 124 | static struct iop_adma_platform_data iop3xx_dma_0_data = { |
125 | .hw_id = DMA0_ID, | 125 | .hw_id = DMA0_ID, |
@@ -143,7 +143,7 @@ struct platform_device iop3xx_dma_0_channel = { | |||
143 | .resource = iop3xx_dma_0_resources, | 143 | .resource = iop3xx_dma_0_resources, |
144 | .dev = { | 144 | .dev = { |
145 | .dma_mask = &iop3xx_adma_dmamask, | 145 | .dma_mask = &iop3xx_adma_dmamask, |
146 | .coherent_dma_mask = DMA_64BIT_MASK, | 146 | .coherent_dma_mask = DMA_BIT_MASK(64), |
147 | .platform_data = (void *) &iop3xx_dma_0_data, | 147 | .platform_data = (void *) &iop3xx_dma_0_data, |
148 | }, | 148 | }, |
149 | }; | 149 | }; |
@@ -155,7 +155,7 @@ struct platform_device iop3xx_dma_1_channel = { | |||
155 | .resource = iop3xx_dma_1_resources, | 155 | .resource = iop3xx_dma_1_resources, |
156 | .dev = { | 156 | .dev = { |
157 | .dma_mask = &iop3xx_adma_dmamask, | 157 | .dma_mask = &iop3xx_adma_dmamask, |
158 | .coherent_dma_mask = DMA_64BIT_MASK, | 158 | .coherent_dma_mask = DMA_BIT_MASK(64), |
159 | .platform_data = (void *) &iop3xx_dma_1_data, | 159 | .platform_data = (void *) &iop3xx_dma_1_data, |
160 | }, | 160 | }, |
161 | }; | 161 | }; |
@@ -167,7 +167,7 @@ struct platform_device iop3xx_aau_channel = { | |||
167 | .resource = iop3xx_aau_resources, | 167 | .resource = iop3xx_aau_resources, |
168 | .dev = { | 168 | .dev = { |
169 | .dma_mask = &iop3xx_adma_dmamask, | 169 | .dma_mask = &iop3xx_adma_dmamask, |
170 | .coherent_dma_mask = DMA_64BIT_MASK, | 170 | .coherent_dma_mask = DMA_BIT_MASK(64), |
171 | .platform_data = (void *) &iop3xx_aau_data, | 171 | .platform_data = (void *) &iop3xx_aau_data, |
172 | }, | 172 | }, |
173 | }; | 173 | }; |
diff --git a/arch/arm/plat-mxc/include/mach/i2c.h b/arch/arm/plat-mxc/include/mach/i2c.h new file mode 100644 index 000000000000..4a5dc5c6d8e8 --- /dev/null +++ b/arch/arm/plat-mxc/include/mach/i2c.h | |||
@@ -0,0 +1,25 @@ | |||
1 | /* | ||
2 | * i2c.h - i.MX I2C driver header file | ||
3 | * | ||
4 | * Copyright (c) 2008, Darius Augulis <augulis.darius@gmail.com> | ||
5 | * | ||
6 | * This file is released under the GPLv2 | ||
7 | */ | ||
8 | |||
9 | #ifndef __ASM_ARCH_I2C_H_ | ||
10 | #define __ASM_ARCH_I2C_H_ | ||
11 | |||
12 | /** | ||
13 | * struct imxi2c_platform_data - structure of platform data for MXC I2C driver | ||
14 | * @init: Initialise gpio's and other board specific things | ||
15 | * @exit: Free everything initialised by @init | ||
16 | * @bitrate: Bus speed measured in Hz | ||
17 | * | ||
18 | **/ | ||
19 | struct imxi2c_platform_data { | ||
20 | int (*init)(struct device *dev); | ||
21 | void (*exit)(struct device *dev); | ||
22 | int bitrate; | ||
23 | }; | ||
24 | |||
25 | #endif /* __ASM_ARCH_I2C_H_ */ | ||
diff --git a/arch/arm/plat-mxc/include/mach/memory.h b/arch/arm/plat-mxc/include/mach/memory.h index e0783e619580..eca37d09f3f8 100644 --- a/arch/arm/plat-mxc/include/mach/memory.h +++ b/arch/arm/plat-mxc/include/mach/memory.h | |||
@@ -24,4 +24,12 @@ | |||
24 | #define PHYS_OFFSET UL(0x80000000) | 24 | #define PHYS_OFFSET UL(0x80000000) |
25 | #endif | 25 | #endif |
26 | 26 | ||
27 | #if defined(CONFIG_MX1_VIDEO) | ||
28 | /* | ||
29 | * Increase size of DMA-consistent memory region. | ||
30 | * This is required for i.MX camera driver to capture at least four VGA frames. | ||
31 | */ | ||
32 | #define CONSISTENT_DMA_SIZE SZ_4M | ||
33 | #endif /* CONFIG_MX1_VIDEO */ | ||
34 | |||
27 | #endif /* __ASM_ARCH_MXC_MEMORY_H__ */ | 35 | #endif /* __ASM_ARCH_MXC_MEMORY_H__ */ |
diff --git a/arch/arm/plat-mxc/include/mach/mx1_camera.h b/arch/arm/plat-mxc/include/mach/mx1_camera.h new file mode 100644 index 000000000000..4fd6c70314b4 --- /dev/null +++ b/arch/arm/plat-mxc/include/mach/mx1_camera.h | |||
@@ -0,0 +1,35 @@ | |||
1 | /* | ||
2 | * mx1_camera.h - i.MX1/i.MXL camera driver header file | ||
3 | * | ||
4 | * Copyright (c) 2008, Paulius Zaleckas <paulius.zaleckas@teltonika.lt> | ||
5 | * Copyright (C) 2009, Darius Augulis <augulis.darius@gmail.com> | ||
6 | * | ||
7 | * Based on PXA camera.h file: | ||
8 | * Copyright (C) 2003, Intel Corporation | ||
9 | * Copyright (C) 2008, Guennadi Liakhovetski <kernel@pengutronix.de> | ||
10 | * | ||
11 | * This program is free software; you can redistribute it and/or modify | ||
12 | * it under the terms of the GNU General Public License version 2 as | ||
13 | * published by the Free Software Foundation. | ||
14 | */ | ||
15 | |||
16 | #ifndef __ASM_ARCH_CAMERA_H_ | ||
17 | #define __ASM_ARCH_CAMERA_H_ | ||
18 | |||
19 | #define MX1_CAMERA_DATA_HIGH 1 | ||
20 | #define MX1_CAMERA_PCLK_RISING 2 | ||
21 | #define MX1_CAMERA_VSYNC_HIGH 4 | ||
22 | |||
23 | extern unsigned char mx1_camera_sof_fiq_start, mx1_camera_sof_fiq_end; | ||
24 | |||
25 | /** | ||
26 | * struct mx1_camera_pdata - i.MX1/i.MXL camera platform data | ||
27 | * @mclk_10khz: master clock frequency in 10kHz units | ||
28 | * @flags: MX1 camera platform flags | ||
29 | */ | ||
30 | struct mx1_camera_pdata { | ||
31 | unsigned long mclk_10khz; | ||
32 | unsigned long flags; | ||
33 | }; | ||
34 | |||
35 | #endif /* __ASM_ARCH_CAMERA_H_ */ | ||
diff --git a/arch/arm/plat-s3c/dev-i2c0.c b/arch/arm/plat-s3c/dev-i2c0.c index fe327074037e..428372868fbb 100644 --- a/arch/arm/plat-s3c/dev-i2c0.c +++ b/arch/arm/plat-s3c/dev-i2c0.c | |||
@@ -1,6 +1,6 @@ | |||
1 | /* linux/arch/arm/plat-s3c/dev-i2c0.c | 1 | /* linux/arch/arm/plat-s3c/dev-i2c0.c |
2 | * | 2 | * |
3 | * Copyright 2008 Simtec Electronics | 3 | * Copyright 2008,2009 Simtec Electronics |
4 | * Ben Dooks <ben@simtec.co.uk> | 4 | * Ben Dooks <ben@simtec.co.uk> |
5 | * http://armlinux.simtec.co.uk/ | 5 | * http://armlinux.simtec.co.uk/ |
6 | * | 6 | * |
@@ -50,9 +50,8 @@ struct platform_device s3c_device_i2c0 = { | |||
50 | static struct s3c2410_platform_i2c default_i2c_data0 __initdata = { | 50 | static struct s3c2410_platform_i2c default_i2c_data0 __initdata = { |
51 | .flags = 0, | 51 | .flags = 0, |
52 | .slave_addr = 0x10, | 52 | .slave_addr = 0x10, |
53 | .bus_freq = 100*1000, | 53 | .frequency = 100*1000, |
54 | .max_freq = 400*1000, | 54 | .sda_delay = 100, |
55 | .sda_delay = S3C2410_IICLC_SDA_DELAY5 | S3C2410_IICLC_FILTER_ON, | ||
56 | }; | 55 | }; |
57 | 56 | ||
58 | void __init s3c_i2c0_set_platdata(struct s3c2410_platform_i2c *pd) | 57 | void __init s3c_i2c0_set_platdata(struct s3c2410_platform_i2c *pd) |
diff --git a/arch/arm/plat-s3c/dev-i2c1.c b/arch/arm/plat-s3c/dev-i2c1.c index 2387fbf57af6..8349c462788c 100644 --- a/arch/arm/plat-s3c/dev-i2c1.c +++ b/arch/arm/plat-s3c/dev-i2c1.c | |||
@@ -1,6 +1,6 @@ | |||
1 | /* linux/arch/arm/plat-s3c/dev-i2c1.c | 1 | /* linux/arch/arm/plat-s3c/dev-i2c1.c |
2 | * | 2 | * |
3 | * Copyright 2008 Simtec Electronics | 3 | * Copyright 2008,2009 Simtec Electronics |
4 | * Ben Dooks <ben@simtec.co.uk> | 4 | * Ben Dooks <ben@simtec.co.uk> |
5 | * http://armlinux.simtec.co.uk/ | 5 | * http://armlinux.simtec.co.uk/ |
6 | * | 6 | * |
@@ -47,9 +47,8 @@ static struct s3c2410_platform_i2c default_i2c_data1 __initdata = { | |||
47 | .flags = 0, | 47 | .flags = 0, |
48 | .bus_num = 1, | 48 | .bus_num = 1, |
49 | .slave_addr = 0x10, | 49 | .slave_addr = 0x10, |
50 | .bus_freq = 100*1000, | 50 | .frequency = 100*1000, |
51 | .max_freq = 400*1000, | 51 | .sda_delay = 100, |
52 | .sda_delay = S3C2410_IICLC_SDA_DELAY5 | S3C2410_IICLC_FILTER_ON, | ||
53 | }; | 52 | }; |
54 | 53 | ||
55 | void __init s3c_i2c1_set_platdata(struct s3c2410_platform_i2c *pd) | 54 | void __init s3c_i2c1_set_platdata(struct s3c2410_platform_i2c *pd) |
diff --git a/arch/arm/plat-s3c/include/plat/iic.h b/arch/arm/plat-s3c/include/plat/iic.h index dc1dfcb9bc6c..67450f115748 100644 --- a/arch/arm/plat-s3c/include/plat/iic.h +++ b/arch/arm/plat-s3c/include/plat/iic.h | |||
@@ -1,9 +1,9 @@ | |||
1 | /* arch/arm/mach-s3c2410/include/mach/iic.h | 1 | /* arch/arm/plat-s3c/include/plat/iic.h |
2 | * | 2 | * |
3 | * Copyright (c) 2004 Simtec Electronics | 3 | * Copyright 2004,2009 Simtec Electronics |
4 | * Ben Dooks <ben@simtec.co.uk> | 4 | * Ben Dooks <ben@simtec.co.uk> |
5 | * | 5 | * |
6 | * S3C2410 - I2C Controller platfrom_device info | 6 | * S3C - I2C Controller platform_device info |
7 | * | 7 | * |
8 | * This program is free software; you can redistribute it and/or modify | 8 | * This program is free software; you can redistribute it and/or modify |
9 | * it under the terms of the GNU General Public License version 2 as | 9 | * it under the terms of the GNU General Public License version 2 as |
@@ -15,19 +15,24 @@ | |||
15 | 15 | ||
16 | #define S3C_IICFLG_FILTER (1<<0) /* enable s3c2440 filter */ | 16 | #define S3C_IICFLG_FILTER (1<<0) /* enable s3c2440 filter */ |
17 | 17 | ||
18 | /* Notes: | 18 | /** |
19 | * 1) All frequencies are expressed in Hz | 19 | * struct s3c2410_platform_i2c - Platform data for s3c I2C. |
20 | * 2) A value of zero is `do not care` | 20 | * @bus_num: The bus number to use (if possible). |
21 | */ | 21 | * @flags: Any flags for the I2C bus (E.g. S3C_IICFLK_FILTER). |
22 | 22 | * @slave_addr: The I2C address for the slave device (if enabled). | |
23 | * @frequency: The desired frequency in Hz of the bus. This is | ||
24 | * guaranteed to not be exceeded. If the caller does | ||
25 | * not care, use zero and the driver will select a | ||
26 | * useful default. | ||
27 | * @sda_delay: The delay (in ns) applied to SDA edges. | ||
28 | * @cfg_gpio: A callback to configure the pins for I2C operation. | ||
29 | */ | ||
23 | struct s3c2410_platform_i2c { | 30 | struct s3c2410_platform_i2c { |
24 | int bus_num; /* bus number to use */ | 31 | int bus_num; |
25 | unsigned int flags; | 32 | unsigned int flags; |
26 | unsigned int slave_addr; /* slave address for controller */ | 33 | unsigned int slave_addr; |
27 | unsigned long bus_freq; /* standard bus frequency */ | 34 | unsigned long frequency; |
28 | unsigned long max_freq; /* max frequency for the bus */ | 35 | unsigned int sda_delay; |
29 | unsigned long min_freq; /* min frequency for the bus */ | ||
30 | unsigned int sda_delay; /* pclks (s3c2440 only) */ | ||
31 | 36 | ||
32 | void (*cfg_gpio)(struct platform_device *dev); | 37 | void (*cfg_gpio)(struct platform_device *dev); |
33 | }; | 38 | }; |