1
0
mirror of https://git.yoctoproject.org/meta-ti synced 2026-04-20 11:42:57 +00:00

meta-ti-bsp : Add build support for am62dxx-evm

The AM62D SoC is a high-performance Digital Signal Processing (DSP)
device with a quad-core Cortex-A53 cluster, dual Cortex-R5F cores, and
a Cx7 DSP core with Matrix Multiplication Accelerator (MMA). It features
a range of peripherals, including multichannel audio serial ports,
Ethernet, UARTs, SPI, I2C, USB, and more.

This SoC is part of K3-AM62x family, which includes the AM62A and AM62P
variants. While the AM62A and AM62D are largely similar, the AM62D is
specifically targeted for general-purpose DSP applications, whereas the
AM62A focuses on edge AI workloads. A key distinction is that the AM62D
does not include multimedia components such as the video encoder/decoder,
MJPEG encoder, Vision Processing Accelerator (VPAC) for image signal
processing, or the display subsystem. Additionally, the AM62D has a
different pin configuration compared to the AM62A, which impacts embedded
software development.

The EVM board is a low-cost, expandable platform designed for the AM62D2
SoC, having 4GB LPDDR4 RAM, Gigabit Ethernet expansion connectors, audio
jacks, USB ports, and more.

Signed-off-by: Paresh Bhagat <p-bhagat@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
This commit is contained in:
Paresh Bhagat
2025-05-14 18:09:17 +05:30
committed by Ryan Eatmon
parent b39aa06952
commit dfc60afa8e
7 changed files with 61 additions and 0 deletions

View File

@@ -0,0 +1,11 @@
#@TYPE: Machine
#@NAME: AM62D HS-FS EVM (R5F)
#@DESCRIPTION: Machine configuration for the TI AM62D EVM (R5F core)
require conf/machine/include/k3r5.inc
SYSFW_SOC = "am62dx"
SYSFW_CONFIG = "evm"
SYSFW_SUFFIX = "hs-fs"
UBOOT_MACHINE = "am62dx_evm_r5_defconfig"

View File

@@ -0,0 +1,15 @@
#@TYPE: Machine
#@NAME: AM62DXX EVM
#@DESCRIPTION: Machine configuration for the TI AM62DXX EVM
require conf/machine/include/am62dxx.inc
KERNEL_DEVICETREE_PREFIX = " \
ti/k3-am62d2 \
"
KERNEL_DEVICETREE = ""
FIT_CONF_DEFAULT_DTB = "ti/k3-am62d2-evm.dtb"
UBOOT_MACHINE = "am62dx_evm_a53_defconfig"

View File

@@ -0,0 +1,15 @@
require conf/machine/include/k3.inc
require conf/machine/include/mc_k3r5.inc
SOC_FAMILY:append = ":am62dxx"
TFA_K3_SYSTEM_SUSPEND = "1"
# Default tiboot3.bin on AM62D is for HS-FS
IMAGE_BOOT_FILES += "tiboot3-am62dx-hs-fs-evm.bin"
# Since default tiboot3.bin on AM62D is for HS-FS, add a version for HS-SE
IMAGE_BOOT_FILES += "tiboot3-am62dx-hs-evm.bin"
TFA_BOARD = "lite"
OPTEEMACHINE = "k3-am62x"

View File

