Tool/software:
Hello,
We are in the middle of bringing up a custom board using an AM68A. We are using MAIN_UART3 for our serial console. We followed the instructions in UART Log Debug System on Jacinto 7 SoC to change the serial console from the default of MAIN_UART8 to MAIN_UART3, including rebuilding ATF and OP-TEE. We are getting the serial output on MAIN_UART3 as expected, but run into an issue on the A72 when we reach OP-TEE. Please refer to the serial output below:
U-Boot SPL 2024.04-g4ccc9bf3-dirty (Sep 19 2024 - 17:44:37 -0400) SYSFW ABI: 4.0 (firmware rev 0x000a '10.0.8--v10.00.08 (Fiery Fox)') EEPROM not available at 0x50, trying to read at 0x51 Reading on-board EEPROM at 0x51 failed -121 SPL initial stack usage: 13440 bytes Trying to boot from MMC2 Authentication passed Authentication passed Authentication passed Loading Environment from nowhere... OK Authentication passed Authentication passed Starting ATF on ARM64 core... NOTICE: BL31: v2.10.0(release):v2.10.0-367-g00f1ec6b8 NOTICE: BL31: Built : 19:44:17, Sep 18 2024 I/TC: I/TC: OP-TEE version: 4.2.0-dev (gcc version 13.3.1 20240614 (Arm GNU Toolchain 13.3.Rel1 (Build arm-13.24))) #1 Wed Sep 18 21:47:50 UTC 2024 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: GIC redistributor base address not provided I/TC: Assuming default GIC group status and modifier E/TC:0 0 k3_sec_proxy_verify_thread:108 Queue is busy E/TC:0 0 k3_sec_proxy_send:134 Thread SEC_PROXY_LOW_PRIORITY_THREAD verification failed. ret = -65523 E/TC:0 0 ti_sci_do_xfer:142 Message sending failed (-65523) E/TC:0 0 ti_sci_init:486 Unable to communicate with control firmware (-65523) E/TC:0 0 call_initcalls:43 Initcall __text_start + 0x0006ff80 failed E/TC:0 0 k3_sec_proxy_verify_thread:108 Queue is busy E/TC:0 0 k3_sec_proxy_send:134 Thread SEC_PROXY_LOW_PRIORITY_THREAD verification failed. ret = -65523 E/TC:0 0 ti_sci_do_xfer:142 Message sending failed (-65523) E/TC:0 0 k3_sec_proxy_verify_thread:108 Queue is busy E/TC:0 0 k3_sec_proxy_send:134 Thread SEC_PROXY_LOW_PRIORITY_THREAD verification failed. ret = -65523 E/TC:0 0 ti_sci_do_xfer:142 Message sending failed (-65523) E/TC:0 0 k3_sec_proxy_verify_thread:108 Queue is busy E/TC:0 0 k3_sec_proxy_send:134 Thread SEC_PROXY_LOW_PRIORITY_THREAD verification failed. ret = -65523 E/TC:0 0 ti_sci_do_xfer:142 Message sending failed (-65523) E/TC:0 0 tee_otp_get_hw_unique_key:97 Could not get HUK E/TC:0 0 call_initcalls:43 Initcall __text_start + 0x0006ffa8 failed I/TC: Primary CPU switching to normal world boot PANIC in EL3. x30 = 0x0000000070008424 x0 = 0x00000000be000000 x1 = 0x000000009e8018e4 x2 = 0x0000000000000002 x3 = 0x0000000000000700 x4 = 0x000000009e873d90 x5 = 0x000000009e873d90 x6 = 0x000000000000000f x7 = 0xb46d3e8a0fe4dd9c x8 = 0x0000000000000020 x9 = 0x000000009e8a2f50 x10 = 0x000000009e8811d0 x11 = 0x0000000000000000 x12 = 0x0000000000000000 x13 = 0x000000009e86ebee x14 = 0x0000000000000000 x15 = 0x0000000000000000 x16 = 0x000000009e84ddcc x17 = 0x0000000000000000 x18 = 0x0000000000000000 x19 = 0x0000000000000000 x20 = 0x0000000000000000 x21 = 0x0000000000000000 x22 = 0x0000000000000000 x23 = 0x000000009e8abcb0 x24 = 0x000000009e873dc0 x25 = 0x0000000000000000 x26 = 0x0000000000000000 x27 = 0x0000000000000000 x28 = 0x000000009e8001d4 x29 = 0x0000000000000064 scr_el3 = 0x0000000000000e30 sctlr_el3 = 0x0000000030cd183f cptr_el3 = 0x0000000000000000 tcr_el3 = 0x0000000080803520 daif = 0x00000000000003c0 mair_el3 = 0x00000000004404ff spsr_el3 = 0x00000000600003c4 elr_el3 = 0x000000009e8001d4 ttbr0_el3 = 0x0000000070013080 esr_el3 = 0x000000005e000000 far_el3 = 0x0000000000000000 spsr_el1 = 0x0000000000000000 elr_el1 = 0x0000000000000000 spsr_abt = 0x0000000000000000 spsr_und = 0x0000000000000000 spsr_irq = 0x0000000000000000 spsr_fiq = 0x0000000000000000 sctlr_el1 = 0x0000000000c8180d actlr_el1 = 0x0000000000000000 cpacr_el1 = 0x0000000000000000 csselr_el1 = 0x0000000000000000 sp_el1 = 0x000000009e873dc0 esr_el1 = 0x0000000000000000 ttbr0_el1 = 0x000000009e8a1000 ttbr1_el1 = 0x0000000000000000 mair_el1 = 0x00000000ff00ff04 amair_el1 = 0x0000000000000000 tcr_el1 = 0x0000000180803fa0 tpidr_el1 = 0x0000000000000000 tpidr_el0 = 0x0000000000000000 tpidrro_el0 = 0x0000000000000000 par_el1 = 0xff0000009fc00b80 mpidr_el1 = 0x0000000080000000 afsr0_el1 = 0x0000000000000000 afsr1_el1 = 0x0000000000000000 contextidr_el1 = 0x0000000000000000 vbar_el1 = 0x000000009e803000 cntp_ctl_el0 = 0x0000000000000000 cntp_cval_el0 = 0x0000000000000000 cntv_ctl_el0 = 0x0000000000000000 cntv_cval_el0 = 0x0000000000000000 cntkctl_el1 = 0x0000000000000000 sp_el0 = 0x000000009e8abcb0 isr_el1 = 0x0000000000000100 dacr32_el2 = 0x0000000000000000 ifsr32_el2 = 0x0000000000000000 cpuectlr_el1 = 0x0000001b00000040 cpumerrsr_el1 = 0x0000000000000000 l2merrsr_el1 = 0x0000000000000000
I was able to rebuild ATF without the SPD=opteed argument when running make. This allowed me to workaround the OP-TEE issue and can verify that I can begin to boot Linux.
From the logs I included, it looks like the A72 is unable to communicate with the R5 sciserver, but I'm not sure. I'm using version 10.00.00.08 of the Linux SDK and I'm building u-boot using the top level makefile. Can someone guide me on what I can do to resolve this OP-TEE issue?
Thanks!