diff mbox series

[scarthgap,RFC] meta-ti-bsp : Add build support for am62dxx-evm

Message ID 20250423133624.2273605-1-p-bhagat@ti.com
State New
Headers show
Series [scarthgap,RFC] meta-ti-bsp : Add build support for am62dxx-evm | expand

Commit Message

Paresh Bhagat April 23, 2025, 1:36 p.m. UTC
This commit adds Yocto build support for AM62D2-EVM, including kernel,
U-Boot and root filesystem generation

Signed-off-by: Paresh Bhagat <p-bhagat@ti.com>
---

Boot logs : https://gist.github.com/paresh-bhagat12/ba7419eb1e7dbdf050a2099a39138985

Note : Kernel and U-boot support still pending.
https://serenity.dal.design.ti.com/patchwork/project/linux-patch-review/patch/20250416164637.75591-1-p-bhagat@ti.com/
https://serenity.dal.design.ti.com/patchwork/project/linux-patch-review/patch/20250416171321.156384-1-p-bhagat@ti.com/

 .../conf/machine/am62dxx-evm-k3r5.conf        | 11 ++++++++++
 meta-ti-bsp/conf/machine/am62dxx-evm.conf     | 17 ++++++++++++++
 meta-ti-bsp/conf/machine/include/am62dxx.inc  | 22 +++++++++++++++++++
 .../cnm-wave-fw/cnm-wave-fw_git.bb            |  2 +-
 meta-ti-bsp/recipes-bsp/ti-dm-fw/ti-dm-fw.bb  |  3 +++
 .../recipes-bsp/ti-eth-fw/ti-eth-fw.bb        |  2 ++
 meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc  |  2 ++
 .../optee/optee-os-ti-overrides.inc           |  1 +
 .../ti-rtos-bin/ti-rtos-firmware.bb           | 14 ++++++++++++
 9 files changed, 73 insertions(+), 1 deletion(-)
 create mode 100644 meta-ti-bsp/conf/machine/am62dxx-evm-k3r5.conf
 create mode 100644 meta-ti-bsp/conf/machine/am62dxx-evm.conf
 create mode 100644 meta-ti-bsp/conf/machine/include/am62dxx.inc

Comments

Chirag Shilwant April 23, 2025, 2:01 p.m. UTC | #1
On 23/04/25 19:06, Paresh Bhagat wrote:
> This commit adds Yocto build support for AM62D2-EVM, including kernel,
> U-Boot and root filesystem generation
>
> Signed-off-by: Paresh Bhagat <p-bhagat@ti.com>
> ---
>
> Boot logs : https://gist.github.com/paresh-bhagat12/ba7419eb1e7dbdf050a2099a39138985
>
> Note : Kernel and U-boot support still pending.
> https://serenity.dal.design.ti.com/patchwork/project/linux-patch-review/patch/20250416164637.75591-1-p-bhagat@ti.com/
> https://serenity.dal.design.ti.com/patchwork/project/linux-patch-review/patch/20250416171321.156384-1-p-bhagat@ti.com/


meta-ti is a public mailing list. Please do not post internal links.



>
>   .../conf/machine/am62dxx-evm-k3r5.conf        | 11 ++++++++++
>   meta-ti-bsp/conf/machine/am62dxx-evm.conf     | 17 ++++++++++++++
>   meta-ti-bsp/conf/machine/include/am62dxx.inc  | 22 +++++++++++++++++++
>   .../cnm-wave-fw/cnm-wave-fw_git.bb            |  2 +-
>   meta-ti-bsp/recipes-bsp/ti-dm-fw/ti-dm-fw.bb  |  3 +++
>   .../recipes-bsp/ti-eth-fw/ti-eth-fw.bb        |  2 ++
>   meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc  |  2 ++
>   .../optee/optee-os-ti-overrides.inc           |  1 +
>   .../ti-rtos-bin/ti-rtos-firmware.bb           | 14 ++++++++++++
>   9 files changed, 73 insertions(+), 1 deletion(-)
>   create mode 100644 meta-ti-bsp/conf/machine/am62dxx-evm-k3r5.conf
>   create mode 100644 meta-ti-bsp/conf/machine/am62dxx-evm.conf
>   create mode 100644 meta-ti-bsp/conf/machine/include/am62dxx.inc
>
> 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 @@
> +#@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"
> 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..163734c7
> --- /dev/null
> +++ b/meta-ti-bsp/conf/machine/am62dxx-evm.conf
> @@ -0,0 +1,17 @@
> +#@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 = " \
> +    ti/k3-am62d2-evm.dtb \
> +"



