]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
mmc: pci_mmc: Only generate ACPI code for the SD card
authorSimon Glass <sjg@chromium.org>
Thu, 14 Jan 2021 03:29:52 +0000 (20:29 -0700)
committerTom Rini <trini@konsulko.com>
Wed, 27 Jan 2021 22:03:16 +0000 (17:03 -0500)
At present if an eMMC part is in the system, the ACPI table generated
will include information about that, as well as the SD card. We only need
to include the SD card, since it has a card-detect GPIO. Use a different
compatible string for each option, and add code only for the SD card.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
drivers/mmc/pci_mmc.c

index b26eb034d07aeea725831650ab6295d53d00a079..9316ac12cc22b41f06743c8e07603fdf5e67b5e0 100644 (file)
 #include <asm-generic/gpio.h>
 #include <dm/acpi.h>
 
+/* Type of MMC device */
+enum {
+       TYPE_SD,
+       TYPE_EMMC,
+};
+
 struct pci_mmc_plat {
        struct mmc_config cfg;
        struct mmc mmc;
@@ -79,6 +85,8 @@ static int pci_mmc_acpi_fill_ssdt(const struct udevice *dev,
 
        if (!dev_has_ofnode(dev))
                return 0;
+       if (dev_get_driver_data(dev) == TYPE_EMMC)
+               return 0;
 
        ret = gpio_get_acpi(&priv->cd_gpio, &gpio);
        if (ret)
@@ -122,7 +130,8 @@ struct acpi_ops pci_mmc_acpi_ops = {
 };
 
 static const struct udevice_id pci_mmc_match[] = {
-       { .compatible = "intel,apl-sd" },
+       { .compatible = "intel,apl-sd", .data = TYPE_SD },
+       { .compatible = "intel,apl-emmc", .data = TYPE_EMMC },
        { }
 };