mmc: core: Set correct bus mode before card init
authorStefan Nilsson XK <stefan.xk.nilsson@stericsson.com>
Thu, 15 Sep 2011 15:50:38 +0000 (17:50 +0200)
committerChris Ball <cjb@laptop.org>
Wed, 26 Oct 2011 20:32:03 +0000 (16:32 -0400)
commit44669034815a7ad263542ac605c581a10b22d146
treee11820c9044f92a85d0efbb752f35673d92b20fc
parent9a0da648ff3a5020406ac7784eb3b519014f66f6
mmc: core: Set correct bus mode before card init

Earlier all cards where initiated with bus mode set as OPENDRAIN, and then
later switched to PUSHPULL. According to the MMC/SD/SDIO specifications
only MMC cards use OPENDRAIN during init. For both SD and SDIO the bus
mode shall be PUSHPULL before attempting to init the card.

The consequence of having incorrect bus mode can lead to not being able
to detect the card. Therefore the default behavior have now been changed
to PUSHPULL in mmc_power_up, and will only be temporarily switched when
trying to attach or init a MMC card.

Signed-off-by: Stefan Nilsson XK <stefan.xk.nilsson@stericsson.com>
Signed-off-by: Ulf HANSSON <ulf.hansson@stericsson.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
drivers/mmc/core/core.c
drivers/mmc/core/mmc.c
drivers/mmc/core/sd.c
drivers/mmc/core/sdio.c