This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DM365 MMC1 error -22 whilst initialising SDIO card

Hi all,

I am porting wl1271 wifi driver on dm365 EVM,i use the DVSDK4,when the board is on,console is always print error as below:

mmc1: host doesn't support card's voltages
mmc1: error -22 whilst initialising SDIO card
mmc1: host doesn't support card's voltages
mmc1: error -22 whilst initialising SDIO card
mmc1: host doesn't support card's voltages
mmc1: error -22 whilst initialising SDIO card
mmc1: host doesn't support card's voltages
mmc1: error -22 whilst initialising SDIO card
mmc1: host doesn't support card's voltages
mmc1: error -22 whilst initialising SDIO card
mmc1: host doesn't support card's voltages
mmc1: error -22 whilst initialising SDIO card
mmc1: host doesn't support card's voltages
mmc1: error -22 whilst initialising SDIO card

anyone can help me? thanks for you answer

6 Replies

  • Hi,

    Can you try the fix discussed in the link https://e2e.ti.com/support/embedded/int-embedded_software/f/118/p/41061/143086.aspx?

    Regards, Sudhakar

    Does this help with your question? If not, please send back more information. If it answers your question, please click the  Verify Answer  button below.

  • In reply to Sudhakar Rajashekhara:

    Hi,

    it seems a broken link.

    Bye,

    Raffaele

  • In reply to Raffaele Recalcati:

    Hi,

    I am pasting the fix from the link:

    diff --git a/arch/arm/mach-davinci/devices.c b/arch/arm/mach-davinci/devices.c
    index 34dc0e9..3a9593f 100644
    --- a/arch/arm/mach-davinci/devices.c
    +++ b/arch/arm/mach-davinci/devices.c
    @@ -171,7 +171,7 @@ void __init davinci_setup_mmc(int module, struct davinci_mmc_config *config)
                                    IO_ADDRESS(DAVINCI_SYSTEM_MODULE_BASE + 0x7c);

                            /* Configure pull down control */
    -                       __raw_writel((__raw_readl(pupdctl1) & ~0x400),
    +                       __raw_writel((__raw_readl(pupdctl1) & ~0xfc0),
                                            pupdctl1);

                            mmcsd1_resources[0].start = DM365_MMCSD1_BASE;

     

    Does this help with your question? If not, please send back more information. If it answers your question, please click the  Verify Answer  button below.

  • In reply to Sudhakar Rajashekhara:

    Hi,

     I have modified this function,but the error is still, in function dm365_evm_init(),I add two row as below:

        /arch/arm/mach-davinci/board-dm365-evm.c

    static __init void dm365_evm_init(void)
    {
     evm_init_i2c();
     davinci_serial_init(&uart_config);

     dm365evm_emac_configure();
     dm365evm_usb_configure();

     dm365evm_mmc_configure();                // added by yuwei
     davinci_setup_mmc(0, &dm365evm_mmc_config);  

    davinci_setup_mmc(1, &dm365evm_mmc_config);          //yuwei add

    .....

  • In reply to wei yu:

    I print some register as below,are those data right? why the mmc1 does not work? anyone can help me? thanks a lot!

    pinmux0=fd0000

    pinmux4=51554515

    pupdctl1=fa07f03f

  • In reply to wei yu:

    Hi,

    I see that MMC/SD1 is muxed with few EMIF pins. Can you disable NAND from menuconfig and see whether that helps?

    Regards, Sudhakar

    Does this help with your question? If not, please send back more information. If it answers your question, please click the  Verify Answer  button below.

This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.