mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-16 04:13:31 +00:00
74 lines
2.5 KiB
Diff
74 lines
2.5 KiB
Diff
From e1aaecacfa135cd264a0db331d3ab8b2a04a54a3 Mon Sep 17 00:00:00 2001
|
|
From: Detlev Casanova <detlev.casanova@collabora.com>
|
|
Date: Thu, 22 Aug 2024 15:53:37 -0400
|
|
Subject: [PATCH] soc: rockchip: grf: Add rk3576 default GRF values
|
|
|
|
Set SW controlled i3c weak pull up and disable JTAG function on SDMMC IO.
|
|
|
|
The i3c weak pull up is activated to let all gpio banks be controlled
|
|
by the pinctrl driver.
|
|
|
|
Disabling the JTAG function lets the SDMMC core use its full IO width.
|
|
|
|
Signed-off-by: Detlev Casanova <detlev.casanova@collabora.com>
|
|
Acked-by: Dragan Simic <dsimic@manjaro.org>
|
|
Link: https://lore.kernel.org/r/20240822195706.920567-3-detlev.casanova@collabora.com
|
|
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
|
|
---
|
|
drivers/soc/rockchip/grf.c | 30 +++++++++++++++++++++++++++++-
|
|
1 file changed, 29 insertions(+), 1 deletion(-)
|
|
|
|
--- a/drivers/soc/rockchip/grf.c
|
|
+++ b/drivers/soc/rockchip/grf.c
|
|
@@ -121,6 +121,29 @@ static const struct rockchip_grf_info rk
|
|
.num_values = ARRAY_SIZE(rk3566_defaults),
|
|
};
|
|
|
|
+#define RK3576_SYSGRF_SOC_CON1 0x0004
|
|
+
|
|
+static const struct rockchip_grf_value rk3576_defaults_sys_grf[] __initconst = {
|
|
+ { "i3c0 weakpull", RK3576_SYSGRF_SOC_CON1, HIWORD_UPDATE(3, 3, 6) },
|
|
+ { "i3c1 weakpull", RK3576_SYSGRF_SOC_CON1, HIWORD_UPDATE(3, 3, 8) },
|
|
+};
|
|
+
|
|
+static const struct rockchip_grf_info rk3576_sysgrf __initconst = {
|
|
+ .values = rk3576_defaults_sys_grf,
|
|
+ .num_values = ARRAY_SIZE(rk3576_defaults_sys_grf),
|
|
+};
|
|
+
|
|
+#define RK3576_IOCGRF_MISC_CON 0x04F0
|
|
+
|
|
+static const struct rockchip_grf_value rk3576_defaults_ioc_grf[] __initconst = {
|
|
+ { "jtag switching", RK3576_IOCGRF_MISC_CON, HIWORD_UPDATE(0, 1, 1) },
|
|
+};
|
|
+
|
|
+static const struct rockchip_grf_info rk3576_iocgrf __initconst = {
|
|
+ .values = rk3576_defaults_ioc_grf,
|
|
+ .num_values = ARRAY_SIZE(rk3576_defaults_ioc_grf),
|
|
+};
|
|
+
|
|
#define RK3588_GRF_SOC_CON6 0x0318
|
|
|
|
static const struct rockchip_grf_value rk3588_defaults[] __initconst = {
|
|
@@ -132,7 +155,6 @@ static const struct rockchip_grf_info rk
|
|
.num_values = ARRAY_SIZE(rk3588_defaults),
|
|
};
|
|
|
|
-
|
|
static const struct of_device_id rockchip_grf_dt_match[] __initconst = {
|
|
{
|
|
.compatible = "rockchip,rk3036-grf",
|
|
@@ -159,6 +181,12 @@ static const struct of_device_id rockchi
|
|
.compatible = "rockchip,rk3566-pipe-grf",
|
|
.data = (void *)&rk3566_pipegrf,
|
|
}, {
|
|
+ .compatible = "rockchip,rk3576-sys-grf",
|
|
+ .data = (void *)&rk3576_sysgrf,
|
|
+ }, {
|
|
+ .compatible = "rockchip,rk3576-ioc-grf",
|
|
+ .data = (void *)&rk3576_iocgrf,
|
|
+ }, {
|
|
.compatible = "rockchip,rk3588-sys-grf",
|
|
.data = (void *)&rk3588_sysgrf,
|
|
},
|