KERNEL_DEVICETREE should be set to "" as this device tree blob
isn't a part of mainline kernel yet. More details on Ryan's comment at [0]


[0]: https://lists.yoctoproject.org/g/meta-ti/message/18263


> +
> +FIT_CONF_DEFAULT_DTB = "ti/k3-am62d2-evm.dtb"
> +
> +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..22c839be
> --- /dev/null
> +++ b/meta-ti-bsp/conf/machine/include/am62dxx.inc
> @@ -0,0 +1,22 @@
> +require conf/machine/include/k3.inc
> +require conf/machine/include/mc_k3r5.inc
> +
> +SOC_FAMILY:append = ":am62dxx"
> +
> +# MACHINE_FEATURES += "screen touchscreen"
> +
> +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 GP
> +IMAGE_BOOT_FILES += "tiboot3-am62dx-gp-evm.bin"


Is shipping tiboot3.bin for GP under vfat boot partition needed?


---
Chirag


> +
> +# 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"
> +
> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "cnm-wave-fw"
> diff --git a/meta-ti-bsp/recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb b/meta-ti-bsp/recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb
> index 43624183..9a9fcbd1 100644
> --- a/meta-ti-bsp/recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb
> +++ b/meta-ti-bsp/recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb
> @@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://LICENCE.cnm;md5=93b67e6bac7f8fec22b96b8ad0a1a9d0"
>   PV = "${CNM_WAVE521_FW_VERSION}"
>   PR = "${INC_PR}.1"
>   
> -COMPATIBLE_MACHINE = "j721s2|j784s4|j722s|j742s2|am62axx|am62pxx"
> +COMPATIBLE_MACHINE = "j721s2|j784s4|j722s|j742s2|am62axx|am62pxx|am62dxx"
>   
>   TARGET_WAVE521C = "wave521c_k3_codec_fw.bin"
>   
> 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 638138f4..d7eae77f 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
> @@ -33,6 +33,7 @@ PLAT_SFX:am62xx = "am62xx"
>   PLAT_SFX:am62axx = "am62axx"
>   PLAT_SFX:am62lxx = "am62lxx"
>   PLAT_SFX:am62pxx = "am62pxx"
> +PLAT_SFX:am62dxx = "am62axx"
>   
>   DM_FW_DIR = "ti-dm/${PLAT_SFX}"
>   
> @@ -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"
> diff --git a/meta-ti-bsp/recipes-bsp/ti-eth-fw/ti-eth-fw.bb b/meta-ti-bsp/recipes-bsp/ti-eth-fw/ti-eth-fw.bb
> index cf9566dc..654d456c 100644
> --- a/meta-ti-bsp/recipes-bsp/ti-eth-fw/ti-eth-fw.bb
> +++ b/meta-ti-bsp/recipes-bsp/ti-eth-fw/ti-eth-fw.bb
> @@ -31,6 +31,7 @@ PLAT_SFX:am64xx = "am64xx"
>   PLAT_SFX:am62xx = "am62xx"
>   PLAT_SFX:am62pxx = "am62pxx"
>   PLAT_SFX:am62axx = "am62axx"
> +PLAT_SFX:am62dxx = "am62axx"
>   
>   ETH_FW_DIR = "ti-eth/${PLAT_SFX}"
>   
> @@ -50,6 +51,7 @@ ETH_FW_LIST:am64xx =  ""
>   ETH_FW_LIST:am62xx =  ""
>   ETH_FW_LIST:am62pxx = ""
>   ETH_FW_LIST:am62axx = ""
> +ETH_FW_LIST:am62dxx = ""
>   
>   do_install() {
>       # ETH firmware
> 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 41d4abdd..e2d8fe3a 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
> @@ -55,6 +55,7 @@ PLAT_SFX:am62xx = "am62xx"
>   PLAT_SFX:am62axx = "am62axx"
>   PLAT_SFX:am62lxx = "am62lxx"
>   PLAT_SFX:am62pxx = "am62pxx"
> +PLAT_SFX:am62dxx = "am62axx"
>   
>   PACKAGECONFIG[ap-trusted-rom] = "BL1=${STAGING_DIR_HOST}/firmware/bl1.bin,,trusted-firmware-a"
>   PACKAGECONFIG[atf] = "BL31=${STAGING_DIR_HOST}/firmware/bl31.bin,,trusted-firmware-a"
> @@ -72,6 +73,7 @@ PACKAGECONFIG:append:am62xx = " dm"
>   PACKAGECONFIG:append:am62axx = " dm"
>   PACKAGECONFIG:append:am62lxx = " ap-trusted-rom"
>   PACKAGECONFIG:append:am62pxx = " dm"
> +PACKAGECONFIG:append:am62dxx = " dm"
>   
>   COMPATIBLE_MACHINE = "(ti-soc)"
>   
> 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"
>   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() {
> diff --git a/meta-ti-bsp/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb b/meta-ti-bsp/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb
> index 00112017..ba564429 100644
> --- a/meta-ti-bsp/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb
> +++ b/meta-ti-bsp/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb
> @@ -23,6 +23,7 @@ PLAT_SFX:am64xx = "am64xx"
>   PLAT_SFX:am62xx = "am62xx"
>   PLAT_SFX:am62axx = "am62axx"
>   PLAT_SFX:am62pxx = "am62pxx"
> +PLAT_SFX:am62dxx = "am62axx"
>   
>   FILESEXTRAPATHS:prepend := "${METATIBASE}/recipes-bsp/ti-sci-fw/files/:"
>   require recipes-bsp/ti-linux-fw/ti-linux-fw.inc
> @@ -58,6 +59,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}"
> @@ -97,6 +99,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}
> @@ -140,6 +149,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 \
Denys Dmytriyenko April 24, 2025, 12:40 a.m. UTC | #2
I noticed that AM62D re-uses all the firmware images from AM62A - is it 
expected? If so, what are the differences between them? Either a short 
summary in the commit log or a link to the part specification. Thanks.


