cancel
Showing results for 
Search instead for 
Did you mean: 

OPTEE panic fixed_regulator_probe failed

jhi
Senior

First time trying to get OPTEE working on custom board. The boot stops when OPTEE panics

 

NOTICE:  CPU: STM32MP157AAC Rev.Z
NOTICE:  Model: STMicroelectronics custom STM32CubeMX board - openstlinux-6.1-yocto-mickledore-mp1-v23.06.21
NOTICE:  BL2: v2.8-stm32mp1-r1.0(release):custom()
NOTICE:  BL2: Built : 12:30:08, Apr 11 2024
NOTICE:  BL2: Booting BL32
I/TC: Early console on UART#4
I/TC:
I/TC: Pager is enabled. Hashes: 3040 bytes
I/TC: Pager pool size: 92kB
I/TC: Embedded DTB found
I/TC: OP-TEE version: Unknown_3.19 (gcc version 10.3.1 20210621 (GNU Toolchain for the A-profile Architecture 10.3-2021.07 (arm-10.29))) #3 Fri Apr 12 07:13:59 UTC 2024 arm
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
E/TC:0 0 regulator_set_flag:484 vdd_usb lacks set_flag handler
E/TC:0 0 fixed_regulator_probe:69 regulator_register(vdd_usb) failed with 0xffff0000
E/TC:0 0 Panic

 

On device tree (root entry):

 

vdd_usb: vdd_usb {
		compatible = "regulator-fixed";
		regulator-name = "vdd_usb";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
   		startup-delay-us = <70000>;
   		regulator-boot-on;
   		regulator-pull-down; 
	};

 

This used to work with only tf-a and u-boot, but doesn't seem with OPTEE. Any ideas?

1 REPLY 1
jhi
Senior

Well, I just removed USB from my tf-a and optee dts files as I do not need it at the moment. Then the boot goes a little bit further, but panics again:

