summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephan Gerhold <stephan@gerhold.net>2021-07-06 17:54:33 +0300
committerPeng Fan <peng.fan@nxp.com>2021-07-30 12:13:01 +0300
commit936e9cd39260559b6c3f931038fe3f2173e43605 (patch)
tree9b46c1b75b4244d3c19b6edc1db6d8388c9c0d24
parenta9f7be509af90fa5f2c308867ad3b0bd48532c6e (diff)
downloadu-boot-936e9cd39260559b6c3f931038fe3f2173e43605.tar.xz
mmc: arm_pl180_mmci: Don't bind to all arm, primecell devices
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>
-rw-r--r--drivers/mmc/arm_pl180_mmci.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/mmc/arm_pl180_mmci.c b/drivers/mmc/arm_pl180_mmci.c
index b2d1b4f9aa..5d1ee64356 100644
--- a/drivers/mmc/arm_pl180_mmci.c
+++ b/drivers/mmc/arm_pl180_mmci.c
@@ -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 */ }
};