Add initial support for AM62D2-EVM
Add initial support for AM62D2-EVM, Kconfig entries for binman, SPL, base DTS files for u-boot and SPL, HS-SE and HS-FS support and initial configs with SD-MMC, UART, eMMC and OSPI boot providing a baseline for further enablement. Also add labels and targets to AM62A-SK binman to enable AM62D2-EVM builds to reuse existing binman infrastructure. Technical Reference Manual - https://www.ti.com/lit/pdf/sprujd4 Schematics Link - https://www.ti.com/lit/zip/sprcal5 Signed-off-by: Paresh Bhagat <p-bhagat@ti.com>
This commit is contained in:
@@ -1109,6 +1109,8 @@ dtb-$(CONFIG_SOC_K3_AM62A7) += \
|
||||
k3-am62a7-r5-sk.dtb \
|
||||
k3-am62a7-r5-phycore-som-2gb.dtb
|
||||
|
||||
dtb-$(CONFIG_SOC_K3_AM62D2) += k3-am62d2-r5-evm.dtb
|
||||
|
||||
dtb-$(CONFIG_SOC_K3_AM62P5) += k3-am62p5-r5-sk.dtb \
|
||||
k3-am62p5-verdin-r5.dtb \
|
||||
k3-am62p5-verdin-wifi-dev.dtb
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
#include "k3-binman.dtsi"
|
||||
|
||||
#ifdef CONFIG_TARGET_AM62A7_R5_EVM
|
||||
#if defined(CONFIG_TARGET_AM62A7_R5_EVM) || defined(CONFIG_TARGET_AM62D2_R5_EVM)
|
||||
|
||||
&rcfg_yaml_tifs {
|
||||
config = "tifs-rm-cfg.yaml";
|
||||
@@ -100,7 +100,7 @@
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_TARGET_AM62A7_A53_EVM
|
||||
#if defined(CONFIG_TARGET_AM62A7_A53_EVM) || defined(CONFIG_TARGET_AM62D2_A53_EVM)
|
||||
|
||||
#define SPL_AM62A7_SK_DTB "spl/dts/ti/k3-am62a7-sk.dtb"
|
||||
#define AM62A7_SK_DTB "u-boot.dtb"
|
||||
@@ -185,7 +185,7 @@
|
||||
};
|
||||
};
|
||||
|
||||
fdt-0 {
|
||||
ti_spl_fdt_0: fdt-0 {
|
||||
description = "k3-am62a7-sk";
|
||||
type = "flat_dt";
|
||||
arch = "arm";
|
||||
@@ -205,7 +205,7 @@
|
||||
configurations {
|
||||
default = "conf-0";
|
||||
|
||||
conf-0 {
|
||||
ti_spl_conf_0: conf-0 {
|
||||
description = "k3-am62a7-sk";
|
||||
firmware = "atf";
|
||||
loadables = "tee", "dm", "spl",
|
||||
@@ -227,7 +227,7 @@
|
||||
description = "U-Boot for AM62Ax Board";
|
||||
};
|
||||
|
||||
fdt-0 {
|
||||
u_boot_fdt_0: fdt-0 {
|
||||
description = "k3-am62a7-sk";
|
||||
type = "flat_dt";
|
||||
arch = "arm";
|
||||
@@ -248,7 +248,7 @@
|
||||
configurations {
|
||||
default = "conf-0";
|
||||
|
||||
conf-0 {
|
||||
u_boot_conf_0: conf-0 {
|
||||
description = "k3-am62a7-sk";
|
||||
firmware = "uboot";
|
||||
loadables = "uboot";
|
||||
|
||||
2802
arch/arm/dts/k3-am62d-ddr-1866mhz-32bit.dtsi
Normal file
2802
arch/arm/dts/k3-am62d-ddr-1866mhz-32bit.dtsi
Normal file
File diff suppressed because it is too large
Load Diff
104
arch/arm/dts/k3-am62d-evm-binman.dtsi
Normal file
104
arch/arm/dts/k3-am62d-evm-binman.dtsi
Normal file
@@ -0,0 +1,104 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Copyright (C) 2024-2025 Texas Instruments Incorporated - https://www.ti.com/
|
||||
*/
|
||||
|
||||
#include "k3-binman.dtsi"
|
||||
#include "k3-am62a-sk-binman.dtsi"
|
||||
|
||||
#ifdef CONFIG_TARGET_AM62D2_R5_EVM
|
||||
|
||||
&bcfg_yaml {
|
||||
config = "board/ti/am62ax/board-cfg.yaml";
|
||||
};
|
||||
|
||||
&rcfg_yaml {
|
||||
config = "board/ti/am62ax/rm-cfg.yaml";
|
||||
};
|
||||
|
||||
&scfg_yaml {
|
||||
config = "board/ti/am62ax/sec-cfg.yaml";
|
||||
};
|
||||
|
||||
&pcfg_yaml {
|
||||
config = "board/ti/am62ax/pm-cfg.yaml";
|
||||
};
|
||||
|
||||
&bcfg_yaml_tifs {
|
||||
config = "board/ti/am62ax/board-cfg.yaml";
|
||||
};
|
||||
|
||||
&scfg_yaml_tifs {
|
||||
config = "board/ti/am62ax/sec-cfg.yaml";
|
||||
};
|
||||
|
||||
&pcfg_yaml_tifs {
|
||||
config = "board/ti/am62ax/pm-cfg.yaml";
|
||||
};
|
||||
|
||||
&rcfg_yaml_tifs {
|
||||
config = "board/ti/am62ax/tifs-rm-cfg.yaml";
|
||||
};
|
||||
|
||||
&pcfg_yaml_dm {
|
||||
config = "board/ti/am62ax/pm-cfg.yaml";
|
||||
};
|
||||
|
||||
&rcfg_yaml_dm {
|
||||
config = "board/ti/am62ax/rm-cfg.yaml";
|
||||
};
|
||||
|
||||
&bcfg_yaml_sysfw {
|
||||
config = "board/ti/am62ax/board-cfg.yaml";
|
||||
};
|
||||
|
||||
&scfg_yaml_sysfw {
|
||||
config = "board/ti/am62ax/sec-cfg.yaml";
|
||||
};
|
||||
|
||||
&pcfg_yaml_sysfw {
|
||||
config = "board/ti/am62ax/pm-cfg.yaml";
|
||||
};
|
||||
|
||||
&rcfg_yaml_sysfw {
|
||||
config = "board/ti/am62ax/rm-cfg.yaml";
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_TARGET_AM62D2_A53_EVM
|
||||
|
||||
&ti_spl_fdt_0 {
|
||||
description = "k3-am62d2-evm";
|
||||
|
||||
ti-secure {
|
||||
content = <&spl_am62a7_sk_dtb>;
|
||||
keyfile = "custMpk.pem";
|
||||
};
|
||||
|
||||
spl_am62d2_evm_dtb: blob-ext {
|
||||
filename = "spl/dts/ti/k3-am62d2-evm.dtb";
|
||||
};
|
||||
};
|
||||
|
||||
&ti_spl_conf_0 {
|
||||
description = "k3-am62d2-evm";
|
||||
};
|
||||
|
||||
&u_boot_fdt_0 {
|
||||
description = "k3-am62d2-evm";
|
||||
|
||||
ti-secure {
|
||||
content = <&am62d2_evm_dtb>;
|
||||
keyfile = "custMpk.pem";
|
||||
};
|
||||
am62d2_evm_dtb: blob-ext {
|
||||
filename = AM62A7_SK_DTB;
|
||||
};
|
||||
};
|
||||
|
||||
&u_boot_conf_0 {
|
||||
description = "k3-am62d2-evm";
|
||||
};
|
||||
|
||||
#endif
|
||||
13
arch/arm/dts/k3-am62d2-evm-u-boot.dtsi
Normal file
13
arch/arm/dts/k3-am62d2-evm-u-boot.dtsi
Normal file
@@ -0,0 +1,13 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Common AM62D EVM dts file for SPLs
|
||||
* Copyright (C) 2025 Texas Instruments Incorporated - https://www.ti.com/
|
||||
*/
|
||||
|
||||
#include "k3-am62d-evm-binman.dtsi"
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
stdout-path = "serial2:115200n8";
|
||||
};
|
||||
};
|
||||
82
arch/arm/dts/k3-am62d2-r5-evm.dts
Normal file
82
arch/arm/dts/k3-am62d2-r5-evm.dts
Normal file
@@ -0,0 +1,82 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* AM62D2 EVM dts file for R5 SPL
|
||||
* Copyright (C) 2025 Texas Instruments Incorporated - https://www.ti.com/
|
||||
*/
|
||||
|
||||
#include "k3-am62d2-evm.dts"
|
||||
#include "k3-am62d-ddr-1866mhz-32bit.dtsi"
|
||||
#include "k3-am62a-ddr.dtsi"
|
||||
|
||||
#include "k3-am62d2-evm-u-boot.dtsi"
|
||||
|
||||
/ {
|
||||
aliases {
|
||||
tick-timer = &main_timer0;
|
||||
remoteproc0 = &sysctrler;
|
||||
remoteproc1 = &a53_0;
|
||||
};
|
||||
|
||||
a53_0: a53@0 {
|
||||
compatible = "ti,am654-rproc";
|
||||
reg = <0x00 0x00a90000 0x00 0x10>;
|
||||
power-domains = <&k3_pds 61 TI_SCI_PD_EXCLUSIVE>,
|
||||
<&k3_pds 135 TI_SCI_PD_EXCLUSIVE>,
|
||||
<&k3_pds 166 TI_SCI_PD_EXCLUSIVE>;
|
||||
resets = <&k3_reset 135 0>;
|
||||
clocks = <&k3_clks 61 0>, <&k3_clks 135 0>;
|
||||
clock-names = "gtc", "core";
|
||||
assigned-clocks = <&k3_clks 61 0>, <&k3_clks 135 0>;
|
||||
assigned-clock-parents = <&k3_clks 61 2>;
|
||||
assigned-clock-rates = <200000000>, <1200000000>;
|
||||
ti,sci = <&dmsc>;
|
||||
ti,sci-proc-id = <32>;
|
||||
ti,sci-host-id = <10>;
|
||||
bootph-pre-ram;
|
||||
};
|
||||
|
||||
dm_tifs: dm-tifs {
|
||||
compatible = "ti,j721e-dm-sci";
|
||||
ti,host-id = <36>;
|
||||
ti,secure-host;
|
||||
mbox-names = "rx", "tx";
|
||||
mboxes= <&secure_proxy_main 22>,
|
||||
<&secure_proxy_main 23>;
|
||||
bootph-pre-ram;
|
||||
};
|
||||
};
|
||||
|
||||
&dmsc {
|
||||
mboxes= <&secure_proxy_main 0>,
|
||||
<&secure_proxy_main 1>,
|
||||
<&secure_proxy_main 0>;
|
||||
mbox-names = "rx", "tx", "notify";
|
||||
ti,host-id = <35>;
|
||||
ti,secure-host;
|
||||
};
|
||||
|
||||
&secure_proxy_sa3 {
|
||||
/* Needed for initial handshake with ROM */
|
||||
status = "okay";
|
||||
bootph-pre-ram;
|
||||
};
|
||||
|
||||
&cbass_main {
|
||||
sysctrler: sysctrler {
|
||||
compatible = "ti,am654-tisci-rproc-r5";
|
||||
mboxes= <&secure_proxy_main 1>,
|
||||
<&secure_proxy_main 0>,
|
||||
<&secure_proxy_sa3 0>;
|
||||
mbox-names = "tx", "rx", "boot_notify";
|
||||
bootph-pre-ram;
|
||||
};
|
||||
};
|
||||
|
||||
&main_timer0 {
|
||||
/delete-property/ clocks;
|
||||
/delete-property/ clocks-names;
|
||||
/delete-property/ assigned-clocks;
|
||||
/delete-property/ assigned-clock-parents;
|
||||
clock-frequency = <25000000>;
|
||||
bootph-pre-ram;
|
||||
};
|
||||
@@ -50,9 +50,30 @@ config TARGET_PHYCORE_AM62AX_R5
|
||||
select BINMAN
|
||||
imply SYS_K3_SPL_ATF
|
||||
|
||||
config TARGET_AM62D2_A53_EVM
|
||||
bool "TI K3 based AM62D2 EVM running on A53"
|
||||
select ARM64
|
||||
select BINMAN
|
||||
imply BOARD
|
||||
imply SPL_BOARD
|
||||
imply TI_I2C_BOARD_DETECT
|
||||
|
||||
config TARGET_AM62D2_R5_EVM
|
||||
bool "TI K3 based AM62D2 EVM running on R5"
|
||||
select CPU_V7R
|
||||
select SYS_THUMB_BUILD
|
||||
select K3_LOAD_SYSFW
|
||||
select RAM
|
||||
select SPL_RAM
|
||||
select K3_DDRSS
|
||||
select BINMAN
|
||||
imply SYS_K3_SPL_ATF
|
||||
imply TI_I2C_BOARD_DETECT
|
||||
|
||||
endchoice
|
||||
|
||||
source "board/ti/am62ax/Kconfig"
|
||||
source "board/phytec/phycore_am62ax/Kconfig"
|
||||
source "board/ti/am62dx/Kconfig"
|
||||
|
||||
endif
|
||||
|
||||
26
board/ti/am62dx/Kconfig
Normal file
26
board/ti/am62dx/Kconfig
Normal file
@@ -0,0 +1,26 @@
|
||||
# SPDX-License-Identifier: GPL-2.0+
|
||||
#
|
||||
# Copyright (C) 2025 Texas Instruments Incorporated - https://www.ti.com/
|
||||
#
|
||||
|
||||
if TARGET_AM62D2_R5_EVM || TARGET_AM62D2_A53_EVM
|
||||
|
||||
config SYS_BOARD
|
||||
default "am62dx"
|
||||
|
||||
config SYS_VENDOR
|
||||
default "ti"
|
||||
|
||||
config SYS_CONFIG_NAME
|
||||
default "am62ax_evm"
|
||||
|
||||
source "board/ti/common/Kconfig"
|
||||
|
||||
endif
|
||||
|
||||
if TARGET_AM62D2_R5_EVM
|
||||
|
||||
config SPL_LDSCRIPT
|
||||
default "arch/arm/mach-omap2/u-boot-spl.lds"
|
||||
|
||||
endif
|
||||
8
board/ti/am62dx/MAINTAINERS
Normal file
8
board/ti/am62dx/MAINTAINERS
Normal file
@@ -0,0 +1,8 @@
|
||||
AM62Dx BOARD
|
||||
M: Vignesh Raghavendra <vigneshr@ti.com>
|
||||
M: Bryan Brattlof <bb@ti.com>
|
||||
S: Maintained
|
||||
F: board/ti/am62dx/
|
||||
F: include/configs/am62a7_evm.h
|
||||
F: configs/am62dx_evm_r5_defconfig
|
||||
F: configs/am62dx_evm_a53_defconfig
|
||||
7
board/ti/am62dx/Makefile
Normal file
7
board/ti/am62dx/Makefile
Normal file
@@ -0,0 +1,7 @@
|
||||
#
|
||||
# Copyright (C) 2025 Texas Instruments Incorporated - https://www.ti.com/
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-2.0+
|
||||
#
|
||||
|
||||
obj-y += evm.o
|
||||
21
board/ti/am62dx/am62dx.env
Normal file
21
board/ti/am62dx/am62dx.env
Normal file
@@ -0,0 +1,21 @@
|
||||
#include <env/ti/ti_common.env>
|
||||
#include <env/ti/mmc.env>
|
||||
#include <env/ti/k3_dfu.env>
|
||||
#if CONFIG_CMD_REMOTEPROC
|
||||
#include <env/ti/k3_rproc.env>
|
||||
#endif
|
||||
|
||||
name_kern=Image
|
||||
console=ttyS2,115200n8
|
||||
args_all=setenv optargs ${optargs} earlycon=ns16550a,mmio32,0x02800000
|
||||
${mtdparts}
|
||||
run_kern=booti ${loadaddr} ${rd_spec} ${fdtaddr}
|
||||
|
||||
boot_targets=mmc1 mmc0 usb pxe dhcp
|
||||
boot=mmc
|
||||
mmcdev=1
|
||||
bootpart=1:2
|
||||
bootdir=/boot
|
||||
rd_spec=-
|
||||
|
||||
rproc_fw_binaries= 0 /lib/firmware/am62d-mcu-r5f0_0-fw 1 /lib/firmware/am62d-c71_0-fw
|
||||
37
board/ti/am62dx/evm.c
Normal file
37
board/ti/am62dx/evm.c
Normal file
@@ -0,0 +1,37 @@
|
||||
// SPDX-License-Identifier: GPL-2.0+
|
||||
/*
|
||||
* Board specific initialization for AM62Dx platforms
|
||||
*
|
||||
* Copyright (C) 2025 Texas Instruments Incorporated - https://www.ti.com/
|
||||
*
|
||||
*/
|
||||
|
||||
#include <asm/arch/hardware.h>
|
||||
#include <asm/io.h>
|
||||
#include <dm/uclass.h>
|
||||
#include <env.h>
|
||||
#include <fdt_support.h>
|
||||
#include <spl.h>
|
||||
#include <asm/arch/k3-ddr.h>
|
||||
|
||||
#include "../common/fdt_ops.h"
|
||||
|
||||
#if defined(CONFIG_XPL_BUILD)
|
||||
void spl_perform_fixups(struct spl_image_info *spl_image)
|
||||
{
|
||||
if (IS_ENABLED(CONFIG_K3_DDRSS)) {
|
||||
if (IS_ENABLED(CONFIG_K3_INLINE_ECC))
|
||||
fixup_ddr_driver_for_ecc(spl_image);
|
||||
} else {
|
||||
fixup_memory_node(spl_image);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BOARD_LATE_INIT
|
||||
int board_late_init(void)
|
||||
{
|
||||
ti_set_fdt_env(NULL, NULL);
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
22
configs/am62dx_evm_a53_defconfig
Normal file
22
configs/am62dx_evm_a53_defconfig
Normal file
@@ -0,0 +1,22 @@
|
||||
#include <configs/am62ax_evm_a53_defconfig>
|
||||
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARCH_K3=y
|
||||
CONFIG_SOC_K3_AM62A7=y
|
||||
CONFIG_TARGET_AM62D2_A53_EVM=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="ti/k3-am62d2-evm"
|
||||
CONFIG_NET_RANDOM_ETHADDR=y
|
||||
CONFIG_SPL_DMA=y
|
||||
CONFIG_SPL_SPI_FLASH_SUPPORT=y
|
||||
CONFIG_SPL_SPI_FLASH_SFDP_SUPPORT=y
|
||||
# CONFIG_SPL_SPI_FLASH_TINY is not set
|
||||
CONFIG_SPL_SPI_LOAD=y
|
||||
CONFIG_SYS_SPI_U_BOOT_OFFS=0x280000
|
||||
CONFIG_DFU_SF=y
|
||||
CONFIG_SPI_FLASH_MTD=y
|
||||
CONFIG_DM_SPI_FLASH=y
|
||||
CONFIG_SPI_FLASH_SFDP_SUPPORT=y
|
||||
CONFIG_SPI_FLASH_SOFT_RESET=y
|
||||
CONFIG_SPI_FLASH_SOFT_RESET_ON_BOOT=y
|
||||
CONFIG_SPI_FLASH_SPANSION=y
|
||||
CONFIG_SPI_FLASH_S28HX_T=y
|
||||
20
configs/am62dx_evm_r5_defconfig
Normal file
20
configs/am62dx_evm_r5_defconfig
Normal file
@@ -0,0 +1,20 @@
|
||||
#include <configs/am62ax_evm_r5_defconfig>
|
||||
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARCH_K3=y
|
||||
CONFIG_SOC_K3_AM62A7=y
|
||||
CONFIG_TARGET_AM62D2_R5_EVM=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="k3-am62d2-r5-evm"
|
||||
# CONFIG_SPL_DMA is not set
|
||||
CONFIG_SF_DEFAULT_SPEED=25000000
|
||||
CONFIG_SF_DEFAULT_MODE=0
|
||||
CONFIG_SPL_SPI_FLASH_SUPPORT=y
|
||||
CONFIG_SPL_SPI_FLASH_SFDP_SUPPORT=y
|
||||
# CONFIG_SPL_SPI_FLASH_TINY is not set
|
||||
CONFIG_SPL_SPI_LOAD=y
|
||||
CONFIG_SYS_SPI_U_BOOT_OFFS=0x80000
|
||||
CONFIG_SPI_FLASH_SFDP_SUPPORT=y
|
||||
CONFIG_SPI_FLASH_SOFT_RESET=y
|
||||
CONFIG_SPI_FLASH_SOFT_RESET_ON_BOOT=y
|
||||
CONFIG_SPI_FLASH_SPANSION=y
|
||||
CONFIG_SPI_FLASH_S28HX_T=y
|
||||
Reference in New Issue
Block a user