new file mode 100644
@@ -0,0 +1,11 @@
+#@TYPE: Machine
+#@NAME: AM62PX EVM (R5F)
+#@DESCRIPTION: Machine configuration for the TI AM62Px EVM (R5F core)
+
+require conf/machine/include/k3r5.inc
+
+SYSFW_SOC = "am62px"
+SYSFW_CONFIG = "evm"
+SYSFW_SUFFIX = "hs-fs"
+
+UBOOT_MACHINE = "am62px_evm_r5_defconfig"
new file mode 100644
@@ -0,0 +1,13 @@
+#@TYPE: Machine
+#@NAME: AM62PX EVM
+#@DESCRIPTION: Machine configuration for the TI AM62PX EVM
+
+require conf/machine/include/am62pxx.inc
+
+KERNEL_DEVICETREE_PREFIX = "ti/k3-am62p5"
+
+KERNEL_DEVICETREE = " \
+ ti/k3-am62p5-sk.dtb \
+"
+
+UBOOT_MACHINE = "am62px_evm_a53_defconfig"
new file mode 100644
@@ -0,0 +1,19 @@
+require conf/machine/include/k3.inc
+SOC_FAMILY:append = ":am62pxx"
+
+MACHINE_FEATURES += "screen gpu"
+
+require conf/machine/include/mesa-pvr.inc
+PREFERRED_PROVIDER_virtual/gpudriver ?= ""
+
+# Default tiboot3.bin on AM62Px is for HS-FS
+IMAGE_BOOT_FILES += "tiboot3-am62px-hs-fs-evm.bin"
+
+TFA_BOARD = "lite"
+TFA_K3_SYSTEM_SUSPEND = "1"
+
+OPTEEMACHINE = "k3-am62px"
+
+MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "cnm-wave-fw"
+
+SERIAL_CONSOLES = "115200;ttyS2"
@@ -13,7 +13,7 @@ PR = "${INC_PR}.1"
CLEANBROKEN = "1"
-COMPATIBLE_MACHINE = "j721s2|j784s4|am62axx"
+COMPATIBLE_MACHINE = "j721s2|j784s4|am62axx|am62pxx"
PACKAGE_ARCH = "${MACHINE_ARCH}"
@@ -31,6 +31,7 @@ PLAT_SFX:am65xx = "am65xx"
PLAT_SFX:am64xx = "am64xx"
PLAT_SFX:am62xx = "am62xx"
PLAT_SFX:am62axx = "am62axx"
+PLAT_SFX:am62pxx = "am62pxx"
DM_FW_DIR = "ti-dm/${PLAT_SFX}"
@@ -47,6 +48,7 @@ DM_FW_LIST:am65xx = ""
DM_FW_LIST:am64xx = ""
DM_FW_LIST:am62xx = "${DM_FIRMWARE}"
DM_FW_LIST:am62axx = "${DM_FIRMWARE}"
+DM_FW_LIST:am62pxx = "${DM_FIRMWARE}"
do_install() {
# Sign the firmware
@@ -77,6 +79,7 @@ do_deploy() {
# Set up names for the firmwares
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}:j721e = "j7-mcu-r5f0_0-fw"
ALTERNATIVE:${PN}:j7200 = "j7200-mcu-r5f0_0-fw"
@@ -85,6 +88,7 @@ ALTERNATIVE:${PN}:j784s4 = "j784s4-mcu-r5f0_0-fw"
# Set up link names for the firmwares
ALTERNATIVE_LINK_NAME[am62-main-r5f0_0-fw] = "${nonarch_base_libdir}/firmware/am62-main-r5f0_0-fw"
+ALTERNATIVE_LINK_NAME[am62p-main-r5f0_0-fw] = "${nonarch_base_libdir}/firmware/am62p-main-r5f0_0-fw"
ALTERNATIVE_LINK_NAME[am62a-main-r5f0_0-fw] = "${nonarch_base_libdir}/firmware/am62a-main-r5f0_0-fw"
ALTERNATIVE_LINK_NAME[j7-mcu-r5f0_0-fw] = "${nonarch_base_libdir}/firmware/j7-mcu-r5f0_0-fw"
ALTERNATIVE_LINK_NAME[j7200-mcu-r5f0_0-fw] = "${nonarch_base_libdir}/firmware/j7200-mcu-r5f0_0-fw"
@@ -93,6 +97,7 @@ ALTERNATIVE_LINK_NAME[j784s4-mcu-r5f0_0-fw] = "${nonarch_base_libdir}/firmware/j
# Create the firmware alternatives
ALTERNATIVE_TARGET[am62-main-r5f0_0-fw] = "${INSTALL_DM_FW_DIR}/${DM_FIRMWARE}"
+ALTERNATIVE_TARGET[am62p-main-r5f0_0-fw] = "${INSTALL_DM_FW_DIR}/${DM_FIRMWARE}"
ALTERNATIVE_TARGET[am62a-main-r5f0_0-fw] = "${INSTALL_DM_FW_DIR}/${DM_FIRMWARE}"
ALTERNATIVE_TARGET[j7-mcu-r5f0_0-fw] = "${INSTALL_DM_FW_DIR}/${DM_FIRMWARE}"
ALTERNATIVE_TARGET[j7200-mcu-r5f0_0-fw] = "${INSTALL_DM_FW_DIR}/${DM_FIRMWARE}"
@@ -30,6 +30,7 @@ PLAT_SFX:j784s4 = "j784s4"
PLAT_SFX:am65xx = "am65xx"
PLAT_SFX:am64xx = "am64xx"
PLAT_SFX:am62xx = "am62xx"
+PLAT_SFX:am62pxx = "am62pxx"
PLAT_SFX:am62axx = "am62axx"
ETH_FW_DIR = "ti-eth/${PLAT_SFX}"
@@ -46,6 +47,7 @@ ETH_FW_LIST:j784s4 = "${ETH_FW}"
ETH_FW_LIST:am65xx = ""
ETH_FW_LIST:am64xx = ""
ETH_FW_LIST:am62xx = ""
+ETH_FW_LIST:am62pxx = ""
ETH_FW_LIST:am62axx = ""
do_install() {
@@ -44,6 +44,7 @@ PLAT_SFX:am65xx = "am65xx"
PLAT_SFX:am64xx = "am64xx"
PLAT_SFX:am62xx = "am62xx"
PLAT_SFX:am62axx = "am62axx"
+PLAT_SFX:am62pxx = "am62pxx"
PACKAGECONFIG[atf] = "BL31=${STAGING_DIR_HOST}/firmware/bl31.bin,,trusted-firmware-a"
PACKAGECONFIG[optee] = "TEE=${STAGING_DIR_HOST}${nonarch_base_libdir}/firmware/bl32.bin,,optee-os"
@@ -56,6 +57,7 @@ PACKAGECONFIG:append:j721s2 = " dm"
PACKAGECONFIG:append:j784s4 = " dm"
PACKAGECONFIG:append:am62xx = " dm"
PACKAGECONFIG:append:am62axx = " dm"
+PACKAGECONFIG:append:am62pxx = " dm"
COMPATIBLE_MACHINE = "(ti-soc)"
@@ -7,6 +7,7 @@ inherit ti-secdev
EXTRA_OEMAKE:append:k3 = "${@ ' CFG_CONSOLE_UART='+ d.getVar('OPTEE_K3_USART') if d.getVar('OPTEE_K3_USART') else ''}"
EXTRA_OEMAKE:append:am62xx = " CFG_WITH_SOFTWARE_PRNG=y CFG_TEE_CORE_LOG_LEVEL=1"
+EXTRA_OEMAKE:append:am62pxx = " CFG_WITH_SOFTWARE_PRNG=y CFG_TEE_CORE_LOG_LEVEL=1"
EXTRA_OEMAKE:append:am62axx = " CFG_TEE_CORE_LOG_LEVEL=1"
do_compile:append:k3() {
@@ -21,6 +21,7 @@ PLAT_SFX:am65xx = "am65xx"
PLAT_SFX:am64xx = "am64xx"
PLAT_SFX:am62xx = "am62xx"
PLAT_SFX:am62axx = "am62axx"
+PLAT_SFX:am62pxx = "am62pxx"
FILESEXTRAPATHS:prepend := "${METATIBASE}/recipes-bsp/ti-sci-fw/files/:"
require recipes-bsp/ti-linux-fw/ti-linux-fw.inc
@@ -56,6 +57,7 @@ IPC_FW_LIST = ""
IPC_FW_LIST:am65xx = "${MCU_1_0_FW} ${MCU_1_1_FW}"
IPC_FW_LIST:am64xx = "${MCU_1_0_FW} ${MCU_1_1_FW} ${MCU_2_0_FW} ${MCU_2_1_FW} ${MCU_3_0_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: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}"
@@ -80,6 +82,13 @@ do_install:prepend:am62xx() {
)
}
+# Update the am62pxx ipc binaries to be consistent with other platforms
+do_install:prepend:am62pxx() {
+ ( cd ${S}/${IPC_FW_DIR}; \
+ ln -sf am62p-mcu-r5f0_0-fw ${MCU_2_0_FW}; \
+ )
+}
+
# Update the am62axx ipc binaries to be consistent with other platforms
do_install:prepend:am62axx() {
( cd ${S}/${IPC_FW_DIR}; \
@@ -122,6 +131,10 @@ ALTERNATIVE:${PN}:am62xx = "\
am62-main-r5f0_0-fw am62-main-r5f0_0-fw-sec \
"
+ALTERNATIVE:${PN}:am62pxx = "\
+ am62p-mcu-r5f0_0-fw am62p-mcu-r5f0_0-fw-sec \
+ "
+
ALTERNATIVE:${PN}:am62axx = "\
am62a-mcu-r5f0_0-fw am62a-mcu-r5f0_0-fw-sec \
am62a-c71_0-fw am62a-c71_0-fw-sec \
@@ -191,6 +204,9 @@ ALTERNATIVE_LINK_NAME[am62-mcu-m4f0_0-fw-sec] = "${nonarch_base_libdir}/firmware
ALTERNATIVE_LINK_NAME[am62-main-r5f0_0-fw] = "${nonarch_base_libdir}/firmware/am62-main-r5f0_0-fw"
ALTERNATIVE_LINK_NAME[am62-main-r5f0_0-fw-sec] = "${nonarch_base_libdir}/firmware/am62-main-r5f0_0-fw-sec"
+ALTERNATIVE_LINK_NAME[am62p-mcu-r5f0_0-fw] = "${nonarch_base_libdir}/firmware/am62p-mcu-r5f0_0-fw"
+ALTERNATIVE_LINK_NAME[am62p-mcu-r5f0_0-fw-sec] = "${nonarch_base_libdir}/firmware/am62p-mcu-r5f0_0-fw-sec"
+
ALTERNATIVE_LINK_NAME[am62a-mcu-r5f0_0-fw] = "${nonarch_base_libdir}/firmware/am62a-mcu-r5f0_0-fw"
ALTERNATIVE_LINK_NAME[am62a-mcu-r5f0_0-fw-sec] = "${nonarch_base_libdir}/firmware/am62a-mcu-r5f0_0-fw-sec"
ALTERNATIVE_LINK_NAME[am62a-c71_0-fw] = "${nonarch_base_libdir}/firmware/am62a-c71_0-fw"
@@ -281,6 +297,9 @@ ALTERNATIVE_TARGET[am62-mcu-m4f0_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW
ALTERNATIVE_TARGET[am62-main-r5f0_0-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}"
ALTERNATIVE_TARGET[am62-main-r5f0_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}.signed"
+ALTERNATIVE_TARGET[am62p-mcu-r5f0_0-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}"
+ALTERNATIVE_TARGET[am62p-mcu-r5f0_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}.signed"
+
ALTERNATIVE_TARGET[am62a-mcu-r5f0_0-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}"
ALTERNATIVE_TARGET[am62a-mcu-r5f0_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}.signed"
ALTERNATIVE_TARGET[am62a-c71_0-fw] = "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}"