mmc: sdhci-acpi: Add quirk to enable pull-up on the card-detect GPIO on Asus T100TA
authorHans de Goede <hdegoede@redhat.com>
Wed, 10 Apr 2024 19:16:39 +0000 (21:16 +0200)
committerUlf Hansson <ulf.hansson@linaro.org>
Fri, 26 Apr 2024 04:46:58 +0000 (06:46 +0200)
commit431946c0f640c93421439a6c928efb3152c035a4
tree6677ef0115fe57b15c976dca34558419cc647b15
parentef3eab75e17191e5665f52e64e85bc29d5705a7b
mmc: sdhci-acpi: Add quirk to enable pull-up on the card-detect GPIO on Asus T100TA

The card-detect GPIO for the microSD slot on Asus T100TA / T100TAM models
stopped working under Linux after commit 6fd03f024828 ("gpiolib: acpi:
support bias pull disable").

The GPIO in question is connected to a mechanical switch in the slot
which shorts the pin to GND when a card is inserted.

The GPIO pin correctly gets configured with a 20K pull-up by the BIOS,
but there is a bug in the DSDT where the GpioInt for the card-detect is
configured with a PullNone setting:

    GpioInt (Edge, ActiveBoth, SharedAndWake, PullNone, 0x2710,
        "\\_SB.GPO0", 0x00, ResourceConsumer, ,
        )
        {   // Pin list
        0x0026
        }

Linux now actually honors the PullNone setting and disables the 20K pull-up
configured by the BIOS.

Add a new DMI_QUIRK_SD_CD_ENABLE_PULL_UP quirk which when set calls
mmc_gpiod_set_cd_config() to re-enable the pull-up and set this for
the Asus T100TA models to fix this.

Fixes: 6fd03f024828 ("gpiolib: acpi: support bias pull disable")
Reviewed-by: Andy Shevchenko <andy@kernel.org>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20240410191639.526324-7-hdegoede@redhat.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/sdhci-acpi.c