[PATCH 02/30] clk: rockchip: rk3588: Use rockchip_sysreset_bind() helper

Jonas Karlman <[email protected]> Wed, 5 Aug 2026 17:44:33 +0000
Newsgroups gmane.comp.boot-loaders.u-boot
Message-ID <[email protected]>
Convert to use the rockchip_sysreset_bind() helper to bind the
rockchip_sysreset driver. Also fix the glb_srst_snd register name.

Signed-off-by: Jonas Karlman <[email protected]>
---
 .../arm/include/asm/arch-rockchip/cru_rk3588.h |  2 +-
 drivers/clk/rockchip/clk_rk3588.c              | 18 +++++-------------
 2 files changed, 6 insertions(+), 14 deletions(-)

diff --git a/arch/arm/include/asm/arch-rockchip/cru_rk3588.h b/arch/arm/include/asm/arch-rockchip/cru_rk3588.h
index 2723a0a36fb4..81169fae97c3 100644
--- a/arch/arm/include/asm/arch-rockchip/cru_rk3588.h
+++ b/arch/arm/include/asm/arch-rockchip/cru_rk3588.h
@@ -79,7 +79,7 @@ struct rk3588_cru {
 	unsigned int glb_cnt_th;/* Address Offset: 0x0c00 */
 	unsigned int glb_rst_st;/* Address Offset: 0x0c04 */
 	unsigned int glb_srst_fst;/* Address Offset: 0x0c08 */
-	unsigned int glb_srsr_snd; /* Address Offset: 0x0c0c */
+	unsigned int glb_srst_snd; /* Address Offset: 0x0c0c */
 	unsigned int glb_rst_con;/* Address Offset: 0x0c10 */
 	unsigned int reserved5[4];/* Address Offset: 0x0c14 */
 	unsigned int sdio_con[2];/* Address Offset: 0x0c24 */
diff --git a/drivers/clk/rockchip/clk_rk3588.c b/drivers/clk/rockchip/clk_rk3588.c
index 5313457aec92..08e3b2d98184 100644
--- a/drivers/clk/rockchip/clk_rk3588.c
+++ b/drivers/clk/rockchip/clk_rk3588.c
@@ -2001,26 +2001,18 @@ static int rk3588_clk_ofdata_to_platdata(struct udevice *dev)
 static int rk3588_clk_bind(struct udevice *dev)
 {
 	int ret;
-	struct udevice *sys_child;
-	struct sysreset_reg *priv;
 
 	/* Ensure clocks are initialized after bind in SPL build */
 	if (IS_ENABLED(CONFIG_SPL_BUILD))
 		dev_or_flags(dev, DM_FLAG_PROBE_AFTER_BIND);
 
 	/* The reset driver does not have a device node, so bind it here */
-	ret = device_bind_driver(dev, "rockchip_sysreset", "sysreset",
-				 &sys_child);
-	if (ret) {
+	ret = rockchip_sysreset_bind(dev, RK3588_CRU_BASE,
+				     offsetof(struct rk3588_cru, glb_rst_st),
+				     offsetof(struct rk3588_cru, glb_srst_fst),
+				     offsetof(struct rk3588_cru, glb_srst_snd));
+	if (ret)
 		debug("Warning: No sysreset driver: ret=%d\n", ret);
-	} else {
-		priv = malloc(sizeof(struct sysreset_reg));
-		priv->glb_srst_fst_value = offsetof(struct rk3588_cru,
-						    glb_srst_fst);
-		priv->glb_srst_snd_value = offsetof(struct rk3588_cru,
-						    glb_srsr_snd);
-		dev_set_priv(sys_child, priv);
-	}
 
 #if CONFIG_IS_ENABLED(RESET_ROCKCHIP)
 	ret = offsetof(struct rk3588_cru, softrst_con[0]);
-- 
2.54.0