cancel
Showing results for 
Search instead for 
Did you mean: 

Panic at core/kernel/dt_driver.c:904 <probe_dt_drivers>

SullyNiu
Associate II

I'm using a custom board, and use  the optee device tree generated by STM32CUBEMX and full UART log. Panic at core/kernel/dt_driver.c:904 <probe_dt_drivers>. How to solve this problem?

14 REPLIES 14
ItayElezweig
Associate

Hey, I'm having a very similar issue (Custom board, optee devicetree generated by the CubeMX), I was wondering were you able to get this resolved?

GatienC
ST Employee

Hello,

This indicates that a driver(core/drivers/stm32_cpu_opp.c) has failed to probe in OP-TEE. This leads to a panic of the platform to prevent undesired behavior in the TEE. The error code refers to something not supported (error code 0xFFFF000A being  TEE_ERROR_NOT_SUPPORTED).

It probably means that there's something wrong with the OPP being configured, whether it's linked to the regulator or the frequency. It seems you don't have a PMIC and maybe there's something wrong with the regulator referenced by the  "cpu-supply" property of your board. Maybe you can take example on other PMIC-less boards.

I hope it sets you in the right track,

Gatien

I have the same issue , first and fall cube MX generated OPTEE RIF file for LTDC RIFC configuration Macro is wrong , i solved manually , but now i am facing the issue in OPTEE , I am using the STM32mp255dak3 proccessor.

OP-TEE version: devtool-patched-dev (gcc version 13.3.0 (GCC)) #12 Thu Jul 24 08:23:11 UTC 2025 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: WARNING: All debug access are allowed
I/TC: UART console (non-secure)
I/TC: Platform stm32mp2: flavor PLATFORM_FLAVOR - DT stm32mp255d-custom_eds-mx.dts
I/TC: OP-TEE ST profile: secure_and_system_services
E/TC:0 0 probe_dt_drivers:902 Probe sequence result: 0x80000000
E/TC:0 0 Panic at /usr/src/debug/optee-os-stm32mp/4.0.0-stm32mp-r1.2/core/kernel/dt_driver.c:904 <probe_dt_drivers>
E/TC:0 0 TEE load address @ 0x82000000
E/TC:0 0 Call stack:
E/TC:0 0 0x82007ed8
E/TC:0 0 0x82041e3c
E/TC:0 0 0x8203e24c
E/TC:0 0 0x820439bc
E/TC:0 0 0x820079d8
E/TC:0 0 0x82007ce8

 

GatienC
ST Employee

Hello,

In order to provide more information on your issue, please run OP-TEE with CFG_TEE_CORE_LOG_LEVEL=3.

Can you please explain what was wrong with the LTDC CubeMX configuration?

 

Best regards,

Gatien

Hi @GatienC 

I am using STstlinux distribution package where i added the custom dts file which is generated  from the cubemx application.
 >>>CFG_TEE_CORE_LOG_LEVEL=3.

in which and file and location i need to add this line ? .....  I added into the core/arch/arm/plat-stm32mp2/conf.mk , is it correct location i added but full not visible 

>>>explain what was wrong with the LTDC CubeMX configuration
Actually i am using the new version that 25.06.11 , but my  distribution package is 24.05. like that , SO Optee.RIF generated file LTDC macro is different that's why it's getting wrong. so now i am using latest distro package with latest genarate dts. also i am getting the same error.


please help me out this, because we already having production late ?

GatienC
ST Employee

Sure, I can help you if I have sufficient information to provide help.

core/arch/arm/plat-stm32mp2/conf.mk 's value is probably superseded by the value present in the command line you use to build OP-TEE in that case, please make sure of it.

Then, you will have debug messages enabled and more information to know what's going on. Because there's no error message other than driver probing sequence failed, I cannot help you more for now.

OP-TEE generates a conf.mk file containing all the embedded switches in the build directory if that can help as well.

Best regards,

Gatien

