diff mbox

[2/2] mmc: quirks: wl1271 is MMC_QUIRK_DISABLE_CD

Message ID 1302015746-8414-2-git-send-email-ohad@wizery.com (mailing list archive)
State New, archived
Headers show

Commit Message

Ohad Ben Cohen April 5, 2011, 3:02 p.m. UTC
The wl12xx device supports disconnecting the pull-up resistor on
CD/DAT[3] (pin 1) of the card.

Tell SDIO core to disconnect that resistor during card init,
since we don't need it at that point (and anyway all
hosts shall provide pull-up resistors on all data lines DAT[3:0]
as described in section 6 of the SD physical specification).

As a result, this may save some power, but it's also generally healthy
since it prevents both ends from pulling up that pin, which
results in undesirable asymmetric physical bus.

Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
---
 drivers/mmc/core/quirks.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

Comments

Chris Ball April 5, 2011, 3:26 p.m. UTC | #1
Hi,

On Tue, Apr 05 2011, Ohad Ben-Cohen wrote:
> The wl12xx device supports disconnecting the pull-up resistor on
> CD/DAT[3] (pin 1) of the card.
>
> Tell SDIO core to disconnect that resistor during card init,
> since we don't need it at that point (and anyway all
> hosts shall provide pull-up resistors on all data lines DAT[3:0]
> as described in section 6 of the SD physical specification).
>
> As a result, this may save some power, but it's also generally healthy
> since it prevents both ends from pulling up that pin, which
> results in undesirable asymmetric physical bus.
>
> Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
> ---
>  drivers/mmc/core/quirks.c |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/mmc/core/quirks.c b/drivers/mmc/core/quirks.c
> index 1957398..a4c42ed 100644
> --- a/drivers/mmc/core/quirks.c
> +++ b/drivers/mmc/core/quirks.c
> @@ -66,6 +66,8 @@ static const struct mmc_fixup mmc_fixup_methods[] = {
>  		remove_quirk, MMC_QUIRK_BROKEN_CLK_GATING },
>  	{ SDIO_VENDOR_ID_TI, SDIO_DEVICE_ID_TI_WL1271,
>  		add_quirk, MMC_QUIRK_NONSTD_FUNC_IF },
> +	{ SDIO_VENDOR_ID_TI, SDIO_DEVICE_ID_TI_WL1271,
> +		add_quirk, MMC_QUIRK_DISABLE_CD },
>  	{ 0 }
>  };

Thanks, pushed to mmc-next for .40.

- Chris.
diff mbox

Patch

diff --git a/drivers/mmc/core/quirks.c b/drivers/mmc/core/quirks.c
index 1957398..a4c42ed 100644
--- a/drivers/mmc/core/quirks.c
+++ b/drivers/mmc/core/quirks.c
@@ -66,6 +66,8 @@  static const struct mmc_fixup mmc_fixup_methods[] = {
 		remove_quirk, MMC_QUIRK_BROKEN_CLK_GATING },
 	{ SDIO_VENDOR_ID_TI, SDIO_DEVICE_ID_TI_WL1271,
 		add_quirk, MMC_QUIRK_NONSTD_FUNC_IF },
+	{ SDIO_VENDOR_ID_TI, SDIO_DEVICE_ID_TI_WL1271,
+		add_quirk, MMC_QUIRK_DISABLE_CD },
 	{ 0 }
 };