- Add machine configuration for am62lxx-evm - Add TFA, OPTEE, firmware & u-boot overrides
Signed-off-by: Chirag Shilwant <[email protected]> --- meta-ti-bsp/conf/machine/am62lxx-evm.conf | 16 ++++ meta-ti-bsp/conf/machine/include/am62lxx.inc | 14 ++++ meta-ti-bsp/recipes-bsp/ti-dm-fw/ti-dm-fw.bb | 2 + .../recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb | 6 ++ .../trusted-firmware-a-ti.inc | 3 + meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc | 21 ++++++ .../Add-initial-support-for-AM62Lx-SoC.patch | 75 +++++++++++++++++++ .../optee/optee-os-ti-overrides.inc | 1 + .../optee/optee-os_%.bbappend | 6 ++ 9 files changed, 144 insertions(+) create mode 100644 meta-ti-bsp/conf/machine/am62lxx-evm.conf create mode 100644 meta-ti-bsp/conf/machine/include/am62lxx.inc create mode 100644 meta-ti-bsp/recipes-security/optee/files/Add-initial-support-for-AM62Lx-SoC.patch diff --git a/meta-ti-bsp/conf/machine/am62lxx-evm.conf b/meta-ti-bsp/conf/machine/am62lxx-evm.conf new file mode 100644 index 00000000..93ad0089 --- /dev/null +++ b/meta-ti-bsp/conf/machine/am62lxx-evm.conf @@ -0,0 +1,16 @@ +#@TYPE: Machine +#@NAME: AM62L EVM +#@DESCRIPTION: Machine configuration for the TI AM62L EVM + +require conf/machine/include/am62lxx.inc + +KERNEL_DEVICETREE_PREFIX = " \ + ti/k3-am62l \ +" + +KERNEL_DEVICETREE = " \ + ti/k3-am62l.dtb \ + ti/k3-am62l3-evm.dtb \ +" + +UBOOT_MACHINE = "am62lx_evm_defconfig" diff --git a/meta-ti-bsp/conf/machine/include/am62lxx.inc b/meta-ti-bsp/conf/machine/include/am62lxx.inc new file mode 100644 index 00000000..94eadd4b --- /dev/null +++ b/meta-ti-bsp/conf/machine/include/am62lxx.inc @@ -0,0 +1,14 @@ +require conf/machine/include/k3.inc +SOC_FAMILY:append = ":am62lxx" + +MACHINE_FEATURES += "screen" + +# Default tiboot3.bin on AM62L is for HS-FS +IMAGE_BOOT_FILES += "tiboot3-am62lx-hs-fs-evm.bin" + +TFA_BOARD = "am62l" +TFA_K3_SYSTEM_SUSPEND = "1" + +OPTEEMACHINE = "k3-am62lx" + +SERIAL_CONSOLES = "115200;ttyS2" 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 0b6792b6..638138f4 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 @@ -31,6 +31,7 @@ PLAT_SFX:am65xx = "am65xx" PLAT_SFX:am64xx = "am64xx" PLAT_SFX:am62xx = "am62xx" PLAT_SFX:am62axx = "am62axx" +PLAT_SFX:am62lxx = "am62lxx" PLAT_SFX:am62pxx = "am62pxx" DM_FW_DIR = "ti-dm/${PLAT_SFX}" @@ -50,6 +51,7 @@ DM_FW_LIST:am65xx = "" DM_FW_LIST:am64xx = "" DM_FW_LIST:am62xx = "${DM_FIRMWARE}" DM_FW_LIST:am62axx = "${DM_FIRMWARE}" +DM_FW_LIST:am62lxx = "" DM_FW_LIST:am62pxx = "${DM_FIRMWARE}" do_install() { diff --git a/meta-ti-bsp/recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb b/meta-ti-bsp/recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb index 12292c88..0d724862 100644 --- a/meta-ti-bsp/recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb +++ b/meta-ti-bsp/recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb @@ -26,4 +26,10 @@ do_deploy:k3r5() { install -m 644 ${S}/ti-sysfw/ti-fs-stub-firmware-* ${DEPLOYDIR}/ti-sysfw } +do_deploy:am62lxx(){ + install -d ${DEPLOYDIR}/ti-sysfw + install -m 644 ${S}/ti-sysfw/ti-sci-firmware-* ${DEPLOYDIR}/ti-sysfw + install -m 644 ${S}/ti-sysfw/ti-fs-firmware-* ${DEPLOYDIR}/ti-sysfw +} + addtask deploy before do_build after do_compile diff --git a/meta-ti-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-ti.inc b/meta-ti-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-ti.inc index e4a9c49b..9c7cae07 100644 --- a/meta-ti-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-ti.inc +++ b/meta-ti-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-ti.inc @@ -8,5 +8,8 @@ TFA_BUILD_TARGET:k3 = "all" TFA_INSTALL_TARGET:k3 = "bl31" TFA_SPD:k3 = "opteed" +# For am62lxx, install bl1 & bl31 using TFA_INSTALL_TARGET +TFA_INSTALL_TARGET:am62lxx = "bl31 bl1" + EXTRA_OEMAKE:append:k3 = "${@ ' K3_USART=' + d.getVar('TFA_K3_USART') if d.getVar('TFA_K3_USART') else ''}" EXTRA_OEMAKE:append:k3 = "${@ ' K3_PM_SYSTEM_SUSPEND=' + d.getVar('TFA_K3_SYSTEM_SUSPEND') if d.getVar('TFA_K3_SYSTEM_SUSPEND') else ''}" 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 0e7e2c6e..80b79122 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 @@ -53,8 +53,10 @@ PLAT_SFX:am65xx = "am65xx" PLAT_SFX:am64xx = "am64xx" PLAT_SFX:am62xx = "am62xx" PLAT_SFX:am62axx = "am62axx" +PLAT_SFX:am62lxx = "am62lxx" PLAT_SFX:am62pxx = "am62pxx" +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" PACKAGECONFIG[optee] = "TEE=${STAGING_DIR_HOST}${nonarch_base_libdir}/firmware/bl32.bin,,optee-os" PACKAGECONFIG[dm] = "DM=${STAGING_DIR_HOST}${nonarch_base_libdir}/firmware/ti-dm/${PLAT_SFX}/${DM_FIRMWARE},,ti-dm-fw" @@ -68,6 +70,7 @@ PACKAGECONFIG:append:j722s = " dm" PACKAGECONFIG:append:j742s2 = " dm" PACKAGECONFIG:append:am62xx = " dm" PACKAGECONFIG:append:am62axx = " dm" +PACKAGECONFIG:append:am62lxx = " ap-trusted-rom" PACKAGECONFIG:append:am62pxx = " dm" COMPATIBLE_MACHINE = "(ti-soc)" @@ -226,6 +229,16 @@ uboot_deploy_config:append:k3r5 () { done } +uboot_deploy_config:append:am62lxx () { + for f in ${B}/${config}/tiboot3-*.bin; do + if [ -f "$f" ]; then + f_base=$(basename $f) + install -m 644 $f ${DEPLOYDIR}/${f_base}-${type} + ln -sf ${f_base}-${type} ${DEPLOYDIR}/${f_base} + fi + done +} + uboot_deploy:append:k3r5 () { for f in ${B}/tiboot3-*.bin; do if [ -f "$f" ]; then @@ -240,6 +253,14 @@ uboot_deploy:append:k3r5 () { done } +uboot_deploy:append:am62lxx () { + for f in ${B}/tiboot3*.bin; do + if [ -f "$f" ]; then + install -m 644 $f ${DEPLOYDIR}/ + fi + done +} + uboot_deploy_config:append () { cd ${DEPLOYDIR} if [ "x${SPL_UART_BINARY}" != "x" ]; then diff --git a/meta-ti-bsp/recipes-security/optee/files/Add-initial-support-for-AM62Lx-SoC.patch b/meta-ti-bsp/recipes-security/optee/files/Add-initial-support-for-AM62Lx-SoC.patch new file mode 100644 index 00000000..c0a42016 --- /dev/null +++ b/meta-ti-bsp/recipes-security/optee/files/Add-initial-support-for-AM62Lx-SoC.patch @@ -0,0 +1,75 @@ +From 781cbb54ec52209af791aa5573b18b25cc0f4ca2 Mon Sep 17 00:00:00 2001 +From: Vignesh Raghavendra <[email protected]> +Date: Tue, 1 Oct 2024 10:30:11 +0530 +Subject: [PATCH] plat-k3: Add initial support for AM62Lx SoC + +AM62Lx newest among on the K3 class of SoCs designed to be low footprint +system where DDR can be as small as 128M. Hence, move the DDR location +to the beginning of DDR right after TF-A. + +Disable TI SCI, secure boot info and HW unique ID support for now, they +will be incrementally at later point in time as the underlying +communication layer is different than AM62x. + +This patch is posted upstream [1] & will be dropped once it's merged + +[1]: https://github.com/OP-TEE/optee_os/pull/7258 + +Upstream-Status: Submitted + +Signed-off-by: Vignesh Raghavendra <[email protected]> +Acked-by: Jerome Forissier <[email protected]> +--- + .github/workflows/ci.yml | 2 ++ + core/arch/arm/plat-k3/conf.mk | 5 +++++ + core/arch/arm/plat-k3/main.c | 2 ++ + 3 files changed, 9 insertions(+) + +diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml +index 7df169729bf..b83d3b42f06 100644 +--- a/.github/workflows/ci.yml ++++ b/.github/workflows/ci.yml +@@ -211,6 +211,8 @@ jobs: + _make PLATFORM=k3-am64x CFG_ARM64_core=y + _make PLATFORM=k3-am62x + _make PLATFORM=k3-am62x CFG_ARM64_core=y ++ _make PLATFORM=k3-am62lx ++ _make PLATFORM=k3-am62lx CFG_ARM64_core=y + _make PLATFORM=ti-dra7xx out/core/tee{,-pager,-pageable}.bin + _make PLATFORM=ti-am57xx + _make PLATFORM=ti-am43xx +diff --git a/core/arch/arm/plat-k3/conf.mk b/core/arch/arm/plat-k3/conf.mk +index 2fd235e22fb..217e28359e3 100644 +--- a/core/arch/arm/plat-k3/conf.mk ++++ b/core/arch/arm/plat-k3/conf.mk +@@ -2,8 +2,13 @@ CFG_WITH_STATS ?= y + CFG_CRYPTO_WITH_CE ?= y + CFG_CONSOLE_UART ?= 0 + ++ifeq ($(PLATFORM_FLAVOR),am62lx) ++CFG_TZDRAM_START ?= 0x80200000 ++CFG_TZDRAM_SIZE ?= 0x00400000 # 20MB ++else + CFG_TZDRAM_START ?= 0x9e800000 + CFG_TZDRAM_SIZE ?= 0x01400000 # 20MB ++endif + CFG_SHMEM_START ?= ($(CFG_TZDRAM_START) + $(CFG_TZDRAM_SIZE)) + CFG_SHMEM_SIZE ?= 0x00400000 # 4MB + +diff --git a/core/arch/arm/plat-k3/main.c b/core/arch/arm/plat-k3/main.c +index ecfe4837d7a..d4561ae8492 100644 +--- a/core/arch/arm/plat-k3/main.c ++++ b/core/arch/arm/plat-k3/main.c +@@ -49,6 +49,7 @@ void plat_console_init(void) + register_serial_console(&console_data.chip); + } + ++#ifndef PLATFORM_FLAVOR_am62lx + static TEE_Result init_ti_sci(void) + { + TEE_Result ret = TEE_SUCCESS; +@@ -105,3 +106,4 @@ TEE_Result tee_otp_get_hw_unique_key(struct tee_hw_unique_key *hwkey) + + return TEE_SUCCESS; + } ++#endif 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 f131f1ff..5756f3ff 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 @@ -6,6 +6,7 @@ EXTRA_OEMAKE:remove = "CFG_MAP_EXT_DT_SECURE=y" EXTRA_OEMAKE:append:k3 = "${@ ' CFG_CONSOLE_UART='+ d.getVar('OPTEE_K3_USART') if d.getVar('OPTEE_K3_USART') else ''}" 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:j722s = " CFG_TEE_CORE_LOG_LEVEL=1" diff --git a/meta-ti-bsp/recipes-security/optee/optee-os_%.bbappend b/meta-ti-bsp/recipes-security/optee/optee-os_%.bbappend index 0cee127f..442c42ef 100644 --- a/meta-ti-bsp/recipes-security/optee/optee-os_%.bbappend +++ b/meta-ti-bsp/recipes-security/optee/optee-os_%.bbappend @@ -7,3 +7,9 @@ OPTEE_TI_OVERRIDES = "" OPTEE_TI_OVERRIDES:ti-soc = "${BPN}-ti-overrides.inc" require ${OPTEE_TI_OVERRIDES} + +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" + +SRC_URI:append:am62lxx = " \ + file://Add-initial-support-for-AM62Lx-SoC.patch \ +" -- 2.34.1
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#18257): https://lists.yoctoproject.org/g/meta-ti/message/18257 Mute This Topic: https://lists.yoctoproject.org/mt/110991530/21656 Group Owner: [email protected] Unsubscribe: https://lists.yoctoproject.org/g/meta-ti/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
