Custom board using LS1043AE have it secure booting just fine with no OP-TEE. Trying to introduce OP-TEE to the system and console outputs and hangs at:
NOTICE: 2 GB DDR4, 32-bit, CL=11, ECC off
NOTICE: BL2: v2.4(release):LSDK-21.08-1-ga08bfddba-dirty
NOTICE: BL2: Built : 22:39:20, Aug 31 2026
NOTICE: Initializing & configuring SEC block.
NOTICE: Sec is already initialized and configured.
NOTICE: Verifying RSA
NOTICE: Verifying hash
NOTICE: Verifying RSA
NOTICE: Verifying hash
NOTICE: Verifying RSA
NOTICE: Verifying hash
NOTICE: BL2: Booting BL31
NOTICE: BL31: v2.4(release):LSDK-21.08-1-ga08bfddba-dirty
NOTICE: BL31: Built : 22:39:48, Aug 31 2026
NOTICE: Welcome to ls1043aerb BL31 Phase
According to Google/Gemini it thinks there is a problem with GIC. ATF and OP-TEE appear to be using 64k page aligned, but in a uboot dts it has it at a 4k page aligned. I don't think it's this issue, or at least not yet. Because it doesn't appear to Initialize OP-TEE at all.
Thoughts?
It seems that there is problem with your u-boot.
Would you please try whether it can work to boot normal u-boot(not secured) with OPTEE enabled?
I don't mind trying that, but what is that testing for? What are you currently thinking is possibly wrong with uboot? Since it works without optee I'm curious as to what could be wrong or what I should look for?
What I would check first:
fiptool info fip.bin
and confirm BL31, BL32/OP-TEE, and BL33 are all present. If BL32 is missing or BL31 was not built with SPD=opteed , OP-TEE will never be entered.
My strongest hypothesis: BL31 is built/configured differently when OP-TEE is enabled and is hanging in early BL31 platform/SPD setup before the OP-TEE banner or BL32 entry. I would first instrument BL31 around GIC/platform setup and verify FIP/ SPD=opteed / BL32=tee.bin /secure-boot CSF layout, then check the LS1043A NXP_ROM_RSVD=0x8000 issue.
So I built atf with debugging and the final message I get before silent hang is:
INFO: BL31: Initializing BL32
So if I understood your recommandation correctly, I should focus on OP-TEE specifically now, correct?
Yes, please verify OP-TEE with normal boot(not secured) first to make sure there is no problem with your building and deployment procedure with OP-TEE.
I believe I was using the wrong tee.bin.
I was using the tee.bin that was generated during a manual build of OP-TEE and not the objcopy version I needed to generate. That appears to allow the system to initialize and boot into linux.
I do have more kernel logging messages about optee that I need to look into, but I will close this thread because this specific issue is resolved.