cancel
Showing results for 
Search instead for 
Did you mean: 

Various issues when starting kernel on custom stm32mp151aac board

I'm still trying to get a fully error free bootup on the stm32mp151 based board. I'm using ST git's for the bootstages and kernel/rootfs are build using the ST yocto layers.

But because i'm unsure which are actually errors and which are just warnings I can ignore. Nor want to start 5 threads for each one, I figured it was best to combine them in one. Chances are likely they are inter related anyway.

I get this error, but further in the bootlog optee is properly initialized, so can this be ignored?

 [ 0.109710] Driver 'scmi-optee' was unable to register with bus_type 'tee' because the bus was not initialized.

This is the main issue, am I forgetting someting in the DT? (attached)

 

[ 0.516254] sysfs: cannot create duplicate filename '/devices/platform/cpufreq-dt'
[ 0.516281] CPU: 0 PID: 38 Comm: kworker/u2:3 Not tainted 6.1.28-dirty #1
[ 0.516303] Hardware name: STM32 (Device Tree Support)
[ 0.516314] Workqueue: events_unbound deferred_probe_work_func
[ 0.516363] unwind_backtrace from show_stack+0x10/0x14
[ 0.516398] show_stack from dump_stack_lvl+0x40/0x4c
[ 0.516425] dump_stack_lvl from sysfs_warn_dup+0x58/0x64
[ 0.516455] sysfs_warn_dup from sysfs_create_dir_ns+0xe8/0xfc
[ 0.516482] sysfs_create_dir_ns from create_dir+0x1c/0x164
[ 0.516512] create_dir from kobject_add_internal+0xa4/0x208
[ 0.516540] kobject_add_internal from kobject_add+0x5c/0xcc
[ 0.516569] kobject_add from device_add+0x110/0x6a0
[ 0.516606] device_add from platform_device_add+0x120/0x250
[ 0.516641] platform_device_add from platform_device_register_full+0x108/0x158
[ 0.516674] platform_device_register_full from stm32_cpufreq_probe+0xf0/0x198
[ 0.516710] stm32_cpufreq_probe from platform_probe+0x5c/0xbc
[ 0.516740] platform_probe from really_probe+0xe0/0x414
[ 0.516767] really_probe from __driver_probe_device+0x9c/0x130
[ 0.516791] __driver_probe_device from driver_probe_device+0x30/0xc0
[ 0.516815] driver_probe_device from __device_attach_driver+0xa8/0x120
[ 0.516840] __device_attach_driver from bus_for_each_drv+0x80/0xd0
[ 0.516864] bus_for_each_drv from __device_attach+0xac/0x214
[ 0.516886] __device_attach from bus_probe_device+0x84/0x8c
[ 0.516909] bus_probe_device from deferred_probe_work_func+0x94/0xd4
[ 0.516932] deferred_probe_work_func from process_one_work+0x1d8/0x518
[ 0.516968] process_one_work from worker_thread+0x220/0x50c
[ 0.516997] worker_thread from kthread+0xd8/0xf4
[ 0.517024] kthread from ret_from_fork+0x14/0x2c
[ 0.517050] Exception stack(0xde8adfb0 to 0xde8adff8)
[ 0.517066] dfa0: 00000000 00000000 00000000 00000000
[ 0.517082] dfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 0.517096] dfe0: 00000000 00000000 00000000 00000000 00000013 00000000
[ 0.517109] kobject_add_internal failed for cpufreq-dt with -EEXIST, don't try to register things with the same name in the same directory.

 

What are those device links?

 

[ 3.571308] stpmic1 0-0033: PMIC Chip Version: 0x21
[ 3.626911] stpmic1-regulator 5c002000.i2c:stpmic@33:regulators: Failed to create device link (0x180) with 0-0033
[ 3.651272] stpmic1-regulator 5c002000.i2c:stpmic@33:regulators: Failed to create device link (0x180) with 0-0033
[ 3.660104] stpmic1-regulator 5c002000.i2c:stpmic@33:regulators: Failed to create device link (0x180) with 0-0033

 

These can be ignored?

 

[ 3.904198] dwc2 49000000.usb-otg: supply vusb_d not found, using dummy regulator
[ 3.921734] dwc2 49000000.usb-otg: supply vusb_a not found, using dummy regulator

[ 9.682918] systemd[1]: Huge Pages File System was skipped because of an unmet condition check (ConditionPathExists=/sys/kernel/mm/hugepages).

[ 10.247547] systemd[1]: File System Check on Root Device was skipped because of an unmet condition check (ConditionPathIsReadWrite=!/).

[ 10.303876] systemd[1]: systemd-journald.service: unit configures an IP firewall, but the local system does not support BPF/cgroup firewalling.
[ 10.345984] systemd[1]: (This warning is only shown for the first unit using IP firewalling.)

 

23 REPLIES 23

Hi @Christophe Guibout 

I have uploaded the log here: Op-tee Debug message: print_probe_list:409 Failed ... - STMicroelectronics Community

 

STM32MP151AAC3 custom board with STM32-OS as operating system: https://github.com/DanielMartensson/STM32-Computer

I think SoM might have issues with the generated Device Tree from ST. 

I know that there are a lot of bugs when it comes to generation. But as long I can get a debug log from UART, I can track the errors. 

Perhaps it will lead me to a solution. I'm expecting myself to just copy and paste much from STM32MP157-DK1 device tree. The only difference between my STM32MP157-DK1 clone, is that I flashing the eMMC directly, instead of flashing a SDCARD.

Thank you for your files, they will come in handy in few hours.

STM32MP151AAC3 custom board with STM32-OS as operating system: https://github.com/DanielMartensson/STM32-Computer

@DMårt @michiel.tjampens 

Hi guys! Have you solved this issue? I have precisely the same result as @DMårt on my custom-made board. I am trying to solve it but without any results. Thank you for any help!

@rgruberski @michiel.tjampens @allard.potma @Christophe Guibout 

 

I have solved the issue for a low cost STM32MP151 board. Hdmi, I2C, emmc, pmic, ddr, Ethernet are working.

Just look at my GitHub.

Edit:

I'm currently building an operating system for the STM32-Computer. It's going to be way much better than OpenSTLinux. Also super easy to modify!

STM32MP151AAC3 custom board with STM32-OS as operating system: https://github.com/DanielMartensson/STM32-Computer