On Wed, Apr 23, 2025 at 07:06:24PM +0530, Paresh Bhagat wrote:
> This commit adds Yocto build support for AM62D2-EVM, including kernel,
> U-Boot and root filesystem generation
> 
> Signed-off-by: Paresh Bhagat <p-bhagat@ti.com>
> ---
> 
> Boot logs : https://gist.github.com/paresh-bhagat12/ba7419eb1e7dbdf050a2099a39138985
> 
> Note : Kernel and U-boot support still pending.
> https://serenity.dal.design.ti.com/patchwork/project/linux-patch-review/patch/20250416164637.75591-1-p-bhagat@ti.com/
> https://serenity.dal.design.ti.com/patchwork/project/linux-patch-review/patch/20250416171321.156384-1-p-bhagat@ti.com/
> 
>  .../conf/machine/am62dxx-evm-k3r5.conf        | 11 ++++++++++
>  meta-ti-bsp/conf/machine/am62dxx-evm.conf     | 17 ++++++++++++++
>  meta-ti-bsp/conf/machine/include/am62dxx.inc  | 22 +++++++++++++++++++
>  .../cnm-wave-fw/cnm-wave-fw_git.bb            |  2 +-
>  meta-ti-bsp/recipes-bsp/ti-dm-fw/ti-dm-fw.bb  |  3 +++
>  .../recipes-bsp/ti-eth-fw/ti-eth-fw.bb        |  2 ++
>  meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc  |  2 ++
>  .../optee/optee-os-ti-overrides.inc           |  1 +
>  .../ti-rtos-bin/ti-rtos-firmware.bb           | 14 ++++++++++++
>  9 files changed, 73 insertions(+), 1 deletion(-)
>  create mode 100644 meta-ti-bsp/conf/machine/am62dxx-evm-k3r5.conf
>  create mode 100644 meta-ti-bsp/conf/machine/am62dxx-evm.conf
>  create mode 100644 meta-ti-bsp/conf/machine/include/am62dxx.inc
> 
> 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 @@
> +#@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"
> 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..163734c7
> --- /dev/null
> +++ b/meta-ti-bsp/conf/machine/am62dxx-evm.conf
> @@ -0,0 +1,17 @@
> +#@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 = " \
> +    ti/k3-am62d2-evm.dtb \
> +"
> +
> +FIT_CONF_DEFAULT_DTB = "ti/k3-am62d2-evm.dtb"
> +
> +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..22c839be
> --- /dev/null
> +++ b/meta-ti-bsp/conf/machine/include/am62dxx.inc
> @@ -0,0 +1,22 @@
> +require conf/machine/include/k3.inc
> +require conf/machine/include/mc_k3r5.inc
> +
> +SOC_FAMILY:append = ":am62dxx"
> +
> +# MACHINE_FEATURES += "screen touchscreen"
> +
> +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 GP
> +IMAGE_BOOT_FILES += "tiboot3-am62dx-gp-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"
> +
> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "cnm-wave-fw"
> diff --git a/meta-ti-bsp/recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb b/meta-ti-bsp/recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb
> index 43624183..9a9fcbd1 100644
> --- a/meta-ti-bsp/recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb
> +++ b/meta-ti-bsp/recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb
> @@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://LICENCE.cnm;md5=93b67e6bac7f8fec22b96b8ad0a1a9d0"
>  PV = "${CNM_WAVE521_FW_VERSION}"
>  PR = "${INC_PR}.1"
>  
> -COMPATIBLE_MACHINE = "j721s2|j784s4|j722s|j742s2|am62axx|am62pxx"
> +COMPATIBLE_MACHINE = "j721s2|j784s4|j722s|j742s2|am62axx|am62pxx|am62dxx"
>  
>  TARGET_WAVE521C = "wave521c_k3_codec_fw.bin"
>  
> 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 638138f4..d7eae77f 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
> @@ -33,6 +33,7 @@ PLAT_SFX:am62xx = "am62xx"
>  PLAT_SFX:am62axx = "am62axx"
>  PLAT_SFX:am62lxx = "am62lxx"
>  PLAT_SFX:am62pxx = "am62pxx"
> +PLAT_SFX:am62dxx = "am62axx"
>  
>  DM_FW_DIR = "ti-dm/${PLAT_SFX}"
>  
> @@ -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"
> diff --git a/meta-ti-bsp/recipes-bsp/ti-eth-fw/ti-eth-fw.bb b/meta-ti-bsp/recipes-bsp/ti-eth-fw/ti-eth-fw.bb
> index cf9566dc..654d456c 100644
> --- a/meta-ti-bsp/recipes-bsp/ti-eth-fw/ti-eth-fw.bb
> +++ b/meta-ti-bsp/recipes-bsp/ti-eth-fw/ti-eth-fw.bb
> @@ -31,6 +31,7 @@ PLAT_SFX:am64xx = "am64xx"
>  PLAT_SFX:am62xx = "am62xx"
>  PLAT_SFX:am62pxx = "am62pxx"
>  PLAT_SFX:am62axx = "am62axx"
> +PLAT_SFX:am62dxx = "am62axx"
>  
>  ETH_FW_DIR = "ti-eth/${PLAT_SFX}"
>  
> @@ -50,6 +51,7 @@ ETH_FW_LIST:am64xx =  ""
>  ETH_FW_LIST:am62xx =  ""
>  ETH_FW_LIST:am62pxx = ""
>  ETH_FW_LIST:am62axx = ""
> +ETH_FW_LIST:am62dxx = ""
>  
>  do_install() {
>      # ETH firmware
> 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 41d4abdd..e2d8fe3a 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
> @@ -55,6 +55,7 @@ PLAT_SFX:am62xx = "am62xx"
>  PLAT_SFX:am62axx = "am62axx"
>  PLAT_SFX:am62lxx = "am62lxx"
>  PLAT_SFX:am62pxx = "am62pxx"
> +PLAT_SFX:am62dxx = "am62axx"
>  
>  PACKAGECONFIG[ap-trusted-rom] = "BL1=${STAGING_DIR_HOST}/firmware/bl1.bin,,trusted-firmware-a"
>  PACKAGECONFIG[atf] = "BL31=${STAGING_DIR_HOST}/firmware/bl31.bin,,trusted-firmware-a"
> @@ -72,6 +73,7 @@ PACKAGECONFIG:append:am62xx = " dm"
>  PACKAGECONFIG:append:am62axx = " dm"
>  PACKAGECONFIG:append:am62lxx = " ap-trusted-rom"
>  PACKAGECONFIG:append:am62pxx = " dm"
> +PACKAGECONFIG:append:am62dxx = " dm"
>  
>  COMPATIBLE_MACHINE = "(ti-soc)"
>  
> 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"
>  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() {
> diff --git a/meta-ti-bsp/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb b/meta-ti-bsp/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb
> index 00112017..ba564429 100644
> --- a/meta-ti-bsp/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb
> +++ b/meta-ti-bsp/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb
> @@ -23,6 +23,7 @@ PLAT_SFX:am64xx = "am64xx"
>  PLAT_SFX:am62xx = "am62xx"
>  PLAT_SFX:am62axx = "am62axx"
>  PLAT_SFX:am62pxx = "am62pxx"
> +PLAT_SFX:am62dxx = "am62axx"
>  
>  FILESEXTRAPATHS:prepend := "${METATIBASE}/recipes-bsp/ti-sci-fw/files/:"
>  require recipes-bsp/ti-linux-fw/ti-linux-fw.inc
> @@ -58,6 +59,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}"
> @@ -97,6 +99,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}
> @@ -140,6 +149,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 \
> -- 
> 2.34.1
diff mbox series

