From d411f0973aa62ce426f901594367f9344261446d Mon Sep 17 00:00:00 2001
From: Dave Gerlach <d-gerlach@ti.com>
Date: Tue, 4 May 2021 18:00:53 -0500
Subject: [PATCH] arm: mach-k3: am642: Add support for triggering ddr init from
 SPL

In SPL, DDR should be made available by the end of board_init_f()
so that apis in board_init_r() can use ddr. Adding support for
triggering DDR initialization from board_init_f().

Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
---
 arch/arm/mach-k3/am642_init.c | 6 ++++++
 board/ti/am64x/Kconfig        | 3 +++
 2 files changed, 9 insertions(+)

diff --git a/arch/arm/mach-k3/am642_init.c b/arch/arm/mach-k3/am642_init.c
index 2b58a9f94c..2a38b843d9 100644
--- a/arch/arm/mach-k3/am642_init.c
+++ b/arch/arm/mach-k3/am642_init.c
@@ -131,6 +131,12 @@ void board_init_f(ulong dummy)
 
 	/* Output System Firmware version info */
 	k3_sysfw_print_ver();
+
+#if defined(CONFIG_K3_AM64_DDRSS)
+	ret = uclass_get_device(UCLASS_RAM, 0, &dev);
+	if (ret)
+		panic("DRAM init failed: %d\n", ret);
+#endif
 }
 
 u32 spl_boot_mode(const u32 boot_device)
diff --git a/board/ti/am64x/Kconfig b/board/ti/am64x/Kconfig
index 57527be1df..3dd5b54c94 100644
--- a/board/ti/am64x/Kconfig
+++ b/board/ti/am64x/Kconfig
@@ -19,6 +19,9 @@ config TARGET_AM642_R5_EVM
 	select SYS_THUMB_BUILD
 	select K3_LOAD_SYSFW
 	select SOC_K3_AM642
+	select RAM
+	select SPL_RAM
+	select K3_DDRSS
 	imply SYS_K3_SPL_ATF
 
 endchoice
-- 
2.39.5