@@ -29,6 +29,7 @@ PLAT_SFX:am65xx = "am65xx"
PLAT_SFX:am64xx = "am64xx"
PLAT_SFX:am62xx = "am62xx"
PLAT_SFX:am62axx = "am62axx"
PLAT_SFX:am62dxx = "am62axx"
PLAT_SFX:am62lxx = "am62lxx"
PLAT_SFX:am62pxx = "am62pxx"
@@ -51,6 +52,7 @@ DM_FW_LIST:am65xx = ""
DM_FW_LIST:am64xx = ""
DM_FW_LIST:am62xx = "${DM_FIRMWARE}"
DM_FW_LIST:am62axx = "${DM_FIRMWARE}"
DM_FW_LIST:am62dxx = "${DM_FIRMWARE}"
DM_FW_LIST:am62lxx = ""
DM_FW_LIST:am62pxx = "${DM_FIRMWARE}"
@@ -85,6 +87,7 @@ do_deploy() {
ALTERNATIVE:${PN}:am62xx = "am62-main-r5f0_0-fw"
ALTERNATIVE:${PN}:am62pxx = "am62p-main-r5f0_0-fw"
ALTERNATIVE:${PN}:am62axx = "am62a-main-r5f0_0-fw"
ALTERNATIVE:${PN}:am62dxx = "am62a-main-r5f0_0-fw"
ALTERNATIVE:${PN}:j721e = "j7-mcu-r5f0_0-fw"
ALTERNATIVE:${PN}:j7200 = "j7200-mcu-r5f0_0-fw"
ALTERNATIVE:${PN}:j721s2 = "j721s2-mcu-r5f0_0-fw"

View File

@@ -20,6 +20,7 @@ PLAT_SFX:am65xx = "am65xx"
PLAT_SFX:am64xx = "am64xx"
PLAT_SFX:am62xx = "am62xx"
PLAT_SFX:am62axx = "am62axx"
PLAT_SFX:am62dxx = "am62axx"
PLAT_SFX:am62pxx = "am62pxx"
FILESEXTRAPATHS:prepend := "${METATIBASE}/recipes-bsp/ti-sci-fw/files/:"
@@ -57,6 +58,7 @@ IPC_FW_LIST:am64xx = "${MCU_1_0_FW} ${MCU_1_1_FW} ${MCU_2_0_FW} ${MCU_2_1_FW} $
IPC_FW_LIST:am62xx = " ${MCU_2_0_FW}"
IPC_FW_LIST:am62pxx = " ${MCU_2_0_FW}"
IPC_FW_LIST:am62axx = " ${MCU_2_0_FW} ${C7X_1_FW}"
IPC_FW_LIST:am62dxx = " ${MCU_2_0_FW} ${C7X_1_FW}"
IPC_FW_LIST:j721e = " ${MCU_1_1_FW} ${MCU_2_0_FW} ${MCU_2_1_FW} ${MCU_3_0_FW} ${MCU_3_1_FW} ${C66_1_FW} ${C66_2_FW} ${C7X_1_FW}"
IPC_FW_LIST:j7200 = " ${MCU_1_1_FW} ${MCU_2_0_FW} ${MCU_2_1_FW}"
IPC_FW_LIST:j721s2 = " ${MCU_1_1_FW} ${MCU_2_0_FW} ${MCU_2_1_FW} ${MCU_3_0_FW} ${MCU_3_1_FW} ${C7X_1_FW} ${C7X_2_FW}"
@@ -96,6 +98,13 @@ do_install:prepend:am62axx() {
)
}
# Update the am62dxx ipc binaries to be consistent with other platforms
do_install:prepend:am62dxx() {
( cd ${S}/${IPC_FW_DIR}; \
ln -sf am62a-mcu-r5f0_0-fw ${MCU_2_0_FW}; \
)
}
do_install() {
# IPC Firmware
for FW_NAME in ${IPC_FW_LIST}
@@ -139,6 +148,11 @@ ALTERNATIVE:${PN}:am62axx = "\
am62a-c71_0-fw am62a-c71_0-fw-sec \
"
ALTERNATIVE:${PN}:am62dxx = "\
am62a-mcu-r5f0_0-fw am62a-mcu-r5f0_0-fw-sec \
am62a-c71_0-fw am62a-c71_0-fw-sec \
"
ALTERNATIVE:${PN}:j721e = "\
j7-mcu-r5f0_1-fw j7-mcu-r5f0_1-fw-sec \
j7-main-r5f0_0-fw j7-main-r5f0_0-fw-sec \

View File

@@ -61,6 +61,7 @@ PLAT_SFX:am65xx = "am65xx"
PLAT_SFX:am64xx = "am64xx"
PLAT_SFX:am62xx = "am62xx"
PLAT_SFX:am62axx = "am62axx"
PLAT_SFX:am62dxx = "am62axx"
PLAT_SFX:am62lxx = "am62lxx"
PLAT_SFX:am62pxx = "am62pxx"
@@ -78,6 +79,7 @@ PACKAGECONFIG:append:j722s = " dm"
PACKAGECONFIG:append:j742s2 = " dm"
PACKAGECONFIG:append:am62xx = " dm"
PACKAGECONFIG:append:am62axx = " dm"
PACKAGECONFIG:append:am62dxx = " dm"
PACKAGECONFIG:append:am62lxx = " ap-trusted-rom"
PACKAGECONFIG:append:am62pxx = " dm"

View File

@@ -9,6 +9,7 @@ EXTRA_OEMAKE:append:am62xx = " CFG_TEE_CORE_LOG_LEVEL=1"
EXTRA_OEMAKE:append:am62lxx = " CFG_TEE_CORE_LOG_LEVEL=1"
EXTRA_OEMAKE:append:am62pxx = " CFG_TEE_CORE_LOG_LEVEL=1"
EXTRA_OEMAKE:append:am62axx = " CFG_TEE_CORE_LOG_LEVEL=1"
EXTRA_OEMAKE:append:am62dxx = " CFG_TEE_CORE_LOG_LEVEL=1"
EXTRA_OEMAKE:append:j722s = " CFG_TEE_CORE_LOG_LEVEL=1"
do_compile:append:k3() {