aboutsummaryrefslogtreecommitdiffstats
path: root/meta-agl-bsp/meta-raspberrypi/recipes-bsp/u-boot/u-boot-2019.07/0006-mmc-bcm2835_sdhci-Add-support-for-bcm2711-device.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-agl-bsp/meta-raspberrypi/recipes-bsp/u-boot/u-boot-2019.07/0006-mmc-bcm2835_sdhci-Add-support-for-bcm2711-device.patch')
-rw-r--r--meta-agl-bsp/meta-raspberrypi/recipes-bsp/u-boot/u-boot-2019.07/0006-mmc-bcm2835_sdhci-Add-support-for-bcm2711-device.patch53
1 files changed, 53 insertions, 0 deletions
diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-bsp/u-boot/u-boot-2019.07/0006-mmc-bcm2835_sdhci-Add-support-for-bcm2711-device.patch b/meta-agl-bsp/meta-raspberrypi/recipes-bsp/u-boot/u-boot-2019.07/0006-mmc-bcm2835_sdhci-Add-support-for-bcm2711-device.patch
new file mode 100644
index 000000000..d9de5c425
--- /dev/null
+++ b/meta-agl-bsp/meta-raspberrypi/recipes-bsp/u-boot/u-boot-2019.07/0006-mmc-bcm2835_sdhci-Add-support-for-bcm2711-device.patch
@@ -0,0 +1,53 @@
+From 1f42758fe69648340cfae6cae98e667b88923cf6 Mon Sep 17 00:00:00 2001
+From: Matthias Brugger <mbrugger@suse.com>
+Date: Wed, 10 Jul 2019 13:24:36 +0200
+Subject: [PATCH 6/7] mmc: bcm2835_sdhci: Add support for bcm2711 device
+
+The bcm2711 has two emmc controller. The difference is the clocks
+they use. Add support for the second emmc contoller.
+
+Signed-off-by: Matthias Brugger <mbrugger@suse.com>
+Signed-off-by: Andrei Gherzan <andrei@balena.io>
+Upstream-status: Pending
+---
+ drivers/mmc/bcm2835_sdhci.c | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/mmc/bcm2835_sdhci.c b/drivers/mmc/bcm2835_sdhci.c
+index 08bddd410e..e68dec3be7 100644
+--- a/drivers/mmc/bcm2835_sdhci.c
++++ b/drivers/mmc/bcm2835_sdhci.c
+@@ -178,12 +178,13 @@ static int bcm2835_sdhci_probe(struct udevice *dev)
+ fdt_addr_t base;
+ int emmc_freq;
+ int ret;
++ int clock_id = (int)dev_get_driver_data(dev);
+
+ base = devfdt_get_addr(dev);
+ if (base == FDT_ADDR_T_NONE)
+ return -EINVAL;
+
+- ret = bcm2835_get_mmc_clock(BCM2835_MBOX_CLOCK_ID_EMMC);
++ ret = bcm2835_get_mmc_clock(clock_id);
+ if (ret < 0) {
+ debug("%s: Failed to set MMC clock (err=%d)\n", __func__, ret);
+ return ret;
+@@ -228,7 +229,14 @@ static int bcm2835_sdhci_probe(struct udevice *dev)
+ }
+
+ static const struct udevice_id bcm2835_sdhci_match[] = {
+- { .compatible = "brcm,bcm2835-sdhci" },
++ {
++ .compatible = "brcm,bcm2835-sdhci",
++ .data = BCM2835_MBOX_CLOCK_ID_EMMC
++ },
++ {
++ .compatible = "brcm,bcm2711-emmc2",
++ .data = BCM2835_MBOX_CLOCK_ID_EMMC2
++ },
+ { /* sentinel */ }
+ };
+
+--
+2.22.0
+