aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHai Pham <hai.pham.ud@renesas.com>2023-01-26 21:06:01 +0100
committerMarek Vasut <marek.vasut+renesas@gmail.com>2023-02-02 01:49:20 +0100
commit3c78ce868047bdd3028e5bc741dae13e17ad4a1e (patch)
tree49b1426c4c0c6f2984bded761e338bdef0c56c71
parent89f9e729bee6756c48a1d0d3b9ca4a703306ab8a (diff)
downloadu-boot-3c78ce868047bdd3028e5bc741dae13e17ad4a1e.zip
u-boot-3c78ce868047bdd3028e5bc741dae13e17ad4a1e.tar.gz
u-boot-3c78ce868047bdd3028e5bc741dae13e17ad4a1e.tar.bz2
mmc: renesas-sdhi: Flag non-standard SDnH handling for V3M
V3M handles SDnH differently than other Gen3 SoCs, so let's add a separate entry for that. This will allow better SDnH handling in the future. Based on Linux commit 627151b4966f ("mmc: renesas_sdhi: Flag non-standard SDnH handling for V3M") by Wolfram Sang Signed-off-by: Hai Pham <hai.pham.ud@renesas.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
-rw-r--r--drivers/mmc/renesas-sdhi.c6
-rw-r--r--drivers/mmc/tmio-common.h1
2 files changed, 7 insertions, 0 deletions
diff --git a/drivers/mmc/renesas-sdhi.c b/drivers/mmc/renesas-sdhi.c
index f85ced2..f30d784 100644
--- a/drivers/mmc/renesas-sdhi.c
+++ b/drivers/mmc/renesas-sdhi.c
@@ -930,6 +930,12 @@ static void renesas_sdhi_filter_caps(struct udevice *dev)
priv->read_poll_flag = TMIO_SD_DMA_INFO1_END_RD;
else
priv->read_poll_flag = TMIO_SD_DMA_INFO1_END_RD2;
+
+ /* V3M handles SD0H differently than other Gen3 SoCs */
+ if (rmobile_get_cpu_type() == RMOBILE_CPU_TYPE_R8A77970)
+ priv->needs_clkh_fallback = true;
+ else
+ priv->needs_clkh_fallback = false;
}
static int renesas_sdhi_probe(struct udevice *dev)
diff --git a/drivers/mmc/tmio-common.h b/drivers/mmc/tmio-common.h
index 59d5a0e..e517ed9 100644
--- a/drivers/mmc/tmio-common.h
+++ b/drivers/mmc/tmio-common.h
@@ -151,6 +151,7 @@ struct tmio_sd_priv {
u8 hs400_bad_tap;
const u8 *adjust_hs400_calib_table;
u32 quirks;
+ bool needs_clkh_fallback;
#endif
ulong (*clk_get_rate)(struct tmio_sd_priv *);
};