aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorAndre Silva <andre.silva@freescale.com>2011-06-13 13:31:57 -0400
committerSascha Hauer <s.hauer@pengutronix.de>2011-07-07 04:01:08 -0400
commite3a58be3be7f0d7cf3c0966f3f3369acfab421e8 (patch)
tree7e1e3c1b5a505ef19f552485957c5262f3573642 /arch
parent6ecdc11bf8e1105ae393bf74026427180a6c5207 (diff)
ARM:mach-mx5/mx53_ard: Add ESDHC support
Signed-off-by: Andre Silva <andre.silva@freescale.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-mx5/Kconfig1
-rw-r--r--arch/arm/mach-mx5/board-mx53_ard.c22
2 files changed, 23 insertions, 0 deletions
diff --git a/arch/arm/mach-mx5/Kconfig b/arch/arm/mach-mx5/Kconfig
index 695cdf017c5e..9a8e6f8c2014 100644
--- a/arch/arm/mach-mx5/Kconfig
+++ b/arch/arm/mach-mx5/Kconfig
@@ -213,6 +213,7 @@ config MACH_MX53_ARD
213 bool "Support MX53 ARD platforms" 213 bool "Support MX53 ARD platforms"
214 select SOC_IMX53 214 select SOC_IMX53
215 select IMX_HAVE_PLATFORM_IMX_UART 215 select IMX_HAVE_PLATFORM_IMX_UART
216 select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
216 help 217 help
217 Include support for MX53 ARD platform. This includes specific 218 Include support for MX53 ARD platform. This includes specific
218 configurations for the board and its peripherals. 219 configurations for the board and its peripherals.
diff --git a/arch/arm/mach-mx5/board-mx53_ard.c b/arch/arm/mach-mx5/board-mx53_ard.c
index 7e1859ba5f83..5d98dbfdfab5 100644
--- a/arch/arm/mach-mx5/board-mx53_ard.c
+++ b/arch/arm/mach-mx5/board-mx53_ard.c
@@ -36,6 +36,8 @@
36#include "devices-imx53.h" 36#include "devices-imx53.h"
37 37
38#define ARD_ETHERNET_INT_B IMX_GPIO_NR(2, 31) 38#define ARD_ETHERNET_INT_B IMX_GPIO_NR(2, 31)
39#define ARD_SD1_CD IMX_GPIO_NR(1, 1)
40#define ARD_SD1_WP IMX_GPIO_NR(1, 9)
39 41
40static iomux_v3_cfg_t mx53_ard_pads[] = { 42static iomux_v3_cfg_t mx53_ard_pads[] = {
41 /* UART1 */ 43 /* UART1 */
@@ -69,6 +71,19 @@ static iomux_v3_cfg_t mx53_ard_pads[] = {
69 MX53_PAD_EIM_OE__EMI_WEIM_OE, 71 MX53_PAD_EIM_OE__EMI_WEIM_OE,
70 MX53_PAD_EIM_RW__EMI_WEIM_RW, 72 MX53_PAD_EIM_RW__EMI_WEIM_RW,
71 MX53_PAD_EIM_CS1__EMI_WEIM_CS_1, 73 MX53_PAD_EIM_CS1__EMI_WEIM_CS_1,
74 /* SDHC1 */
75 MX53_PAD_SD1_CMD__ESDHC1_CMD,
76 MX53_PAD_SD1_CLK__ESDHC1_CLK,
77 MX53_PAD_SD1_DATA0__ESDHC1_DAT0,
78 MX53_PAD_SD1_DATA1__ESDHC1_DAT1,
79 MX53_PAD_SD1_DATA2__ESDHC1_DAT2,
80 MX53_PAD_SD1_DATA3__ESDHC1_DAT3,
81 MX53_PAD_PATA_DATA8__ESDHC1_DAT4,
82 MX53_PAD_PATA_DATA9__ESDHC1_DAT5,
83 MX53_PAD_PATA_DATA10__ESDHC1_DAT6,
84 MX53_PAD_PATA_DATA11__ESDHC1_DAT7,
85 MX53_PAD_GPIO_1__GPIO1_1,
86 MX53_PAD_GPIO_9__GPIO1_9,
72}; 87};
73 88
74static struct resource ard_smsc911x_resources[] = { 89static struct resource ard_smsc911x_resources[] = {
@@ -100,6 +115,11 @@ static struct platform_device ard_smsc_lan9220_device = {
100 }, 115 },
101}; 116};
102 117
118static const struct esdhc_platform_data mx53_ard_sd1_data __initconst = {
119 .cd_gpio = ARD_SD1_CD,
120 .wp_gpio = ARD_SD1_WP,
121};
122
103static void __init mx53_ard_io_init(void) 123static void __init mx53_ard_io_init(void)
104{ 124{
105 mxc_iomux_v3_setup_multiple_pads(mx53_ard_pads, 125 mxc_iomux_v3_setup_multiple_pads(mx53_ard_pads,
@@ -156,6 +176,8 @@ static void __init mx53_ard_board_init(void)
156 mx53_ard_io_init(); 176 mx53_ard_io_init();
157 weim_cs_config(); 177 weim_cs_config();
158 platform_add_devices(devices, ARRAY_SIZE(devices)); 178 platform_add_devices(devices, ARRAY_SIZE(devices));
179
180 imx53_add_sdhci_esdhc_imx(0, &mx53_ard_sd1_data);
159} 181}
160 182
161static void __init mx53_ard_timer_init(void) 183static void __init mx53_ard_timer_init(void)