From: Suman Anna <s-a...@ti.com>

Add basic support for AM62 SK. This has 2GB DDR.
Note that stack for R5 SPL is in OCRAM @ 0x7000ffff so that is away from
BSS and does not step on BSS section

Add only the bare minimum required to support UART and SD.

Signed-off-by: Suman Anna <s-a...@ti.com>
Signed-off-by: Aswath Govindraju <a-govindr...@ti.com>
Signed-off-by: Nishanth Menon <n...@ti.com>
Signed-off-by: Vignesh Raghavendra <vigne...@ti.com>
---
 arch/arm/mach-k3/Kconfig |  1 +
 board/ti/am62x/Kconfig   | 59 ++++++++++++++++++++++++++++++++++++++++
 board/ti/am62x/Makefile  |  8 ++++++
 board/ti/am62x/evm.c     | 39 ++++++++++++++++++++++++++
 4 files changed, 107 insertions(+)
 create mode 100644 board/ti/am62x/Kconfig
 create mode 100644 board/ti/am62x/Makefile
 create mode 100644 board/ti/am62x/evm.c

diff --git a/arch/arm/mach-k3/Kconfig b/arch/arm/mach-k3/Kconfig
index 0dc4f44fdd..57f693e9a1 100644
--- a/arch/arm/mach-k3/Kconfig
+++ b/arch/arm/mach-k3/Kconfig
@@ -178,6 +178,7 @@ config K3_DM_FW
 
 source "board/ti/am65x/Kconfig"
 source "board/ti/am64x/Kconfig"
+source "board/ti/am62x/Kconfig"
 source "board/ti/j721e/Kconfig"
 source "board/siemens/iot2050/Kconfig"
 source "board/ti/j721s2/Kconfig"
diff --git a/board/ti/am62x/Kconfig b/board/ti/am62x/Kconfig
new file mode 100644
index 0000000000..87fed44df1
--- /dev/null
+++ b/board/ti/am62x/Kconfig
@@ -0,0 +1,59 @@
+# SPDX-License-Identifier: GPL-2.0+
+#
+# Copyright (C) 2020-2022 Texas Instruments Incorporated - https://www.ti.com/
+#      Suman Anna <s-a...@ti.com>
+
+choice
+       prompt "TI K3 AM62x based boards"
+       optional
+
+config TARGET_AM625_A53_EVM
+       bool "TI K3 based AM625 EVM running on A53"
+       select ARM64
+       select SOC_K3_AM625
+
+config TARGET_AM625_R5_EVM
+       bool "TI K3 based AM625 EVM running on R5"
+       select CPU_V7R
+       select SYS_THUMB_BUILD
+       select K3_LOAD_SYSFW
+       select SOC_K3_AM625
+       select RAM
+       select SPL_RAM
+       select K3_DDRSS
+       imply SYS_K3_SPL_ATF
+
+endchoice
+
+if TARGET_AM625_A53_EVM
+
+config SYS_BOARD
+       default "am62x"
+
+config SYS_VENDOR
+       default "ti"
+
+config SYS_CONFIG_NAME
+       default "am62x_evm"
+
+source "board/ti/common/Kconfig"
+
+endif
+
+if TARGET_AM625_R5_EVM
+
+config SYS_BOARD
+       default "am62x"
+
+config SYS_VENDOR
+       default "ti"
+
+config SYS_CONFIG_NAME
+       default "am62x_evm"
+
+config SPL_LDSCRIPT
+       default "arch/arm/mach-omap2/u-boot-spl.lds"
+
+source "board/ti/common/Kconfig"
+
+endif
diff --git a/board/ti/am62x/Makefile b/board/ti/am62x/Makefile
new file mode 100644
index 0000000000..f4c35edffa
--- /dev/null
+++ b/board/ti/am62x/Makefile
@@ -0,0 +1,8 @@
+#
+# Copyright (C) 2020-2022 Texas Instruments Incorporated - https://www.ti.com/
+#      Suman Anna <s-a...@ti.com>
+#
+# SPDX-License-Identifier:     GPL-2.0+
+#
+
+obj-y  += evm.o
diff --git a/board/ti/am62x/evm.c b/board/ti/am62x/evm.c
new file mode 100644
index 0000000000..4dd5e64299
--- /dev/null
+++ b/board/ti/am62x/evm.c
@@ -0,0 +1,39 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Board specific initialization for AM62x platforms
+ *
+ * Copyright (C) 2020-2022 Texas Instruments Incorporated - https://www.ti.com/
+ *     Suman Anna <s-a...@ti.com>
+ *
+ */
+
+#include <asm/io.h>
+#include <spl.h>
+#include <fdt_support.h>
+#include <asm/arch/hardware.h>
+#include <asm/arch/sys_proto.h>
+#include <env.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+int board_init(void)
+{
+       return 0;
+}
+
+int dram_init(void)
+{
+       gd->ram_size = 0x80000000;
+
+       return 0;
+}
+
+int dram_init_banksize(void)
+{
+       /* Bank 0 declares the memory available in the DDR low region */
+       gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE;
+       gd->bd->bi_dram[0].size = 0x80000000;
+       gd->ram_size = 0x80000000;
+
+       return 0;
+}
-- 
2.36.1

Reply via email to