Tool/software:
Hello,
I am having trouble building the OP-TEE for the am62px. I ran through the OP-TEE build instructions listed in the processor sdk manual and was met with the error described in the txt file I attached.
I believe this error may have to do with setting the platform to k3-am62px. The platform_config.h and conf.mk file in optee_os/core/arch/arm/plat-k3/ do not handle this device. What’s confusing is that this wasn’t an issue in SDK 10.1, which uses OP-TEE version 4.4. The platform_config.h file are identical between the previous version and this one, and the changes in conf.mk don't provide a clear explanation as to why the k3-am62px platform is no longer accepted. I found the following commit: https://github.com/OP-TEE/optee_os/commit/9240925f9606a9f49e5383df8ffde2fbee2a977b. According to this commit the platform specified does not matter, so could setting the platform option to k3-am62x be a hack for this issue or should k3-am62px be a valid platform.
Thank you,
-Job
jsava@laptop-183:/export/home/jsava/u-boot-ti/op-tee_temp/optee_os$ SDK_INSTALL_DIR=/export/home/jsava/ti-processor-sdk-linux-am62pxx-evm-11.00.09.04
jsava@laptop-183:/export/home/jsava/u-boot-ti/op-tee_temp/optee_os$ export CROSS_COMPILE_64="${SDK_INSTALL_DIR}/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/aarch64-oe-linux/aarch64-oe-linux-"
jsava@laptop-183:/export/home/jsava/u-boot-ti/op-tee_temp/optee_os$ export SYSROOT_64="${SDK_INSTALL_DIR}/linux-devkit/sysroots/aarch64-oe-linux"
jsava@laptop-183:/export/home/jsava/u-boot-ti/op-tee_temp/optee_os$ export CC_64="${CROSS_COMPILE_64}gcc --sysroot=${SYSROOT_64}"
jsava@laptop-183:/export/home/jsava/u-boot-ti/op-tee_temp/optee_os$ export CROSS_COMPILE_32="${SDK_INSTALL_DIR}/k3r5-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-oe-eabi/arm-oe-eabi-"
jsava@laptop-183:/export/home/jsava/u-boot-ti/op-tee_temp/optee_os$ make CROSS_COMPILE="$CROSS_COMPILE_32" CROSS_COMPILE64="$CROSS_COMPILE_64" PLATFORM=k3-am62px CFG_ARM64_core=y
CHK out/arm-plat-k3/conf.mk
CHK out/arm-plat-k3/include/generated/conf.h
CC out/arm-plat-k3/core/include/generated/.asm-defines.s
CHK out/arm-plat-k3/core/include/generated/asm-defines.h
UPD out/arm-plat-k3/core/include/generated/asm-defines.h
CC out/arm-plat-k3/core/arch/arm/kernel/rpc_io_i2c.o
CC out/arm-plat-k3/core/arch/arm/kernel/idle.o
CC out/arm-plat-k3/core/arch/arm/kernel/tee_time_arm_cntpct.o
CC out/arm-plat-k3/core/arch/arm/kernel/timer_a64.o
AS out/arm-plat-k3/core/arch/arm/kernel/spin_lock_a64.o
AS out/arm-plat-k3/core/arch/arm/kernel/tlb_helpers_a64.o
AS out/arm-plat-k3/core/arch/arm/kernel/cache_helpers_a64.o
AS out/arm-plat-k3/core/arch/arm/kernel/thread_a64.o
CC out/arm-plat-k3/core/arch/arm/kernel/thread.o
CC out/arm-plat-k3/core/arch/arm/kernel/arch_scall.o
AS out/arm-plat-k3/core/arch/arm/kernel/arch_scall_a64.o
CC out/arm-plat-k3/core/arch/arm/kernel/thread_optee_smc.o
AS out/arm-plat-k3/core/arch/arm/kernel/thread_optee_smc_a64.o
CC out/arm-plat-k3/core/arch/arm/kernel/abort.o
CC out/arm-plat-k3/core/arch/arm/kernel/vfp.o
AS out/arm-plat-k3/core/arch/arm/kernel/vfp_a64.o
AS out/arm-plat-k3/core/arch/arm/kernel/misc_a64.o
CC out/arm-plat-k3/core/arch/arm/kernel/boot.o
AS out/arm-plat-k3/core/arch/arm/kernel/entry_a64.o
CC out/arm-plat-k3/core/arch/arm/kernel/unwind_arm64.o
AS out/arm-plat-k3/core/arch/arm/crypto/ghash-ce-core_a64.o
CC out/arm-plat-k3/core/arch/arm/crypto/aes-gcm-ce.o
CC out/arm-plat-k3/core/arch/arm/crypto/aes_armv8a_ce.o
AS out/arm-plat-k3/core/arch/arm/crypto/aes_modes_armv8a_ce_a64.o
CC out/arm-plat-k3/core/arch/arm/crypto/sha1_armv8a_ce.o
AS out/arm-plat-k3/core/arch/arm/crypto/sha1_armv8a_ce_a64.o
CC out/arm-plat-k3/core/arch/arm/crypto/sha256_armv8a_ce.o
AS out/arm-plat-k3/core/arch/arm/crypto/sha256_armv8a_ce_a64.o
CC out/arm-plat-k3/core/arch/arm/crypto/sm4_armv8a_neon.o
AS out/arm-plat-k3/core/arch/arm/crypto/sm4_armv8a_aese_a64.o
CC out/arm-plat-k3/core/arch/arm/mm/core_mmu.o
CC out/arm-plat-k3/core/arch/arm/mm/core_mmu_lpae.o
CC out/arm-plat-k3/core/arch/arm/tee/entry_fast.o
CC out/arm-plat-k3/core/arch/arm/tee/cache.o
CC out/arm-plat-k3/core/arch/arm/plat-k3/main.o
CC out/arm-plat-k3/core/arch/arm/plat-k3/drivers/sec_proxy.o
CC out/arm-plat-k3/core/arch/arm/plat-k3/drivers/ti_sci.o
CC out/arm-plat-k3/core/arch/arm/plat-k3/drivers/sa2ul.o
In file included from core/include/mm/core_memprot.h:9,
from core/include/kernel/interrupt.h:10,
from core/arch/arm/plat-k3/drivers/sa2ul.c:13:
core/arch/arm/plat-k3/drivers/sa2ul.c:36:42: error: ‘SA2UL_BASE’ undeclared here (not in a function); did you mean ‘SCU_BASE’?
36 | register_phys_mem_pgdir(MEM_AREA_IO_SEC, SA2UL_BASE, SA2UL_REG_SIZE);
| ^~~~~~~~~~
core/include/mm/core_mmu.h:188:62: note: in definition of macro ‘__register_memory’
188 | { .name = (_name), .type = (_type), .addr = (_addr), \
| ^~~~~
core/include/mm/core_mmu.h:211:40: note: in expansion of macro ‘ROUNDDOWN’
211 | __register_memory(#addr, type, ROUNDDOWN(addr, CORE_MMU_PGDIR_SIZE), \
| ^~~~~~~~~
core/arch/arm/plat-k3/drivers/sa2ul.c:36:1: note: in expansion of macro ‘register_phys_mem_pgdir’
36 | register_phys_mem_pgdir(MEM_AREA_IO_SEC, SA2UL_BASE, SA2UL_REG_SIZE);
| ^~~~~~~~~~~~~~~~~~~~~~~
core/arch/arm/plat-k3/drivers/sa2ul.c: In function ‘sa2ul_init’:
core/arch/arm/plat-k3/drivers/sa2ul.c:42:27: error: ‘SA2UL_TI_SCI_FW_ID’ undeclared (first use in this function)
42 | uint16_t fwl_id = SA2UL_TI_SCI_FW_ID;
| ^~~~~~~~~~~~~~~~~~
core/arch/arm/plat-k3/drivers/sa2ul.c:42:27: note: each undeclared identifier is reported only once for each function it appears in
core/arch/arm/plat-k3/drivers/sa2ul.c:43:33: error: ‘SA2UL_TI_SCI_FW_RGN_ID’ undeclared (first use in this function); did you mean ‘RNG_TI_SCI_FW_RGN_ID’?
43 | uint16_t sa2ul_region = SA2UL_TI_SCI_FW_RGN_ID;
| ^~~~~~~~~~~~~~~~~~~~~~
| RNG_TI_SCI_FW_RGN_ID
core/arch/arm/plat-k3/drivers/sa2ul.c:57:13: error: ‘SA2UL_TI_SCI_DEV_ID’ undeclared (first use in this function)
57 | if (SA2UL_TI_SCI_DEV_ID != -1) {
| ^~~~~~~~~~~~~~~~~~~
At top level:
cc1: note: unrecognized command-line option ‘-Wno-c2x-extensions’ may have been intended to silence earlier diagnostics
make: *** [mk/compile.mk:166: out/arm-plat-k3/core/arch/arm/plat-k3/drivers/sa2ul.o] Error 1
