i.MX6 SD2 Card Detect pin disable

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

i.MX6 SD2 Card Detect pin disable

Jump to solution
1,602 Views
vincentchou
Contributor IV

Hi!  friends,

Right now we designed a i.MX6 Solo board with a Wifi Module (RTL8189es) wired to the SD2 bus.  However, we did not know which SD2_CD_B pin should be used and our module does not require that pin either.  In that case, we let NANDF_D2 (used in the SABRESD EVB) and GPIO_4 (listed in the reference manual) float.  Later on we discovered that there is an error message output "uSDHC1: No card-detect pin available!" message on the boot log output.  In addition, the system seems to have to problem to recognize there is a Wifi module plugged into SD2 bus.  Is there anyway we could fix this by letting the system know the module is plugged in the software?  Any help is greatly appreciated!  We are running Android 4.0.4 on a board similar to i.MX6 Sabresd EVB.

Vincent

Labels (3)
1 Solution
610 Views
lily_zhang
NXP Employee
NXP Employee

You can check SDHC configuration in your board file

static const struct esdhc_platform_data mx6q_sabresd_sd2_data __initconst = {

        .cd_gpio = SABRESD_SD2_CD,

        .wp_gpio = SABRESD_SD2_WP,

        .keep_power_at_suspend = 1,

        .support_8bit = 1,

        .delay_line = 0,

        .cd_type = ESDHC_CD_CONTROLLER,

        .runtime_pm = 1,

};

enum cd_types {

        ESDHC_CD_NONE,          /* no CD, neither controller nor gpio */

        ESDHC_CD_CONTROLLER,    /* mmc controller internal CD */

        ESDHC_CD_GPIO,          /* external gpio pin for CD */

        ESDHC_CD_PERMANENT,     /* no CD, card permanently wired to host */

};

You can consider set cd_type as ESDHC_CD_PERMANENT

View solution in original post

2 Replies
611 Views
lily_zhang
NXP Employee
NXP Employee

You can check SDHC configuration in your board file

static const struct esdhc_platform_data mx6q_sabresd_sd2_data __initconst = {

        .cd_gpio = SABRESD_SD2_CD,

        .wp_gpio = SABRESD_SD2_WP,

        .keep_power_at_suspend = 1,

        .support_8bit = 1,

        .delay_line = 0,

        .cd_type = ESDHC_CD_CONTROLLER,

        .runtime_pm = 1,

};

enum cd_types {

        ESDHC_CD_NONE,          /* no CD, neither controller nor gpio */

        ESDHC_CD_CONTROLLER,    /* mmc controller internal CD */

        ESDHC_CD_GPIO,          /* external gpio pin for CD */

        ESDHC_CD_PERMANENT,     /* no CD, card permanently wired to host */

};

You can consider set cd_type as ESDHC_CD_PERMANENT

610 Views
vincentchou
Contributor IV

HI!  Xiaoli,

Happy Chinese New Year!  We did follow the same configuration as EMMC and set the SD2.  Thanks a lot!

Vincent

0 Kudos