diff options
author | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2010-06-30 06:16:24 -0400 |
---|---|---|
committer | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2010-07-26 08:27:25 -0400 |
commit | 2dcf78c0eeae3bd07082821557014f25f02ca2e9 (patch) | |
tree | 8ca5c4c7f35c9a9ab07fcd9732124c905e609aa1 /arch/arm/mach-mx25 | |
parent | 6b6322676add0fa2713d0ec89a28390fd4d907f5 (diff) | |
parent | 5109a4597f7e758b8d20694392d0361a0b4c43b1 (diff) |
Merge branch 'imx/for-2.6.36' of git://git.pengutronix.de/git/ukl/linux-2.6 into HEAD
There are some more conflicts than detected by git, namely support for
the newly added cpuimx machines needed to be converted to dynamic device
registration.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Conflicts:
arch/arm/mach-imx/Makefile
arch/arm/mach-imx/devices.c
arch/arm/mach-imx/devices.h
arch/arm/mach-imx/eukrea_mbimx27-baseboard.c
arch/arm/mach-mx2/Kconfig
arch/arm/mach-mx25/Makefile
arch/arm/mach-mx25/devices.c
arch/arm/plat-mxc/include/mach/mx25.h
arch/arm/plat-mxc/include/mach/mxc_nand.h
Diffstat (limited to 'arch/arm/mach-mx25')
-rw-r--r-- | arch/arm/mach-mx25/Kconfig | 5 | ||||
-rw-r--r-- | arch/arm/mach-mx25/Makefile | 2 | ||||
-rw-r--r-- | arch/arm/mach-mx25/devices-imx25.h | 38 | ||||
-rw-r--r-- | arch/arm/mach-mx25/devices.c | 231 | ||||
-rw-r--r-- | arch/arm/mach-mx25/devices.h | 12 | ||||
-rw-r--r-- | arch/arm/mach-mx25/eukrea_mbimxsd-baseboard.c | 5 | ||||
-rw-r--r-- | arch/arm/mach-mx25/mach-cpuimx25.c | 19 | ||||
-rw-r--r-- | arch/arm/mach-mx25/mach-mx25_3ds.c (renamed from arch/arm/mach-mx25/mach-mx25pdk.c) | 21 | ||||
-rw-r--r-- | arch/arm/mach-mx25/mm.c | 7 |
9 files changed, 75 insertions, 265 deletions
diff --git a/arch/arm/mach-mx25/Kconfig b/arch/arm/mach-mx25/Kconfig index 3a6668eebf9a..67e0b54218ae 100644 --- a/arch/arm/mach-mx25/Kconfig +++ b/arch/arm/mach-mx25/Kconfig | |||
@@ -4,9 +4,14 @@ comment "MX25 platforms:" | |||
4 | 4 | ||
5 | config MACH_MX25_3DS | 5 | config MACH_MX25_3DS |
6 | bool "Support MX25PDK (3DS) Platform" | 6 | bool "Support MX25PDK (3DS) Platform" |
7 | select IMX_HAVE_PLATFORM_IMX_UART | ||
8 | select IMX_HAVE_PLATFORM_MXC_NAND | ||
7 | 9 | ||
8 | config MACH_EUKREA_CPUIMX25 | 10 | config MACH_EUKREA_CPUIMX25 |
9 | bool "Support Eukrea CPUIMX25 Platform" | 11 | bool "Support Eukrea CPUIMX25 Platform" |
12 | select IMX_HAVE_PLATFORM_IMX_I2C | ||
13 | select IMX_HAVE_PLATFORM_IMX_UART | ||
14 | select IMX_HAVE_PLATFORM_MXC_NAND | ||
10 | select MXC_ULPI if USB_ULPI | 15 | select MXC_ULPI if USB_ULPI |
11 | 16 | ||
12 | choice | 17 | choice |
diff --git a/arch/arm/mach-mx25/Makefile b/arch/arm/mach-mx25/Makefile index 83ab5d805104..87ffb9c2f90a 100644 --- a/arch/arm/mach-mx25/Makefile +++ b/arch/arm/mach-mx25/Makefile | |||
@@ -1,5 +1,5 @@ | |||
1 | obj-y := mm.o devices.o | 1 | obj-y := mm.o devices.o |
2 | obj-$(CONFIG_ARCH_MX25) += clock.o | 2 | obj-$(CONFIG_ARCH_MX25) += clock.o |
3 | obj-$(CONFIG_MACH_MX25_3DS) += mach-mx25pdk.o | 3 | obj-$(CONFIG_MACH_MX25_3DS) += mach-mx25_3ds.o |
4 | obj-$(CONFIG_MACH_EUKREA_CPUIMX25) += mach-cpuimx25.o | 4 | obj-$(CONFIG_MACH_EUKREA_CPUIMX25) += mach-cpuimx25.o |
5 | obj-$(CONFIG_MACH_EUKREA_MBIMXSD_BASEBOARD) += eukrea_mbimxsd-baseboard.o | 5 | obj-$(CONFIG_MACH_EUKREA_MBIMXSD_BASEBOARD) += eukrea_mbimxsd-baseboard.o |
diff --git a/arch/arm/mach-mx25/devices-imx25.h b/arch/arm/mach-mx25/devices-imx25.h new file mode 100644 index 000000000000..2025cb947fcf --- /dev/null +++ b/arch/arm/mach-mx25/devices-imx25.h | |||
@@ -0,0 +1,38 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2010 Pengutronix | ||
3 | * Uwe Kleine-Koenig <u.kleine-koenig@pengutronix.de> | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify it under | ||
6 | * the terms of the GNU General Public License version 2 as published by the | ||
7 | * Free Software Foundation. | ||
8 | */ | ||
9 | #include <mach/mx25.h> | ||
10 | #include <mach/devices-common.h> | ||
11 | |||
12 | #define imx25_add_imx_i2c0(pdata) \ | ||
13 | imx_add_imx_i2c(0, MX25_I2C1_BASE_ADDR, SZ_16K, MX25_INT_I2C1, pdata) | ||
14 | #define imx25_add_imx_i2c1(pdata) \ | ||
15 | imx_add_imx_i2c(1, MX25_I2C2_BASE_ADDR, SZ_16K, MX25_INT_I2C2, pdata) | ||
16 | #define imx25_add_imx_i2c2(pdata) \ | ||
17 | imx_add_imx_i2c(2, MX25_I2C3_BASE_ADDR, SZ_16K, MX25_INT_I2C3, pdata) | ||
18 | |||
19 | #define imx25_add_imx_uart0(pdata) \ | ||
20 | imx_add_imx_uart_1irq(0, MX25_UART1_BASE_ADDR, SZ_16K, MX25_INT_UART1, pdata) | ||
21 | #define imx25_add_imx_uart1(pdata) \ | ||
22 | imx_add_imx_uart_1irq(1, MX25_UART2_BASE_ADDR, SZ_16K, MX25_INT_UART2, pdata) | ||
23 | #define imx25_add_imx_uart2(pdata) \ | ||
24 | imx_add_imx_uart_1irq(2, MX25_UART3_BASE_ADDR, SZ_16K, MX25_INT_UART3, pdata) | ||
25 | #define imx25_add_imx_uart3(pdata) \ | ||
26 | imx_add_imx_uart_1irq(3, MX25_UART4_BASE_ADDR, SZ_16K, MX25_INT_UART4, pdata) | ||
27 | #define imx25_add_imx_uart4(pdata) \ | ||
28 | imx_add_imx_uart_1irq(4, MX25_UART5_BASE_ADDR, SZ_16K, MX25_INT_UART5, pdata) | ||
29 | |||
30 | #define imx25_add_mxc_nand(pdata) \ | ||
31 | imx_add_mxc_nand_v21(MX25_NFC_BASE_ADDR, MX25_INT_NANDFC, pdata) | ||
32 | |||
33 | #define imx25_add_spi_imx0(pdata) \ | ||
34 | imx_add_spi_imx(0, MX25_CSPI1_BASE_ADDR, SZ_16K, MX25_INT_CSPI1, pdata) | ||
35 | #define imx25_add_spi_imx1(pdata) \ | ||
36 | imx_add_spi_imx(1, MX25_CSPI2_BASE_ADDR, SZ_16K, MX25_INT_CSPI2, pdata) | ||
37 | #define imx25_add_spi_imx2(pdata) \ | ||
38 | imx_add_spi_imx(2, MX25_CSPI3_BASE_ADDR, SZ_16K, MX25_INT_CSPI3, pdata) | ||
diff --git a/arch/arm/mach-mx25/devices.c b/arch/arm/mach-mx25/devices.c index 82d3e53f01f2..3468eb15b236 100644 --- a/arch/arm/mach-mx25/devices.c +++ b/arch/arm/mach-mx25/devices.c | |||
@@ -22,101 +22,6 @@ | |||
22 | #include <mach/mx25.h> | 22 | #include <mach/mx25.h> |
23 | #include <mach/irqs.h> | 23 | #include <mach/irqs.h> |
24 | 24 | ||
25 | static struct resource uart0[] = { | ||
26 | { | ||
27 | .start = 0x43f90000, | ||
28 | .end = 0x43f93fff, | ||
29 | .flags = IORESOURCE_MEM, | ||
30 | }, { | ||
31 | .start = 45, | ||
32 | .end = 45, | ||
33 | .flags = IORESOURCE_IRQ, | ||
34 | }, | ||
35 | }; | ||
36 | |||
37 | struct platform_device mxc_uart_device0 = { | ||
38 | .name = "imx-uart", | ||
39 | .id = 0, | ||
40 | .resource = uart0, | ||
41 | .num_resources = ARRAY_SIZE(uart0), | ||
42 | }; | ||
43 | |||
44 | static struct resource uart1[] = { | ||
45 | { | ||
46 | .start = 0x43f94000, | ||
47 | .end = 0x43f97fff, | ||
48 | .flags = IORESOURCE_MEM, | ||
49 | }, { | ||
50 | .start = 32, | ||
51 | .end = 32, | ||
52 | .flags = IORESOURCE_IRQ, | ||
53 | }, | ||
54 | }; | ||
55 | |||
56 | struct platform_device mxc_uart_device1 = { | ||
57 | .name = "imx-uart", | ||
58 | .id = 1, | ||
59 | .resource = uart1, | ||
60 | .num_resources = ARRAY_SIZE(uart1), | ||
61 | }; | ||
62 | |||
63 | static struct resource uart2[] = { | ||
64 | { | ||
65 | .start = 0x5000c000, | ||
66 | .end = 0x5000ffff, | ||
67 | .flags = IORESOURCE_MEM, | ||
68 | }, { | ||
69 | .start = 18, | ||
70 | .end = 18, | ||
71 | .flags = IORESOURCE_IRQ, | ||
72 | }, | ||
73 | }; | ||
74 | |||
75 | struct platform_device mxc_uart_device2 = { | ||
76 | .name = "imx-uart", | ||
77 | .id = 2, | ||
78 | .resource = uart2, | ||
79 | .num_resources = ARRAY_SIZE(uart2), | ||
80 | }; | ||
81 | |||
82 | static struct resource uart3[] = { | ||
83 | { | ||
84 | .start = 0x50008000, | ||
85 | .end = 0x5000bfff, | ||
86 | .flags = IORESOURCE_MEM, | ||
87 | }, { | ||
88 | .start = 5, | ||
89 | .end = 5, | ||
90 | .flags = IORESOURCE_IRQ, | ||
91 | }, | ||
92 | }; | ||
93 | |||
94 | struct platform_device mxc_uart_device3 = { | ||
95 | .name = "imx-uart", | ||
96 | .id = 3, | ||
97 | .resource = uart3, | ||
98 | .num_resources = ARRAY_SIZE(uart3), | ||
99 | }; | ||
100 | |||
101 | static struct resource uart4[] = { | ||
102 | { | ||
103 | .start = 0x5002c000, | ||
104 | .end = 0x5002ffff, | ||
105 | .flags = IORESOURCE_MEM, | ||
106 | }, { | ||
107 | .start = 40, | ||
108 | .end = 40, | ||
109 | .flags = IORESOURCE_IRQ, | ||
110 | }, | ||
111 | }; | ||
112 | |||
113 | struct platform_device mxc_uart_device4 = { | ||
114 | .name = "imx-uart", | ||
115 | .id = 4, | ||
116 | .resource = uart4, | ||
117 | .num_resources = ARRAY_SIZE(uart4), | ||
118 | }; | ||
119 | |||
120 | static u64 otg_dmamask = DMA_BIT_MASK(32); | 25 | static u64 otg_dmamask = DMA_BIT_MASK(32); |
121 | 26 | ||
122 | static struct resource mxc_otg_resources[] = { | 27 | static struct resource mxc_otg_resources[] = { |
@@ -179,63 +84,6 @@ struct platform_device mxc_usbh2 = { | |||
179 | .num_resources = ARRAY_SIZE(mxc_usbh2_resources), | 84 | .num_resources = ARRAY_SIZE(mxc_usbh2_resources), |
180 | }; | 85 | }; |
181 | 86 | ||
182 | static struct resource mxc_spi_resources0[] = { | ||
183 | { | ||
184 | .start = 0x43fa4000, | ||
185 | .end = 0x43fa7fff, | ||
186 | .flags = IORESOURCE_MEM, | ||
187 | }, { | ||
188 | .start = 14, | ||
189 | .end = 14, | ||
190 | .flags = IORESOURCE_IRQ, | ||
191 | }, | ||
192 | }; | ||
193 | |||
194 | struct platform_device mxc_spi_device0 = { | ||
195 | .name = "spi_imx", | ||
196 | .id = 0, | ||
197 | .num_resources = ARRAY_SIZE(mxc_spi_resources0), | ||
198 | .resource = mxc_spi_resources0, | ||
199 | }; | ||
200 | |||
201 | static struct resource mxc_spi_resources1[] = { | ||
202 | { | ||
203 | .start = 0x50010000, | ||
204 | .end = 0x50013fff, | ||
205 | .flags = IORESOURCE_MEM, | ||
206 | }, { | ||
207 | .start = 13, | ||
208 | .end = 13, | ||
209 | .flags = IORESOURCE_IRQ, | ||
210 | }, | ||
211 | }; | ||
212 | |||
213 | struct platform_device mxc_spi_device1 = { | ||
214 | .name = "spi_imx", | ||
215 | .id = 1, | ||
216 | .num_resources = ARRAY_SIZE(mxc_spi_resources1), | ||
217 | .resource = mxc_spi_resources1, | ||
218 | }; | ||
219 | |||
220 | static struct resource mxc_spi_resources2[] = { | ||
221 | { | ||
222 | .start = 0x50004000, | ||
223 | .end = 0x50007fff, | ||
224 | .flags = IORESOURCE_MEM, | ||
225 | }, { | ||
226 | .start = 0, | ||
227 | .end = 0, | ||
228 | .flags = IORESOURCE_IRQ, | ||
229 | }, | ||
230 | }; | ||
231 | |||
232 | struct platform_device mxc_spi_device2 = { | ||
233 | .name = "spi_imx", | ||
234 | .id = 2, | ||
235 | .num_resources = ARRAY_SIZE(mxc_spi_resources2), | ||
236 | .resource = mxc_spi_resources2, | ||
237 | }; | ||
238 | |||
239 | static struct resource mxc_pwm_resources0[] = { | 87 | static struct resource mxc_pwm_resources0[] = { |
240 | { | 88 | { |
241 | .start = 0x53fe0000, | 89 | .start = 0x53fe0000, |
@@ -331,63 +179,6 @@ struct platform_device mxc_pwm_device3 = { | |||
331 | .resource = mxc_pwm_resources3, | 179 | .resource = mxc_pwm_resources3, |
332 | }; | 180 | }; |
333 | 181 | ||
334 | static struct resource mxc_i2c_1_resources[] = { | ||
335 | { | ||
336 | .start = 0x43f80000, | ||
337 | .end = 0x43f83fff, | ||
338 | .flags = IORESOURCE_MEM, | ||
339 | }, { | ||
340 | .start = 3, | ||
341 | .end = 3, | ||
342 | .flags = IORESOURCE_IRQ, | ||
343 | } | ||
344 | }; | ||
345 | |||
346 | struct platform_device mxc_i2c_device0 = { | ||
347 | .name = "imx-i2c", | ||
348 | .id = 0, | ||
349 | .num_resources = ARRAY_SIZE(mxc_i2c_1_resources), | ||
350 | .resource = mxc_i2c_1_resources, | ||
351 | }; | ||
352 | |||
353 | static struct resource mxc_i2c_2_resources[] = { | ||
354 | { | ||
355 | .start = 0x43f98000, | ||
356 | .end = 0x43f9bfff, | ||
357 | .flags = IORESOURCE_MEM, | ||
358 | }, { | ||
359 | .start = 4, | ||
360 | .end = 4, | ||
361 | .flags = IORESOURCE_IRQ, | ||
362 | } | ||
363 | }; | ||
364 | |||
365 | struct platform_device mxc_i2c_device1 = { | ||
366 | .name = "imx-i2c", | ||
367 | .id = 1, | ||
368 | .num_resources = ARRAY_SIZE(mxc_i2c_2_resources), | ||
369 | .resource = mxc_i2c_2_resources, | ||
370 | }; | ||
371 | |||
372 | static struct resource mxc_i2c_3_resources[] = { | ||
373 | { | ||
374 | .start = 0x43f84000, | ||
375 | .end = 0x43f87fff, | ||
376 | .flags = IORESOURCE_MEM, | ||
377 | }, { | ||
378 | .start = 10, | ||
379 | .end = 10, | ||
380 | .flags = IORESOURCE_IRQ, | ||
381 | } | ||
382 | }; | ||
383 | |||
384 | struct platform_device mxc_i2c_device2 = { | ||
385 | .name = "imx-i2c", | ||
386 | .id = 2, | ||
387 | .num_resources = ARRAY_SIZE(mxc_i2c_3_resources), | ||
388 | .resource = mxc_i2c_3_resources, | ||
389 | }; | ||
390 | |||
391 | static struct mxc_gpio_port imx_gpio_ports[] = { | 182 | static struct mxc_gpio_port imx_gpio_ports[] = { |
392 | { | 183 | { |
393 | .chip.label = "gpio-0", | 184 | .chip.label = "gpio-0", |
@@ -412,7 +203,7 @@ static struct mxc_gpio_port imx_gpio_ports[] = { | |||
412 | } | 203 | } |
413 | }; | 204 | }; |
414 | 205 | ||
415 | int __init mxc_register_gpios(void) | 206 | int __init imx25_register_gpios(void) |
416 | { | 207 | { |
417 | return mxc_gpio_init(imx_gpio_ports, ARRAY_SIZE(imx_gpio_ports)); | 208 | return mxc_gpio_init(imx_gpio_ports, ARRAY_SIZE(imx_gpio_ports)); |
418 | } | 209 | } |
@@ -437,26 +228,6 @@ struct platform_device mx25_fec_device = { | |||
437 | .resource = mx25_fec_resources, | 228 | .resource = mx25_fec_resources, |
438 | }; | 229 | }; |
439 | 230 | ||
440 | static struct resource mxc_nand_resources[] = { | ||
441 | { | ||
442 | .start = MX25_NFC_BASE_ADDR, | ||
443 | .end = MX25_NFC_BASE_ADDR + 0x1fff, | ||
444 | .flags = IORESOURCE_MEM, | ||
445 | }, | ||
446 | { | ||
447 | .start = MX25_INT_NANDFC, | ||
448 | .end = MX25_INT_NANDFC, | ||
449 | .flags = IORESOURCE_IRQ, | ||
450 | }, | ||
451 | }; | ||
452 | |||
453 | struct platform_device mxc_nand_device = { | ||
454 | .name = "mxc_nand", | ||
455 | .id = 0, | ||
456 | .num_resources = ARRAY_SIZE(mxc_nand_resources), | ||
457 | .resource = mxc_nand_resources, | ||
458 | }; | ||
459 | |||
460 | static struct resource mx25_rtc_resources[] = { | 231 | static struct resource mx25_rtc_resources[] = { |
461 | { | 232 | { |
462 | .start = MX25_DRYICE_BASE_ADDR, | 233 | .start = MX25_DRYICE_BASE_ADDR, |
diff --git a/arch/arm/mach-mx25/devices.h b/arch/arm/mach-mx25/devices.h index 00e29f57a596..4aceb68e35a7 100644 --- a/arch/arm/mach-mx25/devices.h +++ b/arch/arm/mach-mx25/devices.h | |||
@@ -1,24 +1,12 @@ | |||
1 | extern struct platform_device mxc_uart_device0; | ||
2 | extern struct platform_device mxc_uart_device1; | ||
3 | extern struct platform_device mxc_uart_device2; | ||
4 | extern struct platform_device mxc_uart_device3; | ||
5 | extern struct platform_device mxc_uart_device4; | ||
6 | extern struct platform_device mxc_otg; | 1 | extern struct platform_device mxc_otg; |
7 | extern struct platform_device otg_udc_device; | 2 | extern struct platform_device otg_udc_device; |
8 | extern struct platform_device mxc_usbh2; | 3 | extern struct platform_device mxc_usbh2; |
9 | extern struct platform_device mxc_spi_device0; | ||
10 | extern struct platform_device mxc_spi_device1; | ||
11 | extern struct platform_device mxc_spi_device2; | ||
12 | extern struct platform_device mxc_pwm_device0; | 4 | extern struct platform_device mxc_pwm_device0; |
13 | extern struct platform_device mxc_pwm_device1; | 5 | extern struct platform_device mxc_pwm_device1; |
14 | extern struct platform_device mxc_pwm_device2; | 6 | extern struct platform_device mxc_pwm_device2; |
15 | extern struct platform_device mxc_pwm_device3; | 7 | extern struct platform_device mxc_pwm_device3; |
16 | extern struct platform_device mxc_keypad_device; | 8 | extern struct platform_device mxc_keypad_device; |
17 | extern struct platform_device mxc_i2c_device0; | ||
18 | extern struct platform_device mxc_i2c_device1; | ||
19 | extern struct platform_device mxc_i2c_device2; | ||
20 | extern struct platform_device mx25_fec_device; | 9 | extern struct platform_device mx25_fec_device; |
21 | extern struct platform_device mxc_nand_device; | ||
22 | extern struct platform_device mx25_rtc_device; | 10 | extern struct platform_device mx25_rtc_device; |
23 | extern struct platform_device mx25_fb_device; | 11 | extern struct platform_device mx25_fb_device; |
24 | extern struct platform_device mxc_wdt; | 12 | extern struct platform_device mxc_wdt; |
diff --git a/arch/arm/mach-mx25/eukrea_mbimxsd-baseboard.c b/arch/arm/mach-mx25/eukrea_mbimxsd-baseboard.c index e0f0dfda4d01..f07b1f95ac76 100644 --- a/arch/arm/mach-mx25/eukrea_mbimxsd-baseboard.c +++ b/arch/arm/mach-mx25/eukrea_mbimxsd-baseboard.c | |||
@@ -38,6 +38,7 @@ | |||
38 | #include <mach/ssi.h> | 38 | #include <mach/ssi.h> |
39 | #include <mach/audmux.h> | 39 | #include <mach/audmux.h> |
40 | 40 | ||
41 | #include "devices-imx25.h" | ||
41 | #include "devices.h" | 42 | #include "devices.h" |
42 | 43 | ||
43 | static struct pad_desc eukrea_mbimxsd_pads[] = { | 44 | static struct pad_desc eukrea_mbimxsd_pads[] = { |
@@ -195,7 +196,7 @@ static struct platform_device *platform_devices[] __initdata = { | |||
195 | &eukrea_mbimxsd_lcd_powerdev, | 196 | &eukrea_mbimxsd_lcd_powerdev, |
196 | }; | 197 | }; |
197 | 198 | ||
198 | static struct imxuart_platform_data uart_pdata = { | 199 | static const struct imxuart_platform_data uart_pdata __initconst = { |
199 | .flags = IMXUART_HAVE_RTSCTS, | 200 | .flags = IMXUART_HAVE_RTSCTS, |
200 | }; | 201 | }; |
201 | 202 | ||
@@ -237,7 +238,7 @@ void __init eukrea_mbimxsd_baseboard_init(void) | |||
237 | ); | 238 | ); |
238 | #endif | 239 | #endif |
239 | 240 | ||
240 | mxc_register_device(&mxc_uart_device1, &uart_pdata); | 241 | imx25_add_imx_uart1(&uart_pdata); |
241 | mxc_register_device(&mx25_fb_device, &eukrea_mximxsd_fb_pdata); | 242 | mxc_register_device(&mx25_fb_device, &eukrea_mximxsd_fb_pdata); |
242 | mxc_register_device(&imx_ssi_device0, &eukrea_mbimxsd_ssi_pdata); | 243 | mxc_register_device(&imx_ssi_device0, &eukrea_mbimxsd_ssi_pdata); |
243 | 244 | ||
diff --git a/arch/arm/mach-mx25/mach-cpuimx25.c b/arch/arm/mach-mx25/mach-cpuimx25.c index 4796484830a0..d39f9ccd4be0 100644 --- a/arch/arm/mach-mx25/mach-cpuimx25.c +++ b/arch/arm/mach-mx25/mach-cpuimx25.c | |||
@@ -37,18 +37,17 @@ | |||
37 | #include <asm/memory.h> | 37 | #include <asm/memory.h> |
38 | #include <asm/mach/map.h> | 38 | #include <asm/mach/map.h> |
39 | #include <mach/common.h> | 39 | #include <mach/common.h> |
40 | #include <mach/imx-uart.h> | ||
41 | #include <mach/i2c.h> | ||
42 | #include <mach/mx25.h> | 40 | #include <mach/mx25.h> |
43 | #include <mach/mxc_nand.h> | 41 | #include <mach/mxc_nand.h> |
44 | #include <mach/imxfb.h> | 42 | #include <mach/imxfb.h> |
45 | #include <mach/mxc_ehci.h> | 43 | #include <mach/mxc_ehci.h> |
46 | #include <mach/ulpi.h> | 44 | #include <mach/ulpi.h> |
45 | #include <mach/iomux-mx25.h> | ||
47 | 46 | ||
47 | #include "devices-imx25.h" | ||
48 | #include "devices.h" | 48 | #include "devices.h" |
49 | #include <mach/iomux-mx25.h> | ||
50 | 49 | ||
51 | static struct imxuart_platform_data uart_pdata = { | 50 | static const struct imxuart_platform_data uart_pdata __initconst = { |
52 | .flags = IMXUART_HAVE_RTSCTS, | 51 | .flags = IMXUART_HAVE_RTSCTS, |
53 | }; | 52 | }; |
54 | 53 | ||
@@ -72,13 +71,15 @@ static struct fec_platform_data mx25_fec_pdata = { | |||
72 | .phy = PHY_INTERFACE_MODE_RMII, | 71 | .phy = PHY_INTERFACE_MODE_RMII, |
73 | }; | 72 | }; |
74 | 73 | ||
75 | static struct mxc_nand_platform_data eukrea_cpuimx25_nand_board_info = { | 74 | static const struct mxc_nand_platform_data |
75 | eukrea_cpuimx25_nand_board_info __initconst = { | ||
76 | .width = 1, | 76 | .width = 1, |
77 | .hw_ecc = 1, | 77 | .hw_ecc = 1, |
78 | .flash_bbt = 1, | 78 | .flash_bbt = 1, |
79 | }; | 79 | }; |
80 | 80 | ||
81 | static struct imxi2c_platform_data eukrea_cpuimx25_i2c_1_data = { | 81 | static const struct imxi2c_platform_data |
82 | eukrea_cpuimx25_i2c0_data __initconst = { | ||
82 | .bitrate = 100000, | 83 | .bitrate = 100000, |
83 | }; | 84 | }; |
84 | 85 | ||
@@ -125,14 +126,14 @@ static void __init eukrea_cpuimx25_init(void) | |||
125 | ARRAY_SIZE(eukrea_cpuimx25_pads))) | 126 | ARRAY_SIZE(eukrea_cpuimx25_pads))) |
126 | printk(KERN_ERR "error setting cpuimx25 pads !\n"); | 127 | printk(KERN_ERR "error setting cpuimx25 pads !\n"); |
127 | 128 | ||
128 | mxc_register_device(&mxc_uart_device0, &uart_pdata); | 129 | imx25_add_imx_uart0(&uart_pdata); |
129 | mxc_register_device(&mxc_nand_device, &eukrea_cpuimx25_nand_board_info); | 130 | imx25_add_mxc_nand(&eukrea_cpuimx25_nand_board_info); |
130 | mxc_register_device(&mx25_rtc_device, NULL); | 131 | mxc_register_device(&mx25_rtc_device, NULL); |
131 | mxc_register_device(&mx25_fec_device, &mx25_fec_pdata); | 132 | mxc_register_device(&mx25_fec_device, &mx25_fec_pdata); |
132 | 133 | ||
133 | i2c_register_board_info(0, eukrea_cpuimx25_i2c_devices, | 134 | i2c_register_board_info(0, eukrea_cpuimx25_i2c_devices, |
134 | ARRAY_SIZE(eukrea_cpuimx25_i2c_devices)); | 135 | ARRAY_SIZE(eukrea_cpuimx25_i2c_devices)); |
135 | mxc_register_device(&mxc_i2c_device0, &eukrea_cpuimx25_i2c_1_data); | 136 | imx25_add_imx_i2c0(&eukrea_cpuimx25_i2c0_data); |
136 | 137 | ||
137 | #if defined(CONFIG_USB_ULPI) | 138 | #if defined(CONFIG_USB_ULPI) |
138 | if (otg_mode_host) { | 139 | if (otg_mode_host) { |
diff --git a/arch/arm/mach-mx25/mach-mx25pdk.c b/arch/arm/mach-mx25/mach-mx25_3ds.c index ba3fbef1c41f..62bc21f11a71 100644 --- a/arch/arm/mach-mx25/mach-mx25pdk.c +++ b/arch/arm/mach-mx25/mach-mx25_3ds.c | |||
@@ -16,6 +16,12 @@ | |||
16 | * Boston, MA 02110-1301, USA. | 16 | * Boston, MA 02110-1301, USA. |
17 | */ | 17 | */ |
18 | 18 | ||
19 | /* | ||
20 | * This machine is known as: | ||
21 | * - i.MX25 3-Stack Development System | ||
22 | * - i.MX25 Platform Development Kit (i.MX25 PDK) | ||
23 | */ | ||
24 | |||
19 | #include <linux/types.h> | 25 | #include <linux/types.h> |
20 | #include <linux/init.h> | 26 | #include <linux/init.h> |
21 | #include <linux/delay.h> | 27 | #include <linux/delay.h> |
@@ -33,14 +39,14 @@ | |||
33 | #include <asm/memory.h> | 39 | #include <asm/memory.h> |
34 | #include <asm/mach/map.h> | 40 | #include <asm/mach/map.h> |
35 | #include <mach/common.h> | 41 | #include <mach/common.h> |
36 | #include <mach/imx-uart.h> | ||
37 | #include <mach/mx25.h> | 42 | #include <mach/mx25.h> |
38 | #include <mach/mxc_nand.h> | ||
39 | #include <mach/imxfb.h> | 43 | #include <mach/imxfb.h> |
40 | #include "devices.h" | ||
41 | #include <mach/iomux-mx25.h> | 44 | #include <mach/iomux-mx25.h> |
42 | 45 | ||
43 | static struct imxuart_platform_data uart_pdata = { | 46 | #include "devices-imx25.h" |
47 | #include "devices.h" | ||
48 | |||
49 | static const struct imxuart_platform_data uart_pdata __initconst = { | ||
44 | .flags = IMXUART_HAVE_RTSCTS, | 50 | .flags = IMXUART_HAVE_RTSCTS, |
45 | }; | 51 | }; |
46 | 52 | ||
@@ -114,7 +120,8 @@ static void __init mx25pdk_fec_reset(void) | |||
114 | gpio_set_value(FEC_RESET_B_GPIO, 1); | 120 | gpio_set_value(FEC_RESET_B_GPIO, 1); |
115 | } | 121 | } |
116 | 122 | ||
117 | static struct mxc_nand_platform_data mx25pdk_nand_board_info = { | 123 | static const struct mxc_nand_platform_data |
124 | mx25pdk_nand_board_info __initconst = { | ||
118 | .width = 1, | 125 | .width = 1, |
119 | .hw_ecc = 1, | 126 | .hw_ecc = 1, |
120 | .flash_bbt = 1, | 127 | .flash_bbt = 1, |
@@ -177,9 +184,9 @@ static void __init mx25pdk_init(void) | |||
177 | mxc_iomux_v3_setup_multiple_pads(mx25pdk_pads, | 184 | mxc_iomux_v3_setup_multiple_pads(mx25pdk_pads, |
178 | ARRAY_SIZE(mx25pdk_pads)); | 185 | ARRAY_SIZE(mx25pdk_pads)); |
179 | 186 | ||
180 | mxc_register_device(&mxc_uart_device0, &uart_pdata); | 187 | imx25_add_imx_uart0(&uart_pdata); |
181 | mxc_register_device(&mxc_usbh2, NULL); | 188 | mxc_register_device(&mxc_usbh2, NULL); |
182 | mxc_register_device(&mxc_nand_device, &mx25pdk_nand_board_info); | 189 | imx25_add_mxc_nand(&mx25pdk_nand_board_info); |
183 | mxc_register_device(&mx25_rtc_device, NULL); | 190 | mxc_register_device(&mx25_rtc_device, NULL); |
184 | mxc_register_device(&mx25_fb_device, &mx25pdk_fb_pdata); | 191 | mxc_register_device(&mx25_fb_device, &mx25pdk_fb_pdata); |
185 | mxc_register_device(&mxc_wdt, NULL); | 192 | mxc_register_device(&mxc_wdt, NULL); |
diff --git a/arch/arm/mach-mx25/mm.c b/arch/arm/mach-mx25/mm.c index a7e587ff3e9e..593e14545f5a 100644 --- a/arch/arm/mach-mx25/mm.c +++ b/arch/arm/mach-mx25/mm.c | |||
@@ -14,10 +14,6 @@ | |||
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
16 | * GNU General Public License for more details. | 16 | * GNU General Public License for more details. |
17 | * | ||
18 | * You should have received a copy of the GNU General Public License | ||
19 | * along with this program; if not, write to the Free Software | ||
20 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
21 | */ | 17 | */ |
22 | 18 | ||
23 | #include <linux/mm.h> | 19 | #include <linux/mm.h> |
@@ -69,8 +65,11 @@ void __init mx25_map_io(void) | |||
69 | iotable_init(mxc_io_desc, ARRAY_SIZE(mxc_io_desc)); | 65 | iotable_init(mxc_io_desc, ARRAY_SIZE(mxc_io_desc)); |
70 | } | 66 | } |
71 | 67 | ||
68 | int imx25_register_gpios(void); | ||
69 | |||
72 | void __init mx25_init_irq(void) | 70 | void __init mx25_init_irq(void) |
73 | { | 71 | { |
72 | imx25_register_gpios(); | ||
74 | mxc_init_irq((void __iomem *)MX25_AVIC_BASE_ADDR_VIRT); | 73 | mxc_init_irq((void __iomem *)MX25_AVIC_BASE_ADDR_VIRT); |
75 | } | 74 | } |
76 | 75 | ||