STM32MP1 boot slow

Marek Vasut marex at
Wed Mar 25 00:38:53 CET 2020


I was looking at the STM32MP1 boot time and I noticed it takes about 2
seconds to get to U-Boot.

One problem is the insane I2C timing calculation in stm32f7 i2c driver,
which is almost a mallocator and CPU stress test and takes about 1
second to complete in SPL -- we need some simpler replacement for that,
possibly the one in DWC I2C driver might do?

Another item I found is that, in U-Boot, initf_dm() takes about half a
second and so does serial_init(). I didn't dig into it to find out why,
but I suspect it has to do with the massive amount of UCLASSes the DM
has to traverse OR with the CPU being slow at that point, as the clock
driver didn't get probed just yet.

Thoughts ?

Best regards,
Marek Vasut

More information about the U-Boot mailing list