diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-10-28 06:13:00 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-10-28 06:13:00 -0400 |
commit | 9ae21ca362679757786f5abe556c7943e9001426 (patch) | |
tree | db4ab371195fed9d327745eaf12c912f3f74f0e2 /arch/arm/mach-mx3 | |
parent | 12ba8d1e9262ce81a695795410bd9ee5c9407ba1 (diff) | |
parent | a3484ffd2acc196ca934369395fe9aac63ed1a47 (diff) |
Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 into devel-stable
Diffstat (limited to 'arch/arm/mach-mx3')
-rw-r--r-- | arch/arm/mach-mx3/Kconfig | 2 | ||||
-rw-r--r-- | arch/arm/mach-mx3/devices.c | 16 | ||||
-rw-r--r-- | arch/arm/mach-mx3/mach-mx31_3ds.c | 38 | ||||
-rw-r--r-- | arch/arm/mach-mx3/mach-mx35_3ds.c | 16 |
4 files changed, 30 insertions, 42 deletions
diff --git a/arch/arm/mach-mx3/Kconfig b/arch/arm/mach-mx3/Kconfig index 096fd33f8ab9..5000ac1f93e3 100644 --- a/arch/arm/mach-mx3/Kconfig +++ b/arch/arm/mach-mx3/Kconfig | |||
@@ -143,8 +143,10 @@ config MACH_ARMADILLO5X0 | |||
143 | config MACH_MX35_3DS | 143 | config MACH_MX35_3DS |
144 | bool "Support MX35PDK platform" | 144 | bool "Support MX35PDK platform" |
145 | select ARCH_MX35 | 145 | select ARCH_MX35 |
146 | select MXC_DEBUG_BOARD | ||
146 | select IMX_HAVE_PLATFORM_IMX_UART | 147 | select IMX_HAVE_PLATFORM_IMX_UART |
147 | select IMX_HAVE_PLATFORM_MXC_NAND | 148 | select IMX_HAVE_PLATFORM_MXC_NAND |
149 | select IMX_HAVE_PLATFORM_ESDHC | ||
148 | default n | 150 | default n |
149 | help | 151 | help |
150 | Include support for MX35PDK platform. This includes specific | 152 | Include support for MX35PDK platform. This includes specific |
diff --git a/arch/arm/mach-mx3/devices.c b/arch/arm/mach-mx3/devices.c index f4dff11aaee7..d4da9496089a 100644 --- a/arch/arm/mach-mx3/devices.c +++ b/arch/arm/mach-mx3/devices.c | |||
@@ -72,24 +72,24 @@ struct platform_device mxc_w1_master_device = { | |||
72 | #ifdef CONFIG_ARCH_MX31 | 72 | #ifdef CONFIG_ARCH_MX31 |
73 | static struct resource mxcsdhc0_resources[] = { | 73 | static struct resource mxcsdhc0_resources[] = { |
74 | { | 74 | { |
75 | .start = MMC_SDHC1_BASE_ADDR, | 75 | .start = MX31_MMC_SDHC1_BASE_ADDR, |
76 | .end = MMC_SDHC1_BASE_ADDR + SZ_16K - 1, | 76 | .end = MX31_MMC_SDHC1_BASE_ADDR + SZ_16K - 1, |
77 | .flags = IORESOURCE_MEM, | 77 | .flags = IORESOURCE_MEM, |
78 | }, { | 78 | }, { |
79 | .start = MXC_INT_MMC_SDHC1, | 79 | .start = MX31_INT_MMC_SDHC1, |
80 | .end = MXC_INT_MMC_SDHC1, | 80 | .end = MX31_INT_MMC_SDHC1, |
81 | .flags = IORESOURCE_IRQ, | 81 | .flags = IORESOURCE_IRQ, |
82 | }, | 82 | }, |
83 | }; | 83 | }; |
84 | 84 | ||
85 | static struct resource mxcsdhc1_resources[] = { | 85 | static struct resource mxcsdhc1_resources[] = { |
86 | { | 86 | { |
87 | .start = MMC_SDHC2_BASE_ADDR, | 87 | .start = MX31_MMC_SDHC2_BASE_ADDR, |
88 | .end = MMC_SDHC2_BASE_ADDR + SZ_16K - 1, | 88 | .end = MX31_MMC_SDHC2_BASE_ADDR + SZ_16K - 1, |
89 | .flags = IORESOURCE_MEM, | 89 | .flags = IORESOURCE_MEM, |
90 | }, { | 90 | }, { |
91 | .start = MXC_INT_MMC_SDHC2, | 91 | .start = MX31_INT_MMC_SDHC2, |
92 | .end = MXC_INT_MMC_SDHC2, | 92 | .end = MX31_INT_MMC_SDHC2, |
93 | .flags = IORESOURCE_IRQ, | 93 | .flags = IORESOURCE_IRQ, |
94 | }, | 94 | }, |
95 | }; | 95 | }; |
diff --git a/arch/arm/mach-mx3/mach-mx31_3ds.c b/arch/arm/mach-mx3/mach-mx31_3ds.c index 5c1d0e86c91e..0ad9e7821082 100644 --- a/arch/arm/mach-mx3/mach-mx31_3ds.c +++ b/arch/arm/mach-mx3/mach-mx31_3ds.c | |||
@@ -38,39 +38,9 @@ | |||
38 | #include "devices-imx31.h" | 38 | #include "devices-imx31.h" |
39 | #include "devices.h" | 39 | #include "devices.h" |
40 | 40 | ||
41 | /* Definitions for components on the Debug board */ | ||
42 | |||
43 | /* Base address of CPLD controller on the Debug board */ | ||
44 | #define DEBUG_BASE_ADDRESS CS5_IO_ADDRESS(MX3x_CS5_BASE_ADDR) | ||
45 | |||
46 | /* LAN9217 ethernet base address */ | ||
47 | #define LAN9217_BASE_ADDR MX3x_CS5_BASE_ADDR | ||
48 | |||
49 | /* CPLD config and interrupt base address */ | ||
50 | #define CPLD_ADDR (DEBUG_BASE_ADDRESS + 0x20000) | ||
51 | |||
52 | /* status, interrupt */ | ||
53 | #define CPLD_INT_STATUS_REG (CPLD_ADDR + 0x10) | ||
54 | #define CPLD_INT_MASK_REG (CPLD_ADDR + 0x38) | ||
55 | #define CPLD_INT_RESET_REG (CPLD_ADDR + 0x20) | ||
56 | /* magic word for debug CPLD */ | ||
57 | #define CPLD_MAGIC_NUMBER1_REG (CPLD_ADDR + 0x40) | ||
58 | #define CPLD_MAGIC_NUMBER2_REG (CPLD_ADDR + 0x48) | ||
59 | /* CPLD code version */ | ||
60 | #define CPLD_CODE_VER_REG (CPLD_ADDR + 0x50) | ||
61 | /* magic word for debug CPLD */ | ||
62 | #define CPLD_MAGIC_NUMBER3_REG (CPLD_ADDR + 0x58) | ||
63 | |||
64 | /* CPLD IRQ line for external uart, external ethernet etc */ | 41 | /* CPLD IRQ line for external uart, external ethernet etc */ |
65 | #define EXPIO_PARENT_INT IOMUX_TO_IRQ(MX31_PIN_GPIO1_1) | 42 | #define EXPIO_PARENT_INT IOMUX_TO_IRQ(MX31_PIN_GPIO1_1) |
66 | 43 | ||
67 | #define MXC_EXP_IO_BASE (MXC_BOARD_IRQ_START) | ||
68 | #define MXC_IRQ_TO_EXPIO(irq) ((irq) - MXC_EXP_IO_BASE) | ||
69 | |||
70 | #define EXPIO_INT_ENET (MXC_EXP_IO_BASE + 0) | ||
71 | |||
72 | #define MXC_MAX_EXP_IO_LINES 16 | ||
73 | |||
74 | /* | 44 | /* |
75 | * This file contains the board-specific initialization routines. | 45 | * This file contains the board-specific initialization routines. |
76 | */ | 46 | */ |
@@ -272,7 +242,7 @@ static void __init mxc_board_init(void) | |||
272 | imx31_add_imx_uart0(&uart_pdata); | 242 | imx31_add_imx_uart0(&uart_pdata); |
273 | imx31_add_mxc_nand(&mx31_3ds_nand_board_info); | 243 | imx31_add_mxc_nand(&mx31_3ds_nand_board_info); |
274 | 244 | ||
275 | imx31_add_spi_imx0(&spi1_pdata); | 245 | imx31_add_spi_imx1(&spi1_pdata); |
276 | spi_register_board_info(mx31_3ds_spi_devs, | 246 | spi_register_board_info(mx31_3ds_spi_devs, |
277 | ARRAY_SIZE(mx31_3ds_spi_devs)); | 247 | ARRAY_SIZE(mx31_3ds_spi_devs)); |
278 | 248 | ||
@@ -281,9 +251,9 @@ static void __init mxc_board_init(void) | |||
281 | mx31_3ds_usbotg_init(); | 251 | mx31_3ds_usbotg_init(); |
282 | mxc_register_device(&mxc_otg_udc_device, &usbotg_pdata); | 252 | mxc_register_device(&mxc_otg_udc_device, &usbotg_pdata); |
283 | 253 | ||
284 | if (!mxc_expio_init(CS5_BASE_ADDR, EXPIO_PARENT_INT)) | 254 | if (mxc_expio_init(MX31_CS5_BASE_ADDR, EXPIO_PARENT_INT)) |
285 | printk(KERN_WARNING "Init of the debugboard failed, all " | 255 | printk(KERN_WARNING "Init of the debug board failed, all " |
286 | "devices on the board are unusable.\n"); | 256 | "devices on the debug board are unusable.\n"); |
287 | } | 257 | } |
288 | 258 | ||
289 | static void __init mx31_3ds_timer_init(void) | 259 | static void __init mx31_3ds_timer_init(void) |
diff --git a/arch/arm/mach-mx3/mach-mx35_3ds.c b/arch/arm/mach-mx3/mach-mx35_3ds.c index 05f628d90725..b66a75aa2e88 100644 --- a/arch/arm/mach-mx3/mach-mx35_3ds.c +++ b/arch/arm/mach-mx3/mach-mx35_3ds.c | |||
@@ -38,11 +38,15 @@ | |||
38 | #include <mach/hardware.h> | 38 | #include <mach/hardware.h> |
39 | #include <mach/common.h> | 39 | #include <mach/common.h> |
40 | #include <mach/iomux-mx35.h> | 40 | #include <mach/iomux-mx35.h> |
41 | #include <mach/irqs.h> | ||
42 | #include <mach/3ds_debugboard.h> | ||
41 | #include <mach/mxc_ehci.h> | 43 | #include <mach/mxc_ehci.h> |
42 | 44 | ||
43 | #include "devices-imx35.h" | 45 | #include "devices-imx35.h" |
44 | #include "devices.h" | 46 | #include "devices.h" |
45 | 47 | ||
48 | #define EXPIO_PARENT_INT (MXC_INTERNAL_IRQS + GPIO_PORTA + 1) | ||
49 | |||
46 | static const struct imxuart_platform_data uart_pdata __initconst = { | 50 | static const struct imxuart_platform_data uart_pdata __initconst = { |
47 | .flags = IMXUART_HAVE_RTSCTS, | 51 | .flags = IMXUART_HAVE_RTSCTS, |
48 | }; | 52 | }; |
@@ -108,6 +112,13 @@ static struct pad_desc mx35pdk_pads[] = { | |||
108 | /* USBH1 */ | 112 | /* USBH1 */ |
109 | MX35_PAD_I2C2_CLK__USB_TOP_USBH2_PWR, | 113 | MX35_PAD_I2C2_CLK__USB_TOP_USBH2_PWR, |
110 | MX35_PAD_I2C2_DAT__USB_TOP_USBH2_OC, | 114 | MX35_PAD_I2C2_DAT__USB_TOP_USBH2_OC, |
115 | /* SDCARD */ | ||
116 | MX35_PAD_SD1_CMD__ESDHC1_CMD, | ||
117 | MX35_PAD_SD1_CLK__ESDHC1_CLK, | ||
118 | MX35_PAD_SD1_DATA0__ESDHC1_DAT0, | ||
119 | MX35_PAD_SD1_DATA1__ESDHC1_DAT1, | ||
120 | MX35_PAD_SD1_DATA2__ESDHC1_DAT2, | ||
121 | MX35_PAD_SD1_DATA3__ESDHC1_DAT3, | ||
111 | }; | 122 | }; |
112 | 123 | ||
113 | /* OTG config */ | 124 | /* OTG config */ |
@@ -140,6 +151,11 @@ static void __init mxc_board_init(void) | |||
140 | mxc_register_device(&mxc_usbh1, &usb_host_pdata); | 151 | mxc_register_device(&mxc_usbh1, &usb_host_pdata); |
141 | 152 | ||
142 | imx35_add_mxc_nand(&mx35pdk_nand_board_info); | 153 | imx35_add_mxc_nand(&mx35pdk_nand_board_info); |
154 | imx35_add_esdhc(0, NULL); | ||
155 | |||
156 | if (mxc_expio_init(MX35_CS5_BASE_ADDR, EXPIO_PARENT_INT)) | ||
157 | pr_warn("Init of the debugboard failed, all " | ||
158 | "devices on the debugboard are unusable.\n"); | ||
143 | } | 159 | } |
144 | 160 | ||
145 | static void __init mx35pdk_timer_init(void) | 161 | static void __init mx35pdk_timer_init(void) |