mirror of
https://xff.cz/git/u-boot/
synced 2025-09-30 23:11:32 +02:00
mmc: bcm283x: Add support for bcm2711 device in bcm2835_sdhci
The bcm2711 has two emmc controllers. The difference is the clocks they use. Add support for the second emmc controller. Signed-off-by: Matthias Brugger <mbrugger@suse.com> Signed-off-by: Andrei Gherzan <andrei@balena.io>
This commit is contained in:
@@ -178,12 +178,13 @@ static int bcm2835_sdhci_probe(struct udevice *dev)
|
|||||||
fdt_addr_t base;
|
fdt_addr_t base;
|
||||||
int emmc_freq;
|
int emmc_freq;
|
||||||
int ret;
|
int ret;
|
||||||
|
int clock_id = (int)dev_get_driver_data(dev);
|
||||||
|
|
||||||
base = devfdt_get_addr(dev);
|
base = devfdt_get_addr(dev);
|
||||||
if (base == FDT_ADDR_T_NONE)
|
if (base == FDT_ADDR_T_NONE)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
ret = bcm2835_get_mmc_clock(BCM2835_MBOX_CLOCK_ID_EMMC);
|
ret = bcm2835_get_mmc_clock(clock_id);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
debug("%s: Failed to set MMC clock (err=%d)\n", __func__, ret);
|
debug("%s: Failed to set MMC clock (err=%d)\n", __func__, ret);
|
||||||
return ret;
|
return ret;
|
||||||
@@ -230,7 +231,14 @@ static int bcm2835_sdhci_probe(struct udevice *dev)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static const struct udevice_id bcm2835_sdhci_match[] = {
|
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 */ }
|
{ /* sentinel */ }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user