52 lines
1.6 KiB
Diff
52 lines
1.6 KiB
Diff
From 19edcee0628565853631b3f4f5c8e9805c8f7ca9 Mon Sep 17 00:00:00 2001
|
|
From: Ondrej Jirman <megi@xff.cz>
|
|
Date: Mon, 19 Jun 2023 03:04:17 +0200
|
|
Subject: [PATCH 450/464] soc: rockchip: grf: Fix SD card errors during boot
|
|
when bus-width > 1
|
|
|
|
RK3588 has the same issue as other earlier RK SoCs. JTAG
|
|
functionality muxed to some SDMMC data pins causes issues with SDMMC
|
|
interface. Without this patch, I can only use SDMMC inteface
|
|
with bus-width = <1>. (JTAG is muxed to data pins D2 and D3)
|
|
|
|
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
|
---
|
|
drivers/soc/rockchip/grf.c | 14 ++++++++++++++
|
|
1 file changed, 14 insertions(+)
|
|
|
|
diff --git a/drivers/soc/rockchip/grf.c b/drivers/soc/rockchip/grf.c
|
|
index 15a3970e3509..d768c5a70174 100644
|
|
--- a/drivers/soc/rockchip/grf.c
|
|
+++ b/drivers/soc/rockchip/grf.c
|
|
@@ -121,6 +121,17 @@ static const struct rockchip_grf_info rk3566_pipegrf __initconst = {
|
|
.num_values = ARRAY_SIZE(rk3566_defaults),
|
|
};
|
|
|
|
+#define RK3588_GRF_SOC_CON6 0x0318
|
|
+
|
|
+static const struct rockchip_grf_value rk3588_defaults[] __initconst = {
|
|
+ { "jtag switching", RK3588_GRF_SOC_CON6, HIWORD_UPDATE(0, 1, 14) },
|
|
+};
|
|
+
|
|
+static const struct rockchip_grf_info rk3588_sysgrf __initconst = {
|
|
+ .values = rk3588_defaults,
|
|
+ .num_values = ARRAY_SIZE(rk3588_defaults),
|
|
+};
|
|
+
|
|
|
|
static const struct of_device_id rockchip_grf_dt_match[] __initconst = {
|
|
{
|
|
@@ -147,6 +158,9 @@ static const struct of_device_id rockchip_grf_dt_match[] __initconst = {
|
|
}, {
|
|
.compatible = "rockchip,rk3566-pipe-grf",
|
|
.data = (void *)&rk3566_pipegrf,
|
|
+ }, {
|
|
+ .compatible = "rockchip,rk3588-sys-grf",
|
|
+ .data = (void *)&rk3588_sysgrf,
|
|
},
|
|
{ /* sentinel */ },
|
|
};
|
|
--
|
|
2.34.1
|
|
|