Patch

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 @@ 
+#@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"
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..163734c7
--- /dev/null
+++ b/meta-ti-bsp/conf/machine/am62dxx-evm.conf
@@ -0,0 +1,17 @@ 
+#@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 = " \
+    ti/k3-am62d2-evm.dtb \
+"
+
+FIT_CONF_DEFAULT_DTB = "ti/k3-am62d2-evm.dtb"
+
+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..22c839be
--- /dev/null
+++ b/meta-ti-bsp/conf/machine/include/am62dxx.inc
@@ -0,0 +1,22 @@ 
+require conf/machine/include/k3.inc
+require conf/machine/include/mc_k3r5.inc
+
+SOC_FAMILY:append = ":am62dxx"
+
+# MACHINE_FEATURES += "screen touchscreen"
+
+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 GP
+IMAGE_BOOT_FILES += "tiboot3-am62dx-gp-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"
+
+MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "cnm-wave-fw"
diff --git a/meta-ti-bsp/recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb b/meta-ti-bsp/recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb
index 43624183..9a9fcbd1 100644
--- a/meta-ti-bsp/recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb
+++ b/meta-ti-bsp/recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb
@@ -10,7 +10,7 @@  LIC_FILES_CHKSUM = "file://LICENCE.cnm;md5=93b67e6bac7f8fec22b96b8ad0a1a9d0"
 PV = "${CNM_WAVE521_FW_VERSION}"
 PR = "${INC_PR}.1"
 
