diff options
-rw-r--r-- | arch/arm/mach-mx25/Kconfig | 1 | ||||
-rw-r--r-- | arch/arm/mach-mx25/devices-imx25.h | 11 | ||||
-rw-r--r-- | arch/arm/mach-mx25/devices.c | 95 | ||||
-rw-r--r-- | arch/arm/mach-mx25/devices.h | 5 | ||||
-rw-r--r-- | arch/arm/mach-mx25/mach-mx25_3ds.c | 5 | ||||
-rw-r--r-- | arch/arm/plat-mxc/include/mach/mx25.h | 8 |
6 files changed, 22 insertions, 103 deletions
diff --git a/arch/arm/mach-mx25/Kconfig b/arch/arm/mach-mx25/Kconfig index 3c4f1eeb88e5..febf8413100a 100644 --- a/arch/arm/mach-mx25/Kconfig +++ b/arch/arm/mach-mx25/Kconfig | |||
@@ -4,6 +4,7 @@ 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 | ||
7 | select IMX_HAVE_PLATFORM_MXC_NAND | 8 | select IMX_HAVE_PLATFORM_MXC_NAND |
8 | 9 | ||
9 | endif | 10 | endif |
diff --git a/arch/arm/mach-mx25/devices-imx25.h b/arch/arm/mach-mx25/devices-imx25.h index 33a834e716c5..2025cb947fcf 100644 --- a/arch/arm/mach-mx25/devices-imx25.h +++ b/arch/arm/mach-mx25/devices-imx25.h | |||
@@ -16,6 +16,17 @@ | |||
16 | #define imx25_add_imx_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) | 17 | imx_add_imx_i2c(2, MX25_I2C3_BASE_ADDR, SZ_16K, MX25_INT_I2C3, pdata) |
18 | 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 | |||
19 | #define imx25_add_mxc_nand(pdata) \ | 30 | #define imx25_add_mxc_nand(pdata) \ |
20 | imx_add_mxc_nand_v21(MX25_NFC_BASE_ADDR, MX25_INT_NANDFC, pdata) | 31 | imx_add_mxc_nand_v21(MX25_NFC_BASE_ADDR, MX25_INT_NANDFC, pdata) |
21 | 32 | ||
diff --git a/arch/arm/mach-mx25/devices.c b/arch/arm/mach-mx25/devices.c index c267087fbc97..6f98d23c8216 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 | #define MX25_OTG_BASE_ADDR 0x53FF4000 | 25 | #define MX25_OTG_BASE_ADDR 0x53FF4000 |
121 | 26 | ||
122 | static u64 otg_dmamask = DMA_BIT_MASK(32); | 27 | static u64 otg_dmamask = DMA_BIT_MASK(32); |
diff --git a/arch/arm/mach-mx25/devices.h b/arch/arm/mach-mx25/devices.h index 1f31cbcc0415..31d22e1f3ae4 100644 --- a/arch/arm/mach-mx25/devices.h +++ b/arch/arm/mach-mx25/devices.h | |||
@@ -1,8 +1,3 @@ | |||
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; |
diff --git a/arch/arm/mach-mx25/mach-mx25_3ds.c b/arch/arm/mach-mx25/mach-mx25_3ds.c index e1e98864c8e7..978ad00b807c 100644 --- a/arch/arm/mach-mx25/mach-mx25_3ds.c +++ b/arch/arm/mach-mx25/mach-mx25_3ds.c | |||
@@ -38,7 +38,6 @@ | |||
38 | #include <asm/memory.h> | 38 | #include <asm/memory.h> |
39 | #include <asm/mach/map.h> | 39 | #include <asm/mach/map.h> |
40 | #include <mach/common.h> | 40 | #include <mach/common.h> |
41 | #include <mach/imx-uart.h> | ||
42 | #include <mach/mx25.h> | 41 | #include <mach/mx25.h> |
43 | #include <mach/imxfb.h> | 42 | #include <mach/imxfb.h> |
44 | #include <mach/iomux-mx25.h> | 43 | #include <mach/iomux-mx25.h> |
@@ -46,7 +45,7 @@ | |||
46 | #include "devices-imx25.h" | 45 | #include "devices-imx25.h" |
47 | #include "devices.h" | 46 | #include "devices.h" |
48 | 47 | ||
49 | static struct imxuart_platform_data uart_pdata = { | 48 | static const struct imxuart_platform_data uart_pdata __initconst = { |
50 | .flags = IMXUART_HAVE_RTSCTS, | 49 | .flags = IMXUART_HAVE_RTSCTS, |
51 | }; | 50 | }; |
52 | 51 | ||
@@ -150,7 +149,7 @@ static void __init mx25pdk_init(void) | |||
150 | mxc_iomux_v3_setup_multiple_pads(mx25pdk_pads, | 149 | mxc_iomux_v3_setup_multiple_pads(mx25pdk_pads, |
151 | ARRAY_SIZE(mx25pdk_pads)); | 150 | ARRAY_SIZE(mx25pdk_pads)); |
152 | 151 | ||
153 | mxc_register_device(&mxc_uart_device0, &uart_pdata); | 152 | imx25_add_imx_uart0(&uart_pdata); |
154 | mxc_register_device(&mxc_usbh2, NULL); | 153 | mxc_register_device(&mxc_usbh2, NULL); |
155 | imx25_add_mxc_nand(&mx25pdk_nand_board_info); | 154 | imx25_add_mxc_nand(&mx25pdk_nand_board_info); |
156 | mxc_register_device(&mx25_rtc_device, NULL); | 155 | mxc_register_device(&mx25_rtc_device, NULL); |
diff --git a/arch/arm/plat-mxc/include/mach/mx25.h b/arch/arm/plat-mxc/include/mach/mx25.h index 16ac6b6d496f..ca95b1ed5fea 100644 --- a/arch/arm/plat-mxc/include/mach/mx25.h +++ b/arch/arm/plat-mxc/include/mach/mx25.h | |||
@@ -33,6 +33,9 @@ | |||
33 | 33 | ||
34 | #define MX25_UART1_BASE_ADDR 0x43f90000 | 34 | #define MX25_UART1_BASE_ADDR 0x43f90000 |
35 | #define MX25_UART2_BASE_ADDR 0x43f94000 | 35 | #define MX25_UART2_BASE_ADDR 0x43f94000 |
36 | #define MX25_UART3_BASE_ADDR 0x5000c000 | ||
37 | #define MX25_UART4_BASE_ADDR 0x50008000 | ||
38 | #define MX25_UART5_BASE_ADDR 0x5002c000 | ||
36 | 39 | ||
37 | #define MX25_CSPI3_BASE_ADDR 0x50004000 | 40 | #define MX25_CSPI3_BASE_ADDR 0x50004000 |
38 | #define MX25_CSPI2_BASE_ADDR 0x50010000 | 41 | #define MX25_CSPI2_BASE_ADDR 0x50010000 |
@@ -44,12 +47,17 @@ | |||
44 | #define MX25_INT_CSPI3 0 | 47 | #define MX25_INT_CSPI3 0 |
45 | #define MX25_INT_I2C1 3 | 48 | #define MX25_INT_I2C1 3 |
46 | #define MX25_INT_I2C2 4 | 49 | #define MX25_INT_I2C2 4 |
50 | #define MX25_INT_UART4 5 | ||
47 | #define MX25_INT_I2C3 10 | 51 | #define MX25_INT_I2C3 10 |
48 | #define MX25_INT_CSPI2 13 | 52 | #define MX25_INT_CSPI2 13 |
49 | #define MX25_INT_CSPI1 14 | 53 | #define MX25_INT_CSPI1 14 |
54 | #define MX25_INT_UART3 18 | ||
50 | #define MX25_INT_DRYICE 25 | 55 | #define MX25_INT_DRYICE 25 |
56 | #define MX25_INT_UART2 32 | ||
51 | #define MX25_INT_NANDFC 33 | 57 | #define MX25_INT_NANDFC 33 |
52 | #define MX25_INT_LCDC 39 | 58 | #define MX25_INT_LCDC 39 |
59 | #define MX25_INT_UART5 40 | ||
60 | #define MX25_INT_UART1 45 | ||
53 | #define MX25_INT_FEC 57 | 61 | #define MX25_INT_FEC 57 |
54 | 62 | ||
55 | #if defined(IMX_NEEDS_DEPRECATED_SYMBOLS) | 63 | #if defined(IMX_NEEDS_DEPRECATED_SYMBOLS) |