aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-mx25/Kconfig1
-rw-r--r--arch/arm/mach-mx25/devices-imx25.h11
-rw-r--r--arch/arm/mach-mx25/devices.c95
-rw-r--r--arch/arm/mach-mx25/devices.h5
-rw-r--r--arch/arm/mach-mx25/mach-mx25_3ds.c5
-rw-r--r--arch/arm/plat-mxc/include/mach/mx25.h8
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
5config MACH_MX25_3DS 5config 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
9endif 10endif
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
25static 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
37struct platform_device mxc_uart_device0 = {
38 .name = "imx-uart",
39 .id = 0,
40 .resource = uart0,
41 .num_resources = ARRAY_SIZE(uart0),
42};
43
44static 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
56struct platform_device mxc_uart_device1 = {
57 .name = "imx-uart",
58 .id = 1,
59 .resource = uart1,
60 .num_resources = ARRAY_SIZE(uart1),
61};
62
63static 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
75struct platform_device mxc_uart_device2 = {
76 .name = "imx-uart",
77 .id = 2,
78 .resource = uart2,
79 .num_resources = ARRAY_SIZE(uart2),
80};
81
82static 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
94struct platform_device mxc_uart_device3 = {
95 .name = "imx-uart",
96 .id = 3,
97 .resource = uart3,
98 .num_resources = ARRAY_SIZE(uart3),
99};
100
101static 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
113struct 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
122static u64 otg_dmamask = DMA_BIT_MASK(32); 27static 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 @@
1extern struct platform_device mxc_uart_device0;
2extern struct platform_device mxc_uart_device1;
3extern struct platform_device mxc_uart_device2;
4extern struct platform_device mxc_uart_device3;
5extern struct platform_device mxc_uart_device4;
6extern struct platform_device mxc_otg; 1extern struct platform_device mxc_otg;
7extern struct platform_device otg_udc_device; 2extern struct platform_device otg_udc_device;
8extern struct platform_device mxc_usbh2; 3extern 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
49static struct imxuart_platform_data uart_pdata = { 48static 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)