Part Number: J784S4XEVM
Hi,
I have been investigating rebuilding all boot components (ATF, TEE, SYSFW, etc.) from source as part of our build configuration.
Although everything works fine on the mid (J721E), on the high (J784S4) if I used my own build of TEE, the device fails to boot.
Here is a good boot (prebuilt TEE from Linux SDK 08_06_01_03):
Starting ATF on ARM64 core...
NOTICE: BL31: v2.8(release): NOTICE: BL31: Built : 09:35:10, Dec 5 2023 I/TC: I/TC: OP-TEE version: 3.20.0 (gcc version 9.2.1 20191025 (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10))) #1 Tue May 2 21:12:33 UTC 2023 aarch64 I/TC: WARNING: This OP-TEE configuration might be insecure! I/TC: WARNING: Please check https://optee.readthedocs.io/en/latest/architecture/porting_guidelines.html I/TC: Primary CPU initializing I/TC: SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.3--1-g2249f (Chill Capybara') I/TC: HUK Initialized I/TC: Activated SA2UL device I/TC: Fixing SA2UL firewall owner for GP device I/TC: Enabled firewalls for SA2UL TRNG device I/TC: SA2UL TRNG initialized I/TC: SA2UL Drivers initialized I/TC: Primary CPU switching to normal world boot
And here is a bad boot (rebuild TEE from source):
Starting ATF on ARM64 core... NOTICE: BL31: v2.8(release): NOTICE: BL31: Built : 09:35:10, Dec 5 2023 <Hangs Here>
I have followed the instructions in the SDK documentation (specifically docs/linux/Foundational_Components_OPTEE.html).
Specifically, the git hash of the source being used is as per the documentation:
/opt/ti-processor-sdk-rtos-j784s4-evm-08_06_01_03/optee_os# git status HEAD detached at 8e74d4761 nothing to commit, working tree clean
And the build command is as per the documentation:
make -C /opt/ti-processor-sdk-rtos-j784s4-evm-08_06_01_03/optee_os O=/tmp/boot/tee CROSS_COMPILE=/opt/ti-processor-sdk-rtos-j784s4-evm-08_06_01_03/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf- CROSS_COMPILE64=/opt/ti-processor-sdk-rtos-j784s4-evm-08_06_01_03/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu- PLATFORM=k3-j784s4 CFG_ARM64_core=y
So I'm not sure what is going wrong, given I'm following the build instructions pretty closely. Is the documentation wrong or is there something missing?
Many Thanks,
Ross