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.

GPIO 126

Hi:

 We found an issue recently.

For GPIO 126, we know we need to program the control_pbias_lite and control_wkup_ctrl, as well as gpio mux..., in order to get it work. 

And we did make it work in the u-boot. Also it work fine in the Android when SD card is inserted. But if the system is boot up to Android without SD card, GPIO 126 is not functioning. And if SD is inserted after Android is up, GPIO 126 is working fine. 

The control_pbias_lite = 0xB0B in the Android when SD is not present. And this value change to 0x8387 when SD card is inserted.

Looks like SD card driver has change some other settings which are also affecting GPIO 126. Does anyone have this issue before?

Could it be the SD block powered down when SD is not inserted? How could I check it?

Regards,

Hongtao

  • Hi Hongtao,

    The SD card block should by powered regardless the SD card is inserted or not.

    The described issue is not known. Could you give more details about the Android and Kernel versions? Also what about the hardware is it custom board or some stock development board?

    What do you expect to do with GPIO 126 when not booting fron SD card?

    Could you check the mmc_board_init() function in the /x-load/cpu/omap3/mmc.c file whether presents the following row:

    CONTROL_PBIAS_LITE = value | (1 << 2) | (1 << 1) | (1 << 9);

    because in the 0xB0B bit 2 is not set but I expect to be set.

    BR

    Tsvetolin Shulev

  • Hi Tsvetolin Shulev, 

    We are using custom board with Android GingerBread 2.3.4 with 2.6.37 kernel version.

    We just want to make GPIO 126 to high(3.1V) in both SD boot and Nand boots. But we are not able to make it high with nand booting without inserting SD card.

    I checked the mmc_board_init() function in the /x-load/cpu/omap3/mmc.c file and the following row presents there.

    CONTROL_PBIAS_LITE = value | (1 << 2) | (1 << 1) | (1 << 9);

    We don't know, why bit 2 is not set in 0xB0B?

    Some observations FYI:

    • If i insert SD card on the fly also, GPIO 126 is becoming high.
    • If i disable CONFIG_MMC_OMAP_HS=y flag in default config, the file at location kernel/drivers/mmc/host/omap_hsmmc.c is not compiling and in that case GPIO 126 is becoming high without inserting SD card. From my understanding something is happening in that file.

    Can you please help me?

    Thanks & Regards

    Naresh Malladi

  • Hi Tsvetolin Shulev, 

    Can you please give any update on this? We are waiting for your reply.

    Thanks,

    Naresh