Hi @GatienC 
here is log 

F/TC:0 0 initialize_pmic2_irq:787 Init stpmic2 irq
D/TC:0 0 probe_driver_node:556 element: stm32_pmic2 on node stpmic2@33 deferred 3 time(s)
F/TC:0 0 probe_driver_node:543 Probing stm32_tamp_nvram on node nvram@46010100
D/TC:0 0 probe_driver_node:550 element: stm32_tamp_nvram on node nvram@46010100 initialized
F/TC:0 0 probe_driver_node:543 Probing stm32-cpu on node cpu@0
D/TC:0 0 probe_driver_node:556 element: stm32-cpu on node cpu@0 deferred 2 time(s)
F/TC:0 0 process_probe_list:657 Probe loop 8 after 6 for deferral(s)
D/TC:0 0 print_probe_list:504 Probe list: 3 elements
D/TC:0 0 print_probe_list:506 |- Driver stm32-gpu probes on node gpu@48280000
D/TC:0 0 print_probe_list:506 |- Driver stm32_pmic2 probes on node stpmic2@33
D/TC:0 0 print_probe_list:506 |- Driver stm32-cpu probes on node cpu@0
D/TC:0 0 print_probe_list:510 `- Probe list end
D/TC:0 0 print_probe_list:516 Failed list: 0 elements
D/TC:0 0 print_probe_list:521 `- Failed list end
F/TC:0 0 probe_driver_node:543 Probing stm32-cpu on node cpu@0
D/TC:0 0 probe_driver_node:556 element: stm32-cpu on node cpu@0 deferred 3 time(s)
F/TC:0 0 probe_driver_node:543 Probing stm32_pmic2 on node stpmic2@33
F/TC:0 0 stm32_pmic2_probe:923 Probe stpmic2
F/TC:0 0 initialize_pmic2:893 Initialize stpmic2
F/TC:0 0 lock_i2c_bus_access:796 thread access
F/TC:0 0 unlock_i2c_bus_access:837 thread access completed
F/TC:0 0 lock_i2c_bus_access:796 thread access
F/TC:0 0 unlock_i2c_bus_access:837 thread access completed
F/TC:0 0 stpmic2_register_read:259 REG[0 v=0x24
F/TC:0 0 lock_i2c_bus_access:796 thread access
F/TC:0 0 unlock_i2c_bus_access:837 thread access completed
F/TC:0 0 stpmic2_register_read:259 REG[0x1 v=0x11
I/TC: PMIC STPMIC REFID:2.D V1.1
F/TC:0 0 lock_i2c_bus_access:796 thread access
F/TC:0 0 unlock_i2c_bus_access:837 thread access completed
F/TC:0 0 stpmic2_register_read:259 REG[0x20 v=0x1e
F/TC:0 0 lock_i2c_bus_access:796 thread access
F/TC:0 0 unlock_i2c_bus_access:837 thread access completed
F/TC:0 0 stpmic2_register_read:259 REG[0x21 v=0x1
D/TC:0 0 stpmic2_regulator_get_prop:428 buck1: get prop 2
D/TC:0 0 stpmic2_dump_regulators:585 PMIC regul buck1: EN, 800mV
F/TC:0 0 lock_i2c_bus_access:796 thread access
F/TC:0 0 unlock_i2c_bus_access:837 thread access completed
F/TC:0 0 stpmic2_register_read:259 REG[0x20 v=0x1e
F/TC:0 0 lock_i2c_bus_access:796 thread access
F/TC:0 0 unlock_i2c_bus_access:837 thread access completed
F/TC:0 0 stpmic2_register_read:259 REG[0x21 v=0x1
D/TC:0 0 stpmic2_regulator_get_prop:428 buck1h: get prop 2
D/TC:0 0 stpmic2_dump_regulators:585 PMIC regul buck1h: EN, 1500mV
F/TC:0 0 lock_i2c_bus_access:796 thread access
F/TC:0 0 unlock_i2c_bus_access:837 thread access completed
F/TC:0 0 stpmic2_register_read:259 REG[0x25 v=0x20
F/TC:0 0 lock_i2c_bus_access:796 thread access
F/TC:0 0 unlock_i2c_bus_access:837 thread access completed
F/TC:0 0 stpmic2_register_read:259 REG[0x26 v=0x1
D/TC:0 0 stpmic2_regulator_get_prop:428 buck2: get prop 2
D/TC:0 0 stpmic2_dump_regulators:585 PMIC regul buck2: EN, 820mV
F/TC:0 0 lock_i2c_bus_access:796 thread access
F/TC:0 0 unlock_i2c_bus_access:837 thread access completed
F/TC:0 0 stpmic2_register_read:259 REG[0x2a v=0
F/TC:0 0 lock_i2c_bus_access:796 thread access
F/TC:0 0 unlock_i2c_bus_access:837 thread access completed
F/TC:0 0 stpmic2_register_read:259 REG[0x2b v=0
D/TC:0 0 stpmic2_regulator_get_prop:428 buck3: get prop 2
D/TC:0 0 stpmic2_dump_regulators:585 PMIC regul buck3: DIS, 500mV
F/TC:0 0 lock_i2c_bus_access:796 thread access
F/TC:0 0 unlock_i2c_bus_access:837 thread access completed
F/TC:0 0 stpmic2_register_read:259 REG[0x2f v=0x76
F/TC:0 0 lock_i2c_bus_access:796 thread access
F/TC:0 0 unlock_i2c_bus_access:837 thread access completed
F/TC:0 0 stpmic2_register_read:259 REG[0x30 v=0x1
D/TC:0 0 stpmic2_regulator_get_prop:428 buck4: get prop 2
D/TC:0 0 stpmic2_dump_regulators:585 PMIC regul buck4: EN, 3300mV
F/TC:0 0 lock_i2c_bus_access:796 thread access
F/TC:0 0 unlock_i2c_bus_access:837 thread access completed
F/TC:0 0 stpmic2_register_read:259 REG[0x34 v=0x67
F/TC:0 0 lock_i2c_bus_access:796 thread access
F/TC:0 0 unlock_i2c_bus_access:837 thread access completed
F/TC:0 0 stpmic2_register_read:259 REG[0x35 v=0x1
D/TC:0 0 stpmic2_regulator_get_prop:428 buck5: get prop 2
D/TC:0 0 stpmic2_dump_regulators:585 PMIC regul buck5: EN, 1800mV
F/TC:0 0 lock_i2c_bus_access:796 thread access
F/TC:0 0 unlock_i2c_bus_access:837 thread access completed
F/TC:0 0 stpmic2_register_read:259 REG[0x39 v=0x3c
F/TC:0 0 lock_i2c_bus_access:796 thread access
F/TC:0 0 unlock_i2c_bus_access:837 thread access completed
F/TC:0 0 stpmic2_register_read:259 REG[0x3a v=0x1
D/TC:0 0 stpmic2_regulator_get_prop:428 buck6: get prop 2
D/TC:0 0 stpmic2_dump_regulators:585 PMIC regul buck6: EN, 1100mV
F/TC:0 0 lock_i2c_bus_access:796 thread access
F/TC:0 0 unlock_i2c_bus_access:837 thread access completed
F/TC:0 0 stpmic2_register_read:259 REG[0x3e v=0x76
F/TC:0 0 lock_i2c_bus_access:796 thread access
F/TC:0 0 unlock_i2c_bus_access:837 thread access completed
F/TC:0 0 stpmic2_register_read:259 REG[0x3f v=0x1
D/TC:0 0 stpmic2_regulator_get_prop:428 buck7: get prop 2
D/TC:0 0 stpmic2_dump_regulators:585 PMIC regul buck7: EN, 3300mV
F/TC:0 0 lock_i2c_bus_access:796 thread access
F/TC:0 0 unlock_i2c_bus_access:837 thread access completed
F/TC:0 0 stpmic2_register_read:259 REG[0x64 v=0
D/TC:0 0 stpmic2_regulator_get_prop:428 refddr: get prop 2
D/TC:0 0 stpmic2_dump_regulators:585 PMIC regul refddr: DIS, 0mV
F/TC:0 0 lock_i2c_bus_access:796 thread access
F/TC:0 0 unlock_i2c_bus_access:837 thread access completed
F/TC:0 0 stpmic2_register_read:259 REG[0x4c v=0x1
D/TC:0 0 stpmic2_regulator_get_prop:428 ldo1: get prop 2
D/TC:0 0 stpmic2_dump_regulators:585 PMIC regul ldo1: EN, 1800mV
F/TC:0 0 lock_i2c_bus_access:796 thread access
F/TC:0 0 unlock_i2c_bus_access:837 thread access completed
F/TC:0 0 stpmic2_register_read:259 REG[0x4f v=0x31
F/TC:0 0 lock_i2c_bus_access:796 thread access
F/TC:0 0 unlock_i2c_bus_access:837 thread access completed
F/TC:0 0 stpmic2_register_read:259 REG[0x4f v=0x31
D/TC:0 0 stpmic2_regulator_get_prop:428 ldo2: get prop 2
F/TC:0 0 lock_i2c_bus_access:796 thread access
F/TC:0 0 unlock_i2c_bus_access:837 thread access completed
F/TC:0 0 stpmic2_register_read:259 REG[0x4f v=0x31
D/TC:0 0 stpmic2_dump_regulators:585 PMIC regul ldo2: EN, 3300mV
F/TC:0 0 lock_i2c_bus_access:796 thread access
F/TC:0 0 unlock_i2c_bus_access:837 thread access completed
F/TC:0 0 stpmic2_register_read:259 REG[0x52 v=0x13
F/TC:0 0 lock_i2c_bus_access:796 thread access
F/TC:0 0 unlock_i2c_bus_access:837 thread access completed
F/TC:0 0 stpmic2_register_read:259 REG[0x52 v=0x13
D/TC:0 0 stpmic2_regulator_get_prop:428 ldo3: get prop 2
F/TC:0 0 lock_i2c_bus_access:796 thread access
F/TC:0 0 unlock_i2c_bus_access:837 thread access completed
F/TC:0 0 stpmic2_register_read:259 REG[0x52 v=0x13
D/TC:0 0 stpmic2_dump_regulators:585 PMIC regul ldo3: EN, 1800mV
F/TC:0 0 lock_i2c_bus_access:796 thread access
F/TC:0 0 unlock_i2c_bus_access:837 thread access completed
F/TC:0 0 stpmic2_register_read:259 REG[0x55 v=0x1
D/TC:0 0 stpmic2_regulator_get_prop:428 ldo4: get prop 2
D/TC:0 0 stpmic2_dump_regulators:585 PMIC regul ldo4: EN, 3300mV
F/TC:0 0 lock_i2c_bus_access:796 thread access
F/TC:0 0 unlock_i2c_bus_access:837 thread access completed
F/TC:0 0 stpmic2_register_read:259 REG[0x58 v=0
F/TC:0 0 lock_i2c_bus_access:796 thread access
F/TC:0 0 unlock_i2c_bus_access:837 thread access completed
F/TC:0 0 stpmic2_register_read:259 REG[0x58 v=0
D/TC:0 0 stpmic2_regulator_get_prop:428 ldo5: get prop 2
F/TC:0 0 lock_i2c_bus_access:796 thread access
F/TC:0 0 unlock_i2c_bus_access:837 thread access completed
F/TC:0 0 stpmic2_register_read:259 REG[0x58 v=0
D/TC:0 0 stpmic2_dump_regulators:585 PMIC regul ldo5: DIS, 900mV
F/TC:0 0 lock_i2c_bus_access:796 thread access
F/TC:0 0 unlock_i2c_bus_access:837 thread access completed
F/TC:0 0 stpmic2_register_read:259 REG[0x5b v=0
F/TC:0 0 lock_i2c_bus_access:796 thread access
F/TC:0 0 unlock_i2c_bus_access:837 thread access completed
F/TC:0 0 stpmic2_register_read:259 REG[0x5b v=0
D/TC:0 0 stpmic2_regulator_get_prop:428 ldo6: get prop 2
F/TC:0 0 lock_i2c_bus_access:796 thread access
F/TC:0 0 unlock_i2c_bus_access:837 thread access completed
F/TC:0 0 stpmic2_register_read:259 REG[0x5b v=0
D/TC:0 0 stpmic2_dump_regulators:585 PMIC regul ldo6: DIS, 900mV
F/TC:0 0 lock_i2c_bus_access:796 thread access
F/TC:0 0 unlock_i2c_bus_access:837 thread access completed
F/TC:0 0 stpmic2_register_read:259 REG[0x5e v=0x41
F/TC:0 0 lock_i2c_bus_access:796 thread access
F/TC:0 0 unlock_i2c_bus_access:837 thread access completed
F/TC:0 0 stpmic2_register_read:259 REG[0x5e v=0x41
D/TC:0 0 stpmic2_regulator_get_prop:428 ldo7: get prop 2
F/TC:0 0 lock_i2c_bus_access:796 thread access
F/TC:0 0 unlock_i2c_bus_access:837 thread access completed
F/TC:0 0 stpmic2_register_read:259 REG[0x5e v=0x41
D/TC:0 0 stpmic2_dump_regulators:585 PMIC regul ldo7: EN BYPASS, 900mV
F/TC:0 0 lock_i2c_bus_access:796 thread access
F/TC:0 0 unlock_i2c_bus_access:837 thread access completed
F/TC:0 0 stpmic2_register_read:259 REG[0x61 v=0x41
F/TC:0 0 lock_i2c_bus_access:796 thread access
F/TC:0 0 unlock_i2c_bus_access:837 thread access completed
F/TC:0 0 stpmic2_register_read:259 REG[0x61 v=0x41
D/TC:0 0 stpmic2_regulator_get_prop:428 ldo8: get prop 2
F/TC:0 0 lock_i2c_bus_access:796 thread access
F/TC:0 0 unlock_i2c_bus_access:837 thread access completed
F/TC:0 0 stpmic2_register_read:259 REG[0x61 v=0x41
D/TC:0 0 stpmic2_dump_regulators:585 PMIC regul ldo8: EN BYPASS, 900mV
F/TC:0 0 initialize_pmic2_irq:787 Init stpmic2 irq
D/TC:0 0 probe_driver_node:556 element: stm32_pmic2 on node stpmic2@33 deferred 4 time(s)
F/TC:0 0 probe_driver_node:543 Probing stm32-gpu on node gpu@48280000
D/TC:0 0 probe_driver_node:556 element: stm32-gpu on node gpu@48280000 deferred 6 time(s)
D/TC:0 0 process_probe_list:697 Unresolved dependencies after 8 rounds, 7 deferred
E/TC:0 0 probe_dt_drivers:902 Probe sequence result: 0x80000000
D/TC:0 0 print_probe_list:504 Probe list: 3 elements
D/TC:0 0 print_probe_list:506 |- Driver stm32-cpu probes on node cpu@0
D/TC:0 0 print_probe_list:506 |- Driver stm32_pmic2 probes on node stpmic2@33
D/TC:0 0 print_probe_list:506 |- Driver stm32-gpu probes on node gpu@48280000
D/TC:0 0 print_probe_list:510 `- Probe list end
D/TC:0 0 print_probe_list:516 Failed list: 0 elements
D/TC:0 0 print_probe_list:521 `- Failed list end
E/TC:0 0 Panic at /usr/src/debug/optee-os-stm32mp/4.0.0-stm32mp-r2/core/kernel/dt_driver.c:904 <probe_dt_drivers>
E/TC:0 0 TEE load address @ 0x82000000
E/TC:0 0 Call stack:
E/TC:0 0 0x82008140
E/TC:0 0 0x82046c74
E/TC:0 0 0x82042ca0
E/TC:0 0 0x82048980
E/TC:0 0 0x82007bac
E/TC:0 0 0x82007f44


i do not what's the problem of it.

@GatienC 

After solving PMIC issue i got this error.

TC:0 0 stm32_tamp_set_ext_config:840 EXT_TAMP8 disabled
F/TC:0 0 stm32_tamp_set_config:1163 Set passive conf 00000031
F/TC:0 0 stm32_tamp_set_config:1168 Set active conf1 00000000
F/TC:0 0 stm32_tamp_set_config:1172 Set active conf2 00000000
D/TC:0 0 add_node_to_probe:748 element: stm32_tamp_nvram on node nvram@46010100
D/TC:0 0 print_probe_list:504 Probe list: 1 elements
D/TC:0 0 print_probe_list:506 |- Driver stm32_tamp_nvram probes on node nvram@46010100
D/TC:0 0 print_probe_list:510 `- Probe list end
D/TC:0 0 print_probe_list:516 Failed list: 0 elements
D/TC:0 0 print_probe_list:521 `- Failed list end
D/TC:0 0 probe_driver_node:550 element: stm32-tamp on node tamp@46010000 initialized
F/TC:0 0 process_probe_list:657 Probe loop 8 after 5 for deferral(s)
D/TC:0 0 print_probe_list:504 Probe list: 1 elements
D/TC:0 0 print_probe_list:506 |- Driver stm32_tamp_nvram probes on node nvram@46010100
D/TC:0 0 print_probe_list:510 `- Probe list end
D/TC:0 0 print_probe_list:516 Failed list: 0 elements
D/TC:0 0 print_probe_list:521 `- Failed list end
F/TC:0 0 probe_driver_node:543 Probing stm32_tamp_nvram on node nvram@46010100
D/TC:0 0 probe_driver_node:550 element: stm32_tamp_nvram on node nvram@46010100 initialized
F/TC:0 0 process_probe_list:657 Probe loop 9 after 5 for deferral(s)
D/TC:0 0 print_probe_list:504 Probe list: 0 elements
D/TC:0 0 print_probe_list:510 `- Probe list end
D/TC:0 0 print_probe_list:516 Failed list: 0 elements
D/TC:0 0 print_probe_list:521 `- Failed list end
D/TC:0 0 call_initcalls:40 level 6 stm32_hse_monitoring()
D/TC:0 0 call_initcalls:40 level 6 optee_scmi_server_init()
D/TC:0 0 clk_register:136 Registered clock stm32-cpu-opp, freq 1200000000
E/TC:0 0 Panic 'Unexpected init deferral' at /usr/src/debug/optee-os-stm32mp/4.0.0-stm32mp-r2/core/lib/scmi-server/scmi_pd_consumer.c:70 <optee_scmi_server_init_pd>
E/TC:0 0 TEE load address @ 0x82000000
E/TC:0 0 Call stack:
E/TC:0 0 0x82008140
E/TC:0 0 0x82046c74
E/TC:0 0 0x8206b54c
E/TC:0 0 0x8200bd00
E/TC:0 0 0x82048980
E/TC:0 0 0x82007bac
E/TC:0 0 0x82007f44

 

 

GatienC
ST Employee

Hello,

having a deferral at this stage means that there's no associated provider for the regulator that is being initialized. What exactly did you do to solve your PMIC issue?

I suspect the driver that handle this regulator is not probed.

Is it possible you share your device tree (or relevant part of it) and identify with traces in optee_scmi_server_init_pd() which is the faulty regulator?

Best regards,

Gatien