mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-02 09:46:37 +03:00
mmc: bcm2835_sdhci: Parse generic MMC device tree properties
The bcm2835 SDHCI driver sets up the MMC host configuration via
sdhci_setup_cfg(), but does not parse generic MMC device tree
properties.
As a result, properties such as bus-width are ignored. On Raspberry Pi
Compute Module 4, the eMMC node describes an 8-bit bus, but U-Boot
initialized the device as 4-bit.
Call mmc_of_parse() before sdhci_setup_cfg() so that generic MMC
properties are folded into the host configuration before the MMC core
selects the bus width.
Before this change, mmc info reported:
Bus Speed: 52000000
Bus Width: 4-bit
After this change, mmc info reports:
Bus Speed: 52000000
Bus Width: 8-bit
Tested on Raspberry Pi Compute Module 4 with onboard eMMC.
Signed-off-by: Liel Harel <liel.harel@gmail.com>
Reviewed-by: Peter Robinson <pbrobinson@gmail.com>
Tested-by: Peter Robinson <pbrobinson@gmail.com> # on the CM4 as well
This commit is contained in:
committed by
Peter Robinson
parent
17ceb774a1
commit
29c7796a71
@@ -219,6 +219,10 @@ static int bcm2835_sdhci_probe(struct udevice *dev)
|
||||
host->mmc = &plat->mmc;
|
||||
host->mmc->dev = dev;
|
||||
|
||||
ret = mmc_of_parse(dev, &plat->cfg);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
ret = sdhci_setup_cfg(&plat->cfg, host, emmc_freq, MIN_FREQ);
|
||||
if (ret) {
|
||||
debug("%s: Failed to setup SDHCI (err=%d)\n", __func__, ret);
|
||||
|
||||
Reference in New Issue
Block a user