-COMPATIBLE_MACHINE = "j721s2|j784s4|j722s|j742s2|am62axx|am62pxx"
+COMPATIBLE_MACHINE = "j721s2|j784s4|j722s|j742s2|am62axx|am62pxx|am62dxx"
 
 TARGET_WAVE521C = "wave521c_k3_codec_fw.bin"
 
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 638138f4..d7eae77f 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
@@ -33,6 +33,7 @@  PLAT_SFX:am62xx = "am62xx"
 PLAT_SFX:am62axx = "am62axx"
 PLAT_SFX:am62lxx = "am62lxx"
 PLAT_SFX:am62pxx = "am62pxx"
+PLAT_SFX:am62dxx = "am62axx"
 
 DM_FW_DIR = "ti-dm/${PLAT_SFX}"
 
@@ -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"
diff --git a/meta-ti-bsp/recipes-bsp/ti-eth-fw/ti-eth-fw.bb b/meta-ti-bsp/recipes-bsp/ti-eth-fw/ti-eth-fw.bb
index cf9566dc..654d456c 100644
--- a/meta-ti-bsp/recipes-bsp/ti-eth-fw/ti-eth-fw.bb
+++ b/meta-ti-bsp/recipes-bsp/ti-eth-fw/ti-eth-fw.bb
@@ -31,6 +31,7 @@  PLAT_SFX:am64xx = "am64xx"
 PLAT_SFX:am62xx = "am62xx"
 PLAT_SFX:am62pxx = "am62pxx"
 PLAT_SFX:am62axx = "am62axx"
