Showing results for 
Search instead for 
Did you mean: 

stm32mp157F custom board / OPTEE Panic @ ETZPC Probe

Associate II

Hello everyone, we have designed a custom stm32mp157f based board, trying to bring it up. I can get past the first stage boot loader and quite deep into OPTEE boot. The boot stops when OPTEE panics at ETZPC Probe (see below). If I disable the ETZPC in the device tree, the system hangs after displaying DT file name, with a message "DTB Disables Console". Any hints where to go from there are appreciated !


D/TC:0 0 print_probe_list:358 `- Probe list end
D/TC:0 0 print_probe_list:364 Failed list: 0 elements
D/TC:0 0 print_probe_list:369 `- Failed list end
F/TC:0 0 probe_driver_node:391 Probing stm32mp1-cpu-opp on node cpu0-opp-table
D/TC:0 0 probe_driver_node:404 element: stm32mp1-cpu-opp on node cpu0-opp-table deferred 2 time(s)
F/TC:0 0 probe_driver_node:391 Probing stm32-etzpc on node etzpc@5c007000
E/TC:0 0 stm32_etzpc_probe:651 ETZPC probe failed: 0x80000000
E/TC:0 0 Panic
D/TC:0 0 stm32_bsec_find_otp_in_nvmem_layout:644 nvmem part_number_otp = 1: 1 bit offset: 0, length: 8
M/TC: CPU : 0
M/TC: usr_sp : 0x00000000
M/TC: usr_lr : 0xffffffff
M/TC: irq_spsr : 0xffffffff
M/TC: irq_sp : 0x00000000
M/TC: irq_lr : 0x00000000
M/TC: fiq_spsr : 0xffffffff
M/TC: fiq_sp : 0xffffffff
M/TC: fiq_lr : 0x00040000
M/TC: svc_spsr : 0x00000000
M/TC: svc_sp : 0xffffffff
M/TC: svc_lr : 0xffffffff
M/TC: abt_spsr : 0x00000000
M/TC: abt_sp : 0x00000000
M/TC: abt_lr : 0xffffffff
M/TC: und_spsr : 0xffffffff
M/TC: und_sp : 0x00000000
M/TC: und_lr : 0x00080000
M/TC: pmcr : 0xffffffff

ST Employee



it seems that the error message you're getting comes from the stm32_bsec.c file in optee.
The problem must therefore be linked to a memory configuration error.
I think you should check your configuration and make sure there are no problems with it. 




In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.

Gregory - thanks for looking at this. I am not sure that you are quite correct. I traced the error (with JTAG) to DT tree get function in stm32-etzpc.c. Didn’t have time to dive deeper. In general device trees generated from CubeMX don’t seem to match what the drivers in optee are expecting. For example, I had in issue with panic during rcc init, because the rcc driver was expecting compat = “st,stm32-clock” line. The DT files didn’t have that. I am using the ST Linux distribution from git coned with repo - I was wondering is if I have old version of the distribution 

Senior II

The ETZPC is a security-related component responsible for configuring the TrustZone security regions. Ensure that the ETZPC is properly configured in your device tree (if enabled) and that its settings match the hardware configuration of your board. The ETZPC settings could be related to memory or peripheral region access permissions in TrustZone.

Thank you - I’ll check - another question - should I be able to boot with ETZPC disabled ? I tried disabling it on the device tree and the system hangs with the last message stating DTB Disabling Console.