diff options
author | Paresh Bhagat <p-bhagat@ti.com> | 2025-05-14 18:09:17 +0530 |
---|---|---|
committer | Ryan Eatmon <reatmon@ti.com> | 2025-05-14 17:28:47 -0500 |
commit | f286ef1e54b153397314b350e3bc38e739d95d5d (patch) | |
tree | 6892551330ea0ea69ea17524f25eb4e1b2b23d02 | |
parent | 0484e280f9d2ec4ba21a47eff3b07194e7f091d4 (diff) | |
download | meta-ti-f286ef1e54b153397314b350e3bc38e739d95d5d.tar.gz |
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>
-rw-r--r-- | meta-ti-bsp/conf/machine/am62dxx-evm-k3r5.conf | 11 | ||||
-rw-r--r-- | meta-ti-bsp/conf/machine/am62dxx-evm.conf | 15 | ||||
-rw-r--r-- | meta-ti-bsp/conf/machine/include/am62dxx.inc | 15 | ||||
-rw-r--r-- | meta-ti-bsp/recipes-bsp/ti-dm-fw/ti-dm-fw.bb | 3 | ||||
-rw-r--r-- | meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb | 14 | ||||
-rw-r--r-- | meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc | 2 | ||||
-rw-r--r-- | meta-ti-bsp/recipes-security/optee/optee-os-ti-overrides.inc | 1 |
7 files changed, 61 insertions, 0 deletions
diff --git a/meta-ti-bsp/conf/machine/am62dxx-evm-k3r5.conf b/meta-ti-bsp/conf/machine/am62dxx-evm-k3r5.conf new file mode 100644 index 00000000..00906420 --- /dev/null +++ b/meta-ti-bsp/conf/machine/am62dxx-evm-k3r5.conf | |||
@@ -0,0 +1,11 @@ | |||
1 | #@TYPE: Machine | ||
2 | #@NAME: AM62D HS-FS EVM (R5F) | ||
3 | #@DESCRIPTION: Machine configuration for the TI AM62D EVM (R5F core) | ||
4 | |||
5 | require conf/machine/include/k3r5.inc | ||
6 | |||
7 | SYSFW_SOC = "am62dx" | ||
8 | SYSFW_CONFIG = "evm" | ||
9 | SYSFW_SUFFIX = "hs-fs" | ||
10 | |||
11 | UBOOT_MACHINE = "am62dx_evm_r5_defconfig" | ||
diff --git a/meta-ti-bsp/conf/machine/am62dxx-evm.conf b/meta-ti-bsp/conf/machine/am62dxx-evm.conf new file mode 100644 index 00000000..f2da559c --- /dev/null +++ b/meta-ti-bsp/conf/machine/am62dxx-evm.conf | |||
@@ -0,0 +1,15 @@ | |||
1 | #@TYPE: Machine | ||
2 | #@NAME: AM62DXX EVM | ||
3 | #@DESCRIPTION: Machine configuration for the TI AM62DXX EVM | ||
4 | |||
5 | require conf/machine/include/am62dxx.inc | ||
6 | |||
7 | KERNEL_DEVICETREE_PREFIX = " \ | ||
8 | ti/k3-am62d2 \ | ||
9 | " | ||
10 | |||
11 | KERNEL_DEVICETREE = "" | ||
12 | |||
13 | FIT_CONF_DEFAULT_DTB = "ti/k3-am62d2-evm.dtb" | ||
14 | |||
15 | UBOOT_MACHINE = "am62dx_evm_a53_defconfig" | ||
diff --git a/meta-ti-bsp/conf/machine/include/am62dxx.inc b/meta-ti-bsp/conf/machine/include/am62dxx.inc new file mode 100644 index 00000000..ac4e8e17 --- /dev/null +++ b/meta-ti-bsp/conf/machine/include/am62dxx.inc | |||
@@ -0,0 +1,15 @@ | |||
1 | require conf/machine/include/k3.inc | ||
2 | require conf/machine/include/mc_k3r5.inc | ||
3 | |||
4 | SOC_FAMILY:append = ":am62dxx" | ||
5 | |||
6 | TFA_K3_SYSTEM_SUSPEND = "1" | ||
7 | |||
8 | # Default tiboot3.bin on AM62D is for HS-FS | ||
9 | IMAGE_BOOT_FILES += "tiboot3-am62dx-hs-fs-evm.bin" | ||
10 | |||
11 | # Since default tiboot3.bin on AM62D is for HS-FS, add a version for HS-SE | ||
12 | IMAGE_BOOT_FILES += "tiboot3-am62dx-hs-evm.bin" | ||
13 | |||
14 | TFA_BOARD = "lite" | ||
15 | OPTEEMACHINE = "k3-am62x" | ||
diff --git a/meta-ti-bsp/recipes-bsp/ti-dm-fw/ti-dm-fw.bb b/meta-ti-bsp/recipes-bsp/ti-dm-fw/ti-dm-fw.bb index 7ce09383..03016993 100644 --- a/meta-ti-bsp/recipes-bsp/ti-dm-fw/ti-dm-fw.bb +++ b/meta-ti-bsp/recipes-bsp/ti-dm-fw/ti-dm-fw.bb | |||
@@ -29,6 +29,7 @@ PLAT_SFX:am65xx = "am65xx" | |||
29 | PLAT_SFX:am64xx = "am64xx" | 29 | PLAT_SFX:am64xx = "am64xx" |
30 | PLAT_SFX:am62xx = "am62xx" | 30 | PLAT_SFX:am62xx = "am62xx" |
31 | PLAT_SFX:am62axx = "am62axx" | 31 | PLAT_SFX:am62axx = "am62axx" |
32 | PLAT_SFX:am62dxx = "am62axx" | ||
32 | PLAT_SFX:am62lxx = "am62lxx" | 33 | PLAT_SFX:am62lxx = "am62lxx" |
33 | PLAT_SFX:am62pxx = "am62pxx" | 34 | PLAT_SFX:am62pxx = "am62pxx" |
34 | 35 | ||
@@ -51,6 +52,7 @@ DM_FW_LIST:am65xx = "" | |||
51 | DM_FW_LIST:am64xx = "" | 52 | DM_FW_LIST:am64xx = "" |
52 | DM_FW_LIST:am62xx = "${DM_FIRMWARE}" | 53 | DM_FW_LIST:am62xx = "${DM_FIRMWARE}" |
53 | DM_FW_LIST:am62axx = "${DM_FIRMWARE}" | 54 | DM_FW_LIST:am62axx = "${DM_FIRMWARE}" |
55 | DM_FW_LIST:am62dxx = "${DM_FIRMWARE}" | ||
54 | DM_FW_LIST:am62lxx = "" | 56 | DM_FW_LIST:am62lxx = "" |
55 | DM_FW_LIST:am62pxx = "${DM_FIRMWARE}" | 57 | DM_FW_LIST:am62pxx = "${DM_FIRMWARE}" |
56 | 58 | ||
@@ -85,6 +87,7 @@ do_deploy() { | |||
85 | ALTERNATIVE:${PN}:am62xx = "am62-main-r5f0_0-fw" | 87 | ALTERNATIVE:${PN}:am62xx = "am62-main-r5f0_0-fw" |
86 | ALTERNATIVE:${PN}:am62pxx = "am62p-main-r5f0_0-fw" | 88 | ALTERNATIVE:${PN}:am62pxx = "am62p-main-r5f0_0-fw" |
87 | ALTERNATIVE:${PN}:am62axx = "am62a-main-r5f0_0-fw" | 89 | ALTERNATIVE:${PN}:am62axx = "am62a-main-r5f0_0-fw" |
90 | ALTERNATIVE:${PN}:am62dxx = "am62a-main-r5f0_0-fw" | ||
88 | ALTERNATIVE:${PN}:j721e = "j7-mcu-r5f0_0-fw" | 91 | ALTERNATIVE:${PN}:j721e = "j7-mcu-r5f0_0-fw" |
89 | ALTERNATIVE:${PN}:j7200 = "j7200-mcu-r5f0_0-fw" | 92 | ALTERNATIVE:${PN}:j7200 = "j7200-mcu-r5f0_0-fw" |
90 | ALTERNATIVE:${PN}:j721s2 = "j721s2-mcu-r5f0_0-fw" | 93 | ALTERNATIVE:${PN}:j721s2 = "j721s2-mcu-r5f0_0-fw" |
diff --git a/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb index 13587603..1fe67be8 100644 --- a/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb +++ b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb | |||
@@ -20,6 +20,7 @@ PLAT_SFX:am65xx = "am65xx" | |||
20 | PLAT_SFX:am64xx = "am64xx" | 20 | PLAT_SFX:am64xx = "am64xx" |
21 | PLAT_SFX:am62xx = "am62xx" | 21 | PLAT_SFX:am62xx = "am62xx" |
22 | PLAT_SFX:am62axx = "am62axx" | 22 | PLAT_SFX:am62axx = "am62axx" |
23 | PLAT_SFX:am62dxx = "am62axx" | ||
23 | PLAT_SFX:am62pxx = "am62pxx" | 24 | PLAT_SFX:am62pxx = "am62pxx" |
24 | 25 | ||
25 | FILESEXTRAPATHS:prepend := "${METATIBASE}/recipes-bsp/ti-sci-fw/files/:" | 26 | 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} $ | |||
57 | IPC_FW_LIST:am62xx = " ${MCU_2_0_FW}" | 58 | IPC_FW_LIST:am62xx = " ${MCU_2_0_FW}" |
58 | IPC_FW_LIST:am62pxx = " ${MCU_2_0_FW}" | 59 | IPC_FW_LIST:am62pxx = " ${MCU_2_0_FW}" |
59 | IPC_FW_LIST:am62axx = " ${MCU_2_0_FW} ${C7X_1_FW}" | 60 | IPC_FW_LIST:am62axx = " ${MCU_2_0_FW} ${C7X_1_FW}" |
61 | IPC_FW_LIST:am62dxx = " ${MCU_2_0_FW} ${C7X_1_FW}" | ||
60 | 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}" | 62 | 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}" |
61 | IPC_FW_LIST:j7200 = " ${MCU_1_1_FW} ${MCU_2_0_FW} ${MCU_2_1_FW}" | 63 | IPC_FW_LIST:j7200 = " ${MCU_1_1_FW} ${MCU_2_0_FW} ${MCU_2_1_FW}" |
62 | 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}" | 64 | 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() { | |||
96 | ) | 98 | ) |
97 | } | 99 | } |
98 | 100 | ||
101 | # Update the am62dxx ipc binaries to be consistent with other platforms | ||
102 | do_install:prepend:am62dxx() { | ||
103 | ( cd ${S}/${IPC_FW_DIR}; \ | ||
104 | ln -sf am62a-mcu-r5f0_0-fw ${MCU_2_0_FW}; \ | ||
105 | ) | ||
106 | } | ||
107 | |||
99 | do_install() { | 108 | do_install() { |
100 | # IPC Firmware | 109 | # IPC Firmware |
101 | for FW_NAME in ${IPC_FW_LIST} | 110 | for FW_NAME in ${IPC_FW_LIST} |
@@ -139,6 +148,11 @@ ALTERNATIVE:${PN}:am62axx = "\ | |||
139 | am62a-c71_0-fw am62a-c71_0-fw-sec \ | 148 | am62a-c71_0-fw am62a-c71_0-fw-sec \ |
140 | " | 149 | " |
141 | 150 | ||
151 | ALTERNATIVE:${PN}:am62dxx = "\ | ||
152 | am62a-mcu-r5f0_0-fw am62a-mcu-r5f0_0-fw-sec \ | ||
153 | am62a-c71_0-fw am62a-c71_0-fw-sec \ | ||
154 | " | ||
155 | |||
142 | ALTERNATIVE:${PN}:j721e = "\ | 156 | ALTERNATIVE:${PN}:j721e = "\ |
143 | j7-mcu-r5f0_1-fw j7-mcu-r5f0_1-fw-sec \ | 157 | j7-mcu-r5f0_1-fw j7-mcu-r5f0_1-fw-sec \ |
144 | j7-main-r5f0_0-fw j7-main-r5f0_0-fw-sec \ | 158 | j7-main-r5f0_0-fw j7-main-r5f0_0-fw-sec \ |
diff --git a/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc b/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc index 2b75de70..c348c99b 100644 --- a/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc +++ b/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc | |||
@@ -61,6 +61,7 @@ PLAT_SFX:am65xx = "am65xx" | |||
61 | PLAT_SFX:am64xx = "am64xx" | 61 | PLAT_SFX:am64xx = "am64xx" |
62 | PLAT_SFX:am62xx = "am62xx" | 62 | PLAT_SFX:am62xx = "am62xx" |
63 | PLAT_SFX:am62axx = "am62axx" | 63 | PLAT_SFX:am62axx = "am62axx" |
64 | PLAT_SFX:am62dxx = "am62axx" | ||
64 | PLAT_SFX:am62lxx = "am62lxx" | 65 | PLAT_SFX:am62lxx = "am62lxx" |
65 | PLAT_SFX:am62pxx = "am62pxx" | 66 | PLAT_SFX:am62pxx = "am62pxx" |
66 | 67 | ||
@@ -78,6 +79,7 @@ PACKAGECONFIG:append:j722s = " dm" | |||
78 | PACKAGECONFIG:append:j742s2 = " dm" | 79 | PACKAGECONFIG:append:j742s2 = " dm" |
79 | PACKAGECONFIG:append:am62xx = " dm" | 80 | PACKAGECONFIG:append:am62xx = " dm" |
80 | PACKAGECONFIG:append:am62axx = " dm" | 81 | PACKAGECONFIG:append:am62axx = " dm" |
82 | PACKAGECONFIG:append:am62dxx = " dm" | ||
81 | PACKAGECONFIG:append:am62lxx = " ap-trusted-rom" | 83 | PACKAGECONFIG:append:am62lxx = " ap-trusted-rom" |
82 | PACKAGECONFIG:append:am62pxx = " dm" | 84 | PACKAGECONFIG:append:am62pxx = " dm" |
83 | 85 | ||
diff --git a/meta-ti-bsp/recipes-security/optee/optee-os-ti-overrides.inc b/meta-ti-bsp/recipes-security/optee/optee-os-ti-overrides.inc index ae6cca74..c37cf768 100644 --- a/meta-ti-bsp/recipes-security/optee/optee-os-ti-overrides.inc +++ b/meta-ti-bsp/recipes-security/optee/optee-os-ti-overrides.inc | |||
@@ -9,6 +9,7 @@ EXTRA_OEMAKE:append:am62xx = " CFG_TEE_CORE_LOG_LEVEL=1" | |||
9 | EXTRA_OEMAKE:append:am62lxx = " CFG_TEE_CORE_LOG_LEVEL=1" | 9 | EXTRA_OEMAKE:append:am62lxx = " CFG_TEE_CORE_LOG_LEVEL=1" |
10 | EXTRA_OEMAKE:append:am62pxx = " CFG_TEE_CORE_LOG_LEVEL=1" | 10 | EXTRA_OEMAKE:append:am62pxx = " CFG_TEE_CORE_LOG_LEVEL=1" |
11 | EXTRA_OEMAKE:append:am62axx = " CFG_TEE_CORE_LOG_LEVEL=1" | 11 | EXTRA_OEMAKE:append:am62axx = " CFG_TEE_CORE_LOG_LEVEL=1" |
12 | EXTRA_OEMAKE:append:am62dxx = " CFG_TEE_CORE_LOG_LEVEL=1" | ||
12 | EXTRA_OEMAKE:append:j722s = " CFG_TEE_CORE_LOG_LEVEL=1" | 13 | EXTRA_OEMAKE:append:j722s = " CFG_TEE_CORE_LOG_LEVEL=1" |
13 | 14 | ||
14 | do_compile:append:k3() { | 15 | do_compile:append:k3() { |