cancel
Showing results for 
Search instead for 
Did you mean: 

STM32MP1 u-boot v2020 freezes while "starting kernel" - custom board and DT

KDehm
Associate III

Hi,

I'm using a custom board with custom device tree, the distribution is built with ST's Distribution Package (st-image-core).

Now the bootloader (u-boot v2020.01) freezes while "starting kernel" with some strange errors before.

Should I search for errors in the DT or is there another reason for not starting the kernel?

stm32_smc: Failed to exec svc=82001003 op=1 in secure mode (err = -3)
Net:   eth0: ethernet@5800a000
Hit any key to stop autoboot:  0
Boot over mmc0!
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:4...
Found /mmc0_extlinux/extlinux.conf
Retrieving file: /mmc0_extlinux/extlinux.conf
256 bytes read in 24 ms (9.8 KiB/s)
Retrieving file: /splash.bmp
18244 bytes read in 25 ms (711.9 KiB/s)
1:      OpenSTLinux
Retrieving file: /uInitrd
3632489 bytes read in 176 ms (19.7 MiB/s)
Retrieving file: /uImage
7317848 bytes read in 334 ms (20.9 MiB/s)
append: root=PARTUUID=e91c4e10-16e6-4c0e-bd0e-77becf4a3582 rootwait rw console=ttySTM0,115200
Retrieving file: /stm32mp157c-mx.dtb
60073 bytes read in 27 ms (2.1 MiB/s)
## Booting kernel from Legacy Image at c2000000 ...
   Image Name:   Linux-5.4.31
   Created:      2020-04-08   7:08:47 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    7317784 Bytes = 7 MiB
   Load Address: c2000040
   Entry Point:  c2000040
   Verifying Checksum ... OK
## Flattened Device Tree blob at c4000000
   Booting using the fdt blob at 0xc4000000
   XIP Kernel Image
   Loading Ramdisk to cfc89000, end cffffd69 ... OK
   Loading Device Tree to cfc77000, end cfc88aa8 ... OK
unknown raw ID d9f423e8
FDT: cryp@54001000 node disabled for STM32MP157AAD Rev.B
 
Starting kernel ...

Thanks in advance!

3 REPLIES 3
Christophe Guibout
ST Employee

Hi @KDehm​ ,

If you see "Starting kernel" in your log, that means you need to investigate on kernel side. I would suggest you to enable earlyprintk feature : see in the wiki.

I noticed that you use a device tree built for 157C (stm32mp157c-mx.dtb), but your board is 157A (STM32MP157AAD) : maybe if you fix this, it will also avoid the other errors:

stm32_smc: Failed to exec svc=82001003 op=1 in secure mode (err = -3)
unknown raw ID d9f423e8

To answer your question, this problem may come from the kernel DT, but also from TF-A and u-boot DT as well.

BR,

Christophe

Thanks for the reply!

I checked u-boot in DEBUG-mode, but there is not that much additional information:

board_key_check: no /config node?
get_led: could not find u-boot,boot-led config string

U-Boot is working just fine (beside some DT-errors), the command line is responsive.

You are right, the board is an STM32MP157AAD, but with "thud" everything worked in this way. I just migrated the DT's to a newer version (dunfell), using CubeMX.

Edit:

Using earlyprintk shows that some DT configurations are not working properly (with same settings used in "thud" release). Some errors are:

[    0.057292] /cpus/cpu@0 missing clock-frequency property
[    0.062649] /cpus/cpu@1 missing clock-frequency property
[    0.393367] sram 10050000.sram: could not request region for resource
[    0.399930] sram: probe of 10050000.sram failed with error -16
[    2.100618] Unable to get STM32 DDR PMU clock

and finaly hangs at:

[    2.382076] ohci-platform 5800c000.usbh-ohci: Generic Platform OHCI controller
[    2.389451] ohci-platform 5800c000.usbh-ohci: new USB bus registered, assigned bus number 1

I'm not shure how to debug further, because the rest of the logging looks fine.

I have the same problem, did you solved it?