From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Heider Date: Thu, 10 Sep 2020 19:53:40 +0200 Subject: [PATCH] mmc: xenon_sdhci: Add missing common host capabilities Message-ID: <20200910175340.515227-1-a.heider@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Use mmc_of_parse() to set the common host properties. That includes "bus-width", so parsing it can be removed from the driver. But more importantly, "non-removable" is now respected, which fixes the usage of eMMC. Signed-off-by: Andre Heider --- Tested myself on v5 without emmc, `mmc info` is unchanged for my sd card Tested by G?rald on v7 emmc, which started working with this patch: => mmc info Device: sdhci at d8000 Manufacturer ID: 45 OEM: 100 Name: SEM04 Bus Speed: 52000000 Mode: MMC High Speed (52MHz) Rd Block Len: 512 MMC version 4.5 High Capacity: Yes Capacity: 3.7 GiB Bus Width: 8-bit Erase Group Size: 256 KiB HC WP Group Size: 8 MiB User Capacity: 3.7 GiB WRREL Boot Capacity: 2 MiB RPMB Capacity: 2 MiB Boot area 0 is not write protected Boot area 1 is not write protected drivers/mmc/xenon_sdhci.c | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/drivers/mmc/xenon_sdhci.c b/drivers/mmc/xenon_sdhci.c index 7f9a579c83..6ce9d00d0a 100644 --- a/drivers/mmc/xenon_sdhci.c +++ b/drivers/mmc/xenon_sdhci.c @@ -485,20 +485,10 @@ static int xenon_sdhci_probe(struct udevice *dev) armada_3700_soc_pad_voltage_set(host); host->host_caps = MMC_MODE_HS | MMC_MODE_HS_52MHz | MMC_MODE_DDR_52MHz; - switch (fdtdec_get_int(gd->fdt_blob, dev_of_offset(dev), "bus-width", - 1)) { - case 8: - host->host_caps |= MMC_MODE_8BIT; - break; - case 4: - host->host_caps |= MMC_MODE_4BIT; - break; - case 1: - break; - default: - printf("Invalid \"bus-width\" value\n"); - return -EINVAL; - } + + ret = mmc_of_parse(dev, &plat->cfg); + if (ret) + return ret; host->ops = &xenon_sdhci_ops; -- 2.28.0