aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2021-01-13 20:29:52 -0700
committerTom Rini <trini@konsulko.com>2021-01-27 16:13:53 -0500
commitb898dcd2e287b79f720f5deb04cf2dec0ce54459 (patch)
treed96142b47e8db052e51e1256e8f547e05ccc6f15
parent83965848f0dd87426917fa16590ee3011147d68a (diff)
downloadu-boot-b898dcd2e287b79f720f5deb04cf2dec0ce54459.zip
u-boot-b898dcd2e287b79f720f5deb04cf2dec0ce54459.tar.gz
u-boot-b898dcd2e287b79f720f5deb04cf2dec0ce54459.tar.bz2
mmc: pci_mmc: Only generate ACPI code for the SD card
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>
-rw-r--r--drivers/mmc/pci_mmc.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/mmc/pci_mmc.c b/drivers/mmc/pci_mmc.c
index b26eb03..9316ac1 100644
--- a/drivers/mmc/pci_mmc.c
+++ b/drivers/mmc/pci_mmc.c
@@ -17,6 +17,12 @@
#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 },
{ }
};