Skip to main content
Grodriguez
Associate III
August 26, 2020
Solved

Booting kernel 5.4.31 from BSP 2.0.0 with "old" bootchain

  • August 26, 2020
  • 1 reply
  • 999 views

Hi all,

I am trying to upgrade the kernel on a board running STM32MP15 BSP v1.2.0. From what I have seen, the kernel from BSP 2.0.0 is not compatible with the tf-a and u-boot used in previous BSP versions; I assume that this is due to a change in the way clocks/resets are managed (commit), which introduces a dependency on SCMI services provided by tf-a.

On the other hand I see that a stm32mp15-no-scmi.dtsi file was introduced (commit) to "revert" this SCMI dependency.

If I am correct, using this dtsi file in my device tree should make it possible to upgrade the kernel only, and still use the "old" tf-a and uboot from BSP 1.2.0. However I tried this and it does not seem to work (kernel hangs immediately after the "Starting kernel ..." message).

Do I need something else? What am I missing?

Thank you,

Guillermo

This topic has been closed for replies.
Best answer by Olivier GALLIEN

Hi @Grodriguez​ 

Indeed introduction of SCMI is the main compatibility break between new kernel and old boot chain ...

But there can be few others on ST side ( DVFS) but also from Community side.

That's why we recommend to take the new kernel inside the compatible Yocto dunfell baseline distribution.

For my information what's the benefit for you to not take the whole V2.0 BSP ?

Olivier

1 reply

Olivier GALLIEN
Olivier GALLIENBest answer
Technical Moderator
August 27, 2020

Hi @Grodriguez​ 

Indeed introduction of SCMI is the main compatibility break between new kernel and old boot chain ...

But there can be few others on ST side ( DVFS) but also from Community side.

That's why we recommend to take the new kernel inside the compatible Yocto dunfell baseline distribution.

For my information what's the benefit for you to not take the whole V2.0 BSP ?

Olivier

Olivier GALLIEN In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.
Grodriguez
Associate III
August 28, 2020

Hi @Community member​ 

Mainly because I need to do a lot of testing to ensure that the upgrade does not introduce any breaking changes in my application/setup, and I expected to be able to do so in several steps rather than "all at once".

Also I was trying to understand what was going on: I had tried to update the kernel only and that didn't work. I didn't expect that it would be necessary to update tf-a and u-boot as well. I mean, it is relatively normal to update the kernel of a product that is already in the field, but normally bootloaders are not updated.

Can you provide any info on the other breaking change you mention (DVFS) ?

Also, is there any documentation of what are the expectations / requirements that the bootloader must meet before starting the kernel?

Guillermo