Re: [PATCH v2 3/3] mmc: core: add support for disabling HS400 mode via DT
From: Ulf Hansson <hidden>
Date: 2021-05-11 11:15:23
Also in:
linux-arm-kernel, linux-mmc
+ Chris Ruehl On Mon, 10 May 2021 at 21:04, Lucas Stach [off-list ref] wrote:
From: Lucas Stach <dev@lynxeye.de> On some boards the data strobe line isn't wired up, rendering HS400 support broken, even if both the controller and the eMMC claim to support it. Allow to disable HS400 mode via DT.
Before I review the series, I just wanted to highlight that quite recently we got a related series posted from Chris [1]. I made some comments, but he hasn't replied yet. In any case, if I understood it correctly, it looks like some controllers may support HS400 ES, but not HS200. Could that be the case here as well? Or is this a different problem? Kind regards Uffe [1] https://patchwork.kernel.org/project/linux-mmc/patch/20201208061839.21163-7-chris.ruehl@gtsys.com.hk/
quoted hunk ↗ jump to hunk
Signed-off-by: Lucas Stach <dev@lynxeye.de> --- v2: - move to core - actually disable all HS400 modes --- drivers/mmc/core/host.c | 3 +++ 1 file changed, 3 insertions(+)diff --git a/drivers/mmc/core/host.c b/drivers/mmc/core/host.c index 9b89a91b6b47..0e066c5f5243 100644 --- a/drivers/mmc/core/host.c +++ b/drivers/mmc/core/host.c@@ -351,6 +351,9 @@ int mmc_of_parse(struct mmc_host *host) host->caps2 |= MMC_CAP2_NO_SD; if (device_property_read_bool(dev, "no-mmc")) host->caps2 |= MMC_CAP2_NO_MMC; + if (device_property_read_bool(dev, "no-mmc-hs400")) + host->caps2 &= ~(MMC_CAP2_HS400_1_8V | MMC_CAP2_HS400_1_2V | + MMC_CAP2_HS400_ES); /* Must be after "non-removable" check */ if (device_property_read_u32(dev, "fixed-emmc-driver-type", &drv_type) == 0) { --2.31.1