]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
mmc: arm_pl180_mmci: Don't bind to all arm, primecell devices
authorStephan Gerhold <stephan@gerhold.net>
Tue, 6 Jul 2021 14:54:33 +0000 (16:54 +0200)
committerPeng Fan <peng.fan@nxp.com>
Fri, 30 Jul 2021 09:13:01 +0000 (17:13 +0800)
The arm,primecell compatible is used for lots of different types
of devices, e.g. I2C, SPI, coresight, ... We really should not bind
the MMC driver to all of them.

Looking through the device trees in U-Boot there seems to be always
a second compatible string for the pl180 device, either arm,pl180
(already listed) or arm,pl18x. Add the "arm,pl18x" compatible to the
list but remove the generic "arm,primecell".

Note that on Linux these compatibles cannot be found in drivers
because AMBA/primecell devices are matched based on their peripheral ID
instead of the compatible.

This fixes the following error messages when booting the ST-Ericsson
U8500 "stemmy" board with the arm_pl180_mmci driver enabled:

  MMC:   ptm@801ae000 - probe failed: -38
  ptm@801af000 - probe failed: -38
  funnel@801a6000 - probe failed: -38
  tpiu@80190000 - probe failed: -38
  etb@801a4000 - probe failed: -38

Cc: Patrice Chotard <patrice.chotard@st.com>
Fixes: 6f41d1a17e20 ("mmc: arm_pl180_mmci: Sync compatible with kernel")
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
Tested-by: Patrice Chotard <patrice.chotard@foss.st.com> on stm32f769-disco
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
drivers/mmc/arm_pl180_mmci.c

index b2d1b4f9aa9a9a077bd79708c0cec1f2818f27c1..5d1ee64356eebff2830a71b765c237ebee615e75 100644 (file)
@@ -539,7 +539,7 @@ static int arm_pl180_mmc_of_to_plat(struct udevice *dev)
 
 static const struct udevice_id arm_pl180_mmc_match[] = {
        { .compatible = "arm,pl180" },
-       { .compatible = "arm,primecell" },
+       { .compatible = "arm,pl18x" },
        { /* sentinel */ }
 };