Heiko,
On 2019/10/24 上午1:45, Heiko Stuebner wrote:
rockchip_reset_bind() already does the needed init for the reset
registers, only referenced the wrong cru structure.
So we can get rid of the open-coded reset init and just fix
the correct cru reference.
Signed-off-by: Heiko Stuebner <he...@sntech.de>
---
drivers/clk/rockchip/clk_rv1108.c | 13 +------------
1 file changed, 1 insertion(+), 12 deletions(-)
diff --git a/drivers/clk/rockchip/clk_rv1108.c
b/drivers/clk/rockchip/clk_rv1108.c
index 3ebb007fab..5dc31e1eb0 100644
--- a/drivers/clk/rockchip/clk_rv1108.c
+++ b/drivers/clk/rockchip/clk_rv1108.c
@@ -698,22 +698,11 @@ static int rv1108_clk_bind(struct udevice *dev)
}
#if CONFIG_IS_ENABLED(CONFIG_RESET_ROCKCHIP)
- ret = offsetof(struct rk3368_cru, softrst_con[0]);
+ ret = offsetof(struct rv1108_cru, softrst_con[0]);
ret = rockchip_reset_bind(dev, ret, 13);
if (ret)
debug("Warning: software reset driver bind faile\n");
#endif
- ret = device_bind_driver_to_node(dev, "rockchip_reset", "reset",
- dev_ofnode(dev), &sf_child);
You can't just remove this blob of code, for there is a 'sysreset'
driver and a 'reset' driver, they are
different, so you should fix this part to be available 'sysreset' driver
so that the software can reset the SoC.
Thanks,
- Kever
- if (ret) {
- debug("Warning: No rockchip reset driver: ret=%d\n", ret);
- } else {
- sf_priv = malloc(sizeof(struct softreset_reg));
- sf_priv->sf_reset_offset = offsetof(struct rv1108_cru,
- softrst_con[0]);
- sf_priv->sf_reset_num = 13;
- sf_child->priv = sf_priv;
- }
return 0;
}
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot