ARM: mach-imx: mx25_3ds: add write-protect and card-detect for SD
authorShawn Guo <shawn.guo@freescale.com>
Sat, 26 Feb 2011 15:19:04 +0000 (23:19 +0800)
committerSascha Hauer <s.hauer@pengutronix.de>
Thu, 19 May 2011 11:11:05 +0000 (13:11 +0200)
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
LAKML-Reference: 1298733544-24659-1-git-send-email-shawn.guo@freescale.com
Acked-by: Wolfram Sang <w.sang@pengutronix.de>
[ukl: fixup conflict with ff86452 (ARM: mx25_3ds: Add I2C support) and
drop #inclusion of <mach/esdhc.h>]
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
arch/arm/mach-imx/mach-mx25_3ds.c

index 06da438282aa231743d10396bb4dc6502ac45792..378f4334378cd50754b84443c2f62144c20dc8fa 100644 (file)
@@ -103,6 +103,8 @@ static iomux_v3_cfg_t mx25pdk_pads[] = {
        MX25_PAD_SD1_DATA1__SD1_DATA1,
        MX25_PAD_SD1_DATA2__SD1_DATA2,
        MX25_PAD_SD1_DATA3__SD1_DATA3,
+       MX25_PAD_A14__GPIO_2_0, /* WriteProtect */
+       MX25_PAD_A15__GPIO_2_1, /* CardDetect */
 
        /* I2C1 */
        MX25_PAD_I2C1_CLK__I2C1_CLK,
@@ -208,6 +210,14 @@ static const struct imxi2c_platform_data mx25_3ds_i2c0_data __initconst = {
        .bitrate = 100000,
 };
 
+#define SD1_GPIO_WP    IMX_GPIO_NR(2, 0)
+#define SD1_GPIO_CD    IMX_GPIO_NR(2, 1)
+
+static const struct esdhc_platform_data mx25pdk_esdhc_pdata __initconst = {
+       .wp_gpio = SD1_GPIO_WP,
+       .cd_gpio = SD1_GPIO_CD,
+};
+
 static void __init mx25pdk_init(void)
 {
        mxc_iomux_v3_setup_multiple_pads(mx25pdk_pads,
@@ -225,7 +235,7 @@ static void __init mx25pdk_init(void)
        imx25_add_fec(&mx25_fec_pdata);
        imx25_add_imx_keypad(&mx25pdk_keymap_data);
 
-       imx25_add_sdhci_esdhc_imx(0, NULL);
+       imx25_add_sdhci_esdhc_imx(0, &mx25pdk_esdhc_pdata);
        imx25_add_imx_i2c0(&mx25_3ds_i2c0_data);
 }