]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ENGR00152547-01 [MX6Q]add SDHC3.0 support on uSDHC controller
authorTony Lin <tony.lin@freescale.com>
Tue, 12 Jul 2011 03:04:35 +0000 (11:04 +0800)
committerOliver Wendt <ow@karo-electronics.de>
Mon, 30 Sep 2013 12:09:15 +0000 (14:09 +0200)
enable uSDHC slot 3 in board file
add parameter in platform data to indicate whether the slot
supports 1.8 voltage
add pinmux to support voltage switch between 1.8V and 3.3V

Signed-off-by: Tony Lin <tony.lin@freescale.com>
arch/arm/mach-mx6/board-mx6q_sabreauto.c
arch/arm/plat-mxc/include/mach/esdhc.h
arch/arm/plat-mxc/include/mach/iomux-mx6q.h

index 0baf7b46669949de1c9717c80b87a6e1ecf706af..fbe4e9691c6cc76fbc9bf518e7c40fd9a06c3ae7 100644 (file)
@@ -131,6 +131,8 @@ static iomux_v3_cfg_t mx6q_sabreauto_pads[] = {
        MX6Q_PAD_SD3_DAT6__USDHC3_DAT6,
        MX6Q_PAD_SD3_DAT7__USDHC3_DAT7,
        MX6Q_PAD_SD3_RST__USDHC3_RST,
+       /* SD3 VSelect */
+       MX6Q_PAD_GPIO_18__USDHC3_VSELECT,
        /* SD3_CD and SD3_WP */
        MX6Q_PAD_NANDF_CS0__GPIO_6_11,
        MX6Q_PAD_NANDF_CS1__GPIO_6_14,
@@ -198,6 +200,7 @@ static iomux_v3_cfg_t mx6q_sabreauto_pads[] = {
 static const struct esdhc_platform_data mx6q_sabreauto_sd3_data __initconst = {
        .cd_gpio = MX6Q_SABREAUTO_SD3_CD,
        .wp_gpio = MX6Q_SABREAUTO_SD3_WP,
+       .support_18v = 1,
 };
 
 /* No card detect signal for SD4 */
@@ -492,6 +495,7 @@ static void __init mx6_board_init(void)
        imx6q_init_fec();
 
        imx6q_add_sdhci_usdhc_imx(3, &mx6q_sabreauto_sd4_data);
+       imx6q_add_sdhci_usdhc_imx(2, &mx6q_sabreauto_sd3_data);
        imx_add_viv_gpu("gc2000", &imx6_gc2000_data, &imx6q_gc2000_pdata);
        imx_add_viv_gpu("gc355", &imx6_gc355_data, NULL);
        imx_add_viv_gpu("gc320", &imx6_gc320_data, NULL);
index f6f5ca22ae2189163ddf8e145eb41a4e21bb6ed9..de64035c48469a9956192b160a3ad493c6144cfc 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2010 Wolfram Sang <w.sang@pengutronix.de>
+ * Copyright 2011 Wolfram Sang <w.sang@pengutronix.de>
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
@@ -23,5 +23,6 @@ struct esdhc_platform_data {
        unsigned int wp_gpio;
        unsigned int cd_gpio;
        unsigned int always_present;
+       unsigned int support_18v;
 };
 #endif /* __ASM_ARCH_IMX_ESDHC_H */
index 75e37280197445dba5849fd22c3f729669257c09..ee90624005f2f9e6e01c838ab72f80fd44647462 100644 (file)
@@ -48,7 +48,7 @@ typedef enum iomux_config {
                PAD_CTL_DSE_40ohm | PAD_CTL_SRE_FAST | PAD_CTL_HYS)
 
 #define MX6Q_USDHC_PAD_CTRL    (PAD_CTL_PKE | PAD_CTL_PUE |    \
-               PAD_CTL_PUS_100K_UP | PAD_CTL_SPEED_MED |       \
+               PAD_CTL_PUS_47K_UP | PAD_CTL_SPEED_HIGH |       \
                PAD_CTL_DSE_40ohm | PAD_CTL_SRE_FAST | PAD_CTL_HYS)
 
 #define MX6Q_ENET_PAD_CTRL     (PAD_CTL_PKE | PAD_CTL_PUE |    \