Only LPDDR4 initialization is confirmed to be working for now.

Signed-off-by: Pavel Golikov <[email protected]>
---
 arch/arm/mach-rockchip/Kconfig        | 28 +++++++++++++++++++++++++++-
 arch/arm/mach-rockchip/rk3568/Kconfig | 16 ++++++++++++++++
 common/spl/Kconfig.tpl                |  1 +
 configs/generic-rk3568_defconfig      |  1 +
 4 files changed, 45 insertions(+), 1 deletion(-)

diff --git a/arch/arm/mach-rockchip/Kconfig b/arch/arm/mach-rockchip/Kconfig
index 108713488af..9a6a580025e 100644
--- a/arch/arm/mach-rockchip/Kconfig
+++ b/arch/arm/mach-rockchip/Kconfig
@@ -413,11 +413,15 @@ config ROCKCHIP_RK3528
 config ROCKCHIP_RK3568
        bool "Support Rockchip RK3568"
        select ARM64
+       select SUPPORT_TPL
+       select TPL_HAVE_INIT_STACK if TPL
+       select TPL_ROCKCHIP_BACK_TO_BROM if TPL
        select SUPPORT_SPL
        select SPL
        select CLK
        select PINCTRL
        select RAM
+       select ROCKCHIP_SDRAM_COMMON
        select REGMAP
        select SYSCON
        select BOARD_LATE_INIT
@@ -433,10 +437,32 @@ config ROCKCHIP_RK3568
        imply RNG_ROCKCHIP
        imply ROCKCHIP_COMMON_BOARD
        imply ROCKCHIP_COMMON_STACK_ADDR
-       imply ROCKCHIP_EXTERNAL_TPL
        imply ROCKCHIP_OTP
+       imply ROCKCHIP_SERIAL if !ROCKCHIP_EXTERNAL_TPL
        imply SPL_ATF_NO_PLATFORM_PARAM if SPL_ATF
        imply SPL_MMC_HS200_SUPPORT if SPL_MMC && MMC_HS200_SUPPORT
+       imply TPL if !ROCKCHIP_EXTERNAL_TPL
+       imply TPL_CLK
+       imply TPL_DM
+       imply TPL_LIBCOMMON_SUPPORT
+       imply TPL_LIBGENERIC_SUPPORT
+       imply TPL_OF_CONTROL
+       imply TPL_OF_PLATDATA
+       imply TPL_RAM
+       imply TPL_ROCKCHIP_COMMON_BOARD
+       imply TPL_SERIAL
+       imply TPL_SYSCON
+       imply SPL_CLK
+       imply SPL_DM
+       imply SPL_DRIVERS_MISC
+       imply SPL_LIBCOMMON_SUPPORT
+       imply SPL_LIBGENERIC_SUPPORT
+       imply SPL_OF_CONTROL
+       imply SPL_RAM
+       imply SPL_REGMAP
+       imply SPL_ROCKCHIP_COMMON_BOARD
+       imply SPL_SERIAL
+       imply SPL_SYSCON
        help
          The Rockchip RK3568 is a ARM-based SoC with quad-core Cortex-A55,
          including NEON and GPU, 512K L3 cache, Mali-G52 based graphics,
diff --git a/arch/arm/mach-rockchip/rk3568/Kconfig 
b/arch/arm/mach-rockchip/rk3568/Kconfig
index 2730220a18e..893185291d8 100644
--- a/arch/arm/mach-rockchip/rk3568/Kconfig
+++ b/arch/arm/mach-rockchip/rk3568/Kconfig
@@ -61,6 +61,10 @@ config TARGET_ORANGEPI_3B_RK3566
 
 endchoice
 
+config SOC_SPECIFIC_OPTIONS # dummy
+       def_bool y
+       select HAS_CUSTOM_SYS_INIT_SP_ADDR
+
 config ROCKCHIP_BOOT_MODE_REG
        default 0xfdc20200
 
@@ -70,6 +74,18 @@ config ROCKCHIP_STIMER_BASE
 config SYS_SOC
        default "rk3568"
 
+config TPL_LDSCRIPT
+       default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
+
+config TPL_STACK
+       default 0xfdcd8000
+
+config TPL_SYS_MALLOC_F_LEN
+       default 0x2000
+
+config TPL_TEXT_BASE
+       default 0xfdcc1000
+
 source "board/rockchip/evb_rk3568/Kconfig"
 source "board/anbernic/rgxx3_rk3566/Kconfig"
 source "board/hardkernel/odroid_m1/Kconfig"
diff --git a/common/spl/Kconfig.tpl b/common/spl/Kconfig.tpl
index a535b61ecd3..e64316b8eb3 100644
--- a/common/spl/Kconfig.tpl
+++ b/common/spl/Kconfig.tpl
@@ -127,6 +127,7 @@ config TPL_TEXT_BASE
 config TPL_MAX_SIZE
        hex "Maximum size (in bytes) for the TPL stage"
        default 0x2e000 if ROCKCHIP_RK3399
+       default 0xe800 if ROCKCHIP_RK3568
        default 0x8000 if ROCKCHIP_RK3288 || ROCKCHIP_RV1126
        default 0x7000 if ROCKCHIP_RK322X || ROCKCHIP_RK3328 || ROCKCHIP_RK3368
        default 0x2800 if ROCKCHIP_PX30
diff --git a/configs/generic-rk3568_defconfig b/configs/generic-rk3568_defconfig
index a33c3af9255..4510fa94775 100644
--- a/configs/generic-rk3568_defconfig
+++ b/configs/generic-rk3568_defconfig
@@ -81,3 +81,4 @@ CONFIG_USB_GADGET=y
 CONFIG_USB_GADGET_DOWNLOAD=y
 CONFIG_USB_FUNCTION_ROCKUSB=y
 CONFIG_ERRNO_STR=y
+CONFIG_RAM_ROCKCHIP_LPDDR4=y

-- 
2.25.1

Reply via email to