[RFC PATCH v1 14/14] arm: rockchip: rk3576: enable TPL DRAM init in Kconfig and defconfig
Johan Axelsson
johan.axelsson at proton.me
Mon May 25 03:29:59 CEST 2026
Wire up the BLOB-free TPL DRAM init for RK3576:
Kconfig (arch/arm/mach-rockchip/Kconfig):
Add 11 imply lines to ROCKCHIP_RK3576 to pull in the necessary
TPL subsystems: TPL_CLK, TPL_DM, TPL_OF_CONTROL, TPL_OF_PLATDATA,
TPL_RAM, TPL_REGMAP, TPL_ROCKCHIP_COMMON_BOARD, TPL_SERIAL,
TPL_SYSCON, TPL_TINY_MEMSET, ROCKCHIP_SDRAM_COMMON.
Kconfig (arch/arm/mach-rockchip/rk3576/Kconfig):
Set TPL_TEXT_BASE = 0x3ff82000. This is the start of the SRAM
region available for TPL between the boost stub (0x3ff81000) and
the SPL load address (0x3ffc0000), giving ~248 KB.
Kconfig (drivers/ram/rockchip/Kconfig):
Add RAM_ROCKCHIP_LPDDR5 config option, required for RK3576 boards
with LPDDR5 memory.
defconfig (configs/sige5-rk3576_defconfig):
- Disable ROCKCHIP_EXTERNAL_TPL (use our open-source TPL instead)
- Enable CONFIG_TPL=y
- Enable CONFIG_RAM_ROCKCHIP_LPDDR5=y for the Sige5 board
Signed-off-by: Johan Axelsson <johan.axelsson at proton.me>
---
arch/arm/mach-rockchip/Kconfig | 11 +++++++++++
arch/arm/mach-rockchip/rk3576/Kconfig | 3 +++
configs/sige5-rk3576_defconfig | 3 +++
drivers/ram/rockchip/Kconfig | 7 +++++++
4 files changed, 24 insertions(+)
diff --git a/arch/arm/mach-rockchip/Kconfig b/arch/arm/mach-rockchip/Kconfig
index 108713488af..3f76bf7a92a 100644
--- a/arch/arm/mach-rockchip/Kconfig
+++ b/arch/arm/mach-rockchip/Kconfig
@@ -488,6 +488,17 @@ config ROCKCHIP_RK3576
imply SPL_REGMAP
imply SPL_SERIAL
imply SPL_SYSCON
+ imply ROCKCHIP_SDRAM_COMMON
+ imply TPL_CLK
+ imply TPL_DM
+ imply TPL_OF_CONTROL
+ imply TPL_OF_PLATDATA
+ imply TPL_RAM
+ imply TPL_REGMAP
+ imply TPL_ROCKCHIP_COMMON_BOARD
+ imply TPL_SERIAL
+ imply TPL_SYSCON
+ imply TPL_TINY_MEMSET
imply ENV_RELOC_GD_ENV_ADDR
imply SYSRESET
help
diff --git a/arch/arm/mach-rockchip/rk3576/Kconfig b/arch/arm/mach-rockchip/rk3576/Kconfig
index f347caf8904..58f1eb9fcd6 100644
--- a/arch/arm/mach-rockchip/rk3576/Kconfig
+++ b/arch/arm/mach-rockchip/rk3576/Kconfig
@@ -1,5 +1,8 @@
if ROCKCHIP_RK3576
+config TPL_TEXT_BASE
+ default 0x3ff82000
+
config TARGET_ROC_PC_RK3576
bool "Firefly ROC-RK3576-PC"
help
diff --git a/configs/sige5-rk3576_defconfig b/configs/sige5-rk3576_defconfig
index be46f63798b..38148ccab09 100644
--- a/configs/sige5-rk3576_defconfig
+++ b/configs/sige5-rk3576_defconfig
@@ -4,6 +4,9 @@ CONFIG_COUNTER_FREQUENCY=24000000
CONFIG_ARCH_ROCKCHIP=y
CONFIG_DEFAULT_DEVICE_TREE="rockchip/rk3576-armsom-sige5"
CONFIG_ROCKCHIP_RK3576=y
+# CONFIG_ROCKCHIP_EXTERNAL_TPL is not set
+CONFIG_TPL=y
+CONFIG_RAM_ROCKCHIP_LPDDR5=y
CONFIG_SYS_LOAD_ADDR=0x40c00800
CONFIG_DEBUG_UART_BASE=0x2AD40000
CONFIG_DEBUG_UART_CLOCK=24000000
diff --git a/drivers/ram/rockchip/Kconfig b/drivers/ram/rockchip/Kconfig
index d707d09c1c8..51740ed1d12 100644
--- a/drivers/ram/rockchip/Kconfig
+++ b/drivers/ram/rockchip/Kconfig
@@ -48,4 +48,11 @@ config RAM_ROCKCHIP_LPDDR4
This enables LPDDR4 sdram code support for the platforms based
on Rockchip SoCs.
+config RAM_ROCKCHIP_LPDDR5
+ bool "LPDDR5 support for Rockchip SoCs"
+ help
+ This enables LPDDR5 sdram code support for the platforms based
+ on Rockchip SoCs. Required for RK3576 boards with LPDDR5 memory
+ (e.g. Flipper One with 8 GB LPDDR5).
+
endif # RAM_ROCKCHIP
--
2.45.1.windows.1
More information about the U-Boot
mailing list