+PLAT_SFX:am62dxx = "am62axx"
 
 ETH_FW_DIR = "ti-eth/${PLAT_SFX}"
 
@@ -50,6 +51,7 @@  ETH_FW_LIST:am64xx =  ""
 ETH_FW_LIST:am62xx =  ""
 ETH_FW_LIST:am62pxx = ""
 ETH_FW_LIST:am62axx = ""
+ETH_FW_LIST:am62dxx = ""
 
 do_install() {
     # ETH firmware
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 41d4abdd..e2d8fe3a 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
@@ -55,6 +55,7 @@  PLAT_SFX:am62xx = "am62xx"
 PLAT_SFX:am62axx = "am62axx"
 PLAT_SFX:am62lxx = "am62lxx"
 PLAT_SFX:am62pxx = "am62pxx"
+PLAT_SFX:am62dxx = "am62axx"
 
 PACKAGECONFIG[ap-trusted-rom] = "BL1=${STAGING_DIR_HOST}/firmware/bl1.bin,,trusted-firmware-a"
 PACKAGECONFIG[atf] = "BL31=${STAGING_DIR_HOST}/firmware/bl31.bin,,trusted-firmware-a"
@@ -72,6 +73,7 @@  PACKAGECONFIG:append:am62xx = " dm"
 PACKAGECONFIG:append:am62axx = " dm"
 PACKAGECONFIG:append:am62lxx = " ap-trusted-rom"
 PACKAGECONFIG:append:am62pxx = " dm"
+PACKAGECONFIG:append:am62dxx = " dm"
 
 COMPATIBLE_MACHINE = "(ti-soc)"
 
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"
 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() {
diff --git a/meta-ti-bsp/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb b/meta-ti-bsp/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb
index 00112017..ba564429 100644
--- a/meta-ti-bsp/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb
+++ b/meta-ti-bsp/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb
@@ -23,6 +23,7 @@  PLAT_SFX:am64xx = "am64xx"
 PLAT_SFX:am62xx = "am62xx"
 PLAT_SFX:am62axx = "am62axx"
 PLAT_SFX:am62pxx = "am62pxx"
+PLAT_SFX:am62dxx = "am62axx"
 
 FILESEXTRAPATHS:prepend := "${METATIBASE}/recipes-bsp/ti-sci-fw/files/:"
 require recipes-bsp/ti-linux-fw/ti-linux-fw.inc
@@ -58,6 +59,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}"
@@ -97,6 +99,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}
@@ -140,6 +149,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 \