From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pali =?utf-8?B?Um9ow6Fy?= Date: Thu, 10 Sep 2020 21:04:20 +0200 Subject: [PATCH] mmc: xenon_sdhci: Add missing common host capabilities In-Reply-To: <20200910175340.515227-1-a.heider@gmail.com> References: <20200910175340.515227-1-a.heider@gmail.com> Message-ID: <20200910190420.rcllylp3ct323rsr@pali> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Thursday 10 September 2020 19:53:40 Andre Heider wrote: > 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 > --- Adding Marek to loop, can you test this patch on MOX A to verify that it does not break MOX uSD and SDIO support? (PS: Andre, for one week I would not be available, therefore in this time I would not be able to test or review Armada 3720 patches...) > > 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 >