I/TC: HUK unlocked
F/TC:0 0 pager_deploy_page:1469 Mapped 0x30015000 -> 0x2fffe000
F/TC:0 0 pager_deploy_page:1469 Mapped 0x30004000 -> 0x2fffa000
D/TC:0 0 tee_otp_get_hw_unique_key:227 3004ff54  d8 30 a1 88 14 e0 2f e9  43 6b b3 8e 03 02 c4 8c
F/TC:0 0 pager_deploy_page:1469 Mapped 0x30048000 -> 0x2ffee000
F/TC:0 0 pager_deploy_page:1469 Mapped 0x2fffe000 -> 0x2fff9000
F/TC:0 0 pager_deploy_page:1469 Mapped 0x3003c000 -> 0x2fffc000
F/TC:0 0 pager_deploy_page:1469 Mapped 0x2ffeb000 -> 0x2fff2000
F/TC:0 0 pager_deploy_page:1469 Mapped 0x3004b000 -> 0x2fff6000
F/TC:0 0 pager_deploy_page:1469 Mapped 0x30005000 -> 0x2fffd000
F/TC:0 0 pager_deploy_page:1469 Mapped 0x3004a000 -> 0x2fff5000
F/TC:0 0 pager_deploy_page:1469 Mapped 0x30033000 -> 0x2fffb000
F/TC:0 0 pager_deploy_page:1469 Mapped 0x2ffec000 -> 0x2fff3000
F/TC:0 0 pager_deploy_page:1469 Mapped 0x30002000 -> 0x2fff4000
D/TC:0 0 call_initcalls:40 level 5 stm32mp_syscfg_enable_io_compensation()
F/TC:0 0 __clk_enable:1174 Clock 51 has been enabled
F/TC:0 0 pager_deploy_page:1469 Mapped 0x30019000 -> 0x2ffef000
D/TC:0 0 call_initcalls:40 level 5 init_pm_support()
F/TC:0 0 pager_deploy_page:1469 Mapped 0x30029000 -> 0x2fff7000
F/TC:0 0 __clk_enable:1174 Clock 99 has been enabled
F/TC:0 0 __clk_disable:1187 Clock 99 has been disabled
F/TC:0 0 __clk_enable:1174 Clock 99 has been enabled
F/TC:0 0 __clk_disable:1187 Clock 99 has been disabled
D/TC:0 0 call_initcalls:40 level 5 probe_dt_drivers()
F/TC:0 0 pager_deploy_page:1469 Mapped 0x30025000 -> 0x2fffe000
F/TC:0 0 pager_deploy_page:1469 Mapped 0x30016000 -> 0x2fffa000
F/TC:0 0 process_probe_list:505 Probe loop 5 after 4 for deferral(s)
D/TC:0 0 print_probe_list:352 Probe list: 1 elements
F/TC:0 0 pager_deploy_page:1469 Mapped 0x2fff3000 -> 0x2fff9000
F/TC:0 0 pager_deploy_page:1469 Mapped 0x30036000 -> 0x2fffc000
D/TC:0 0 print_probe_list:354 |- Driver stm32mp1-cpu-opp probes on node cpu0-opp-table
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 pager_deploy_page:1469 Mapped 0x30004000 -> 0x2fff6000
F/TC:0 0 probe_driver_node:391 Probing stm32mp1-cpu-opp on node cpu0-opp-table
F/TC:0 0 pager_deploy_page:1469 Mapped 0x2fffd000 -> 0x2fff0000
F/TC:0 0 pager_deploy_page:1469 Mapped 0x30018000 -> 0x2fff1000
F/TC:0 0 pager_deploy_page:1469 Mapped 0x30037000 -> 0x2ffec000
F/TC:0 0 pager_deploy_page:1469 Mapped 0x2fffc000 -> 0x2fff8000
F/TC:0 0 pager_deploy_page:1469 Mapped 0x3004c000 -> 0x2fffb000
F/TC:0 0 pager_deploy_page:1469 Mapped 0x30021000 -> 0x2ffeb000
F/TC:0 0 pager_deploy_page:1469 Mapped 0x30026000 -> 0x2ffee000
F/TC:0 0 pager_deploy_page:1469 Mapped 0x30049000 -> 0x2ffef000
F/TC:0 0 pager_deploy_page:1469 Mapped 0x30048000 -> 0x2fff7000
F/TC:0 0 pager_deploy_page:1469 Mapped 0x30023000 -> 0x2fff2000
F/TC:0 0 pager_deploy_page:1469 Mapped 0x30047000 -> 0x2fffa000
F/TC:0 0 get_supply_phandle:114 cpu: supplied by 4
D/TC:0 0 regulator_get_by_phandle:54 phandle 4 not found
D/TC:0 0 probe_driver_node:404 element: stm32mp1-cpu-opp on node cpu0-opp-table deferred 5 time(s)
D/TC:0 0 process_probe_list:545 Unresolved dependencies after 5 rounds, 5 deferred
E/TC:0 0 probe_dt_drivers:750 Probe sequence result: 0x80000000
D/TC:0 0 print_probe_list:352 Probe list: 1 elements
D/TC:0 0 print_probe_list:354 |- Driver stm32mp1-cpu-opp probes on node cpu0-opp-table
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
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 : 0x00000000
M/TC:   irq_spsr : 0x00000000
M/TC:     irq_sp : 0x00000000
M/TC:     irq_lr : 0x00000000
M/TC:   fiq_spsr : 0x00000000
M/TC:     fiq_sp : 0x00000000
M/TC:     fiq_lr : 0x00000000
M/TC:   svc_spsr : 0x00000000
M/TC:     svc_sp : 0x00000000
M/TC:     svc_lr : 0x00000000
M/TC:   abt_spsr : 0x00000000
M/TC:     abt_sp : 0x00000000
M/TC:     abt_lr : 0x00000000
M/TC:   und_spsr : 0x00000000
M/TC:     und_sp : 0x00000000
M/TC:     und_lr : 0x00000000
M/TC:       pmcr : 0x00000000

Is the problem ' regulator_get_by_phandle:54 phandle 4 not found' or something else? I did google that and it seems that this error message comes often but the boot process goes on, so it shouldn't be a problem, or?