The RK3568 has a limited TPL size, so, we expect RK3568 to always use
OF_PLATDATA for its TPL stage.

Add support for the PMUGRF register region in syscon, which is necessary
for RK3568's DRAM controller initialization.

Signed-off-by: Pavel Golikov <[email protected]>
---
 arch/arm/mach-rockchip/rk3568/syscon_rk3568.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/arch/arm/mach-rockchip/rk3568/syscon_rk3568.c 
b/arch/arm/mach-rockchip/rk3568/syscon_rk3568.c
index 255259eabfd..b9d59a4721e 100644
--- a/arch/arm/mach-rockchip/rk3568/syscon_rk3568.c
+++ b/arch/arm/mach-rockchip/rk3568/syscon_rk3568.c
@@ -21,3 +21,20 @@ U_BOOT_DRIVER(syscon_rk3568) = {
        .bind = dm_scan_fdt_dev,
 #endif
 };
+
+#if CONFIG_IS_ENABLED(OF_PLATDATA)
+static int rk3568_syscon_bind_of_plat(struct udevice *dev)
+{
+       dev->driver_data = dev->driver->of_match->data;
+       debug("syscon: %s %d\n", dev->name, (uint)dev->driver_data);
+
+       return 0;
+}
+
+U_BOOT_DRIVER(rockchip_rk3568_pmugrf) = {
+       .name = "rockchip_rk3568_pmugrf",
+       .id = UCLASS_SYSCON,
+       .of_match = rk3568_syscon_ids + 1,
+       .bind = rk3568_syscon_bind_of_plat,
+};
+#endif

-- 
2.25.1

Reply via email to