[U-Boot] [PATCH 4/6] mmc: uniphier-sd: Add Renesas RCar quirks

Marek Vasut marek.vasut at gmail.com
Fri Oct 6 12:07:05 UTC 2017


Add a quirk to identify that the controller is Renesas RCar variant
of the Matsushita SD IP and another quirk indicating it can support
Renesas RCar HS200/HS400/SDR104 modes.

Signed-off-by: Marek Vasut <marek.vasut+renesas at gmail.com>
Cc: Jaehoon Chung <jh80.chung at samsung.com>
Cc: Masahiro Yamada <yamada.masahiro at socionext.com>
---
 drivers/mmc/uniphier-sd.c | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/drivers/mmc/uniphier-sd.c b/drivers/mmc/uniphier-sd.c
index 24dc13cdf9..58af0b9954 100644
--- a/drivers/mmc/uniphier-sd.c
+++ b/drivers/mmc/uniphier-sd.c
@@ -135,6 +135,8 @@ struct uniphier_sd_priv {
 #define UNIPHIER_SD_CAP_DMA_INTERNAL	BIT(1)	/* have internal DMA engine */
 #define UNIPHIER_SD_CAP_DIV1024		BIT(2)	/* divisor 1024 is available */
 #define UNIPHIER_SD_CAP_64BIT		BIT(3)	/* Controller is 64bit */
+#define UNIPHIER_SD_CAP_RCAR		BIT(4)	/* Renesas RCar version of IP */
+#define UNIPHIER_SD_CAP_RCAR_UHS	BIT(5)	/* Renesas RCar UHS/SDR modes */
 #ifdef CONFIG_DM_REGULATOR
 	struct udevice *vqmmc_dev;
 #endif
@@ -852,9 +854,18 @@ static int uniphier_sd_probe(struct udevice *dev)
 }
 
 static const struct udevice_id uniphier_sd_match[] = {
-	{ .compatible = "renesas,sdhi-r8a7795", .data = UNIPHIER_SD_CAP_64BIT },
-	{ .compatible = "renesas,sdhi-r8a7796", .data = UNIPHIER_SD_CAP_64BIT },
-	{ .compatible = "socionext,uniphier-sdhc", .data = 0 },
+	{
+		.compatible = "renesas,sdhi-r8a7795",
+		.data = UNIPHIER_SD_CAP_64BIT | UNIPHIER_SD_CAP_RCAR |
+			UNIPHIER_SD_CAP_RCAR_UHS
+	}, {
+		.compatible = "renesas,sdhi-r8a7796",
+		.data = UNIPHIER_SD_CAP_64BIT | UNIPHIER_SD_CAP_RCAR |
+			UNIPHIER_SD_CAP_RCAR_UHS
+	}, {
+		.compatible = "socionext,uniphier-sdhc",
+		.data = 0
+	},
 	{ /* sentinel */ }
 };
 
-- 
2.11.0



More information about the U-Boot mailing list