On 11/4/26 9:47 AM, Clément Le Goffic wrote:

Hello Clement,

U-Boot on RSIP is not using the timer, so shouldn't SCP start the timer, since 
it also starts all of its users ? That way the timer is only started when it is 
really needed.

[...]

The SCP isn't using it either. The timer is needed by the AP and the RT cores 
and is always needed whichever SW component start on the system.
TFA on Ironhide even start it here (I consider to remove it once this land):
https://github.com/ARM-software/arm-trusted-firmware/blob/v2.15.0/plat/renesas/rcar_gen5/bl31_plat_setup.c#L161-L171

If AP and RT cores use the timer as a shared resource, and SCP is the coordinator of shared resources on this system, then I would argue it is task of the SCP to set up that shared resource, i.e. the timer.

SCP doesn't start by itself all of its user, it is U-boot on RSIPM that sends the 
"start" request.
SCP is the SCMI server it just react to SCMI requests. A "start generic 
counter" SCMI requests doesn't exist. Hence do it here.

U-Boot (client) sends a request to the SCP to start the first user of the timer, so SCP should take care of configuring the system correctly for that first user, i.e. enable the timer.

The generic counter is the platform counter, U-boot on RSIPM should start all 
what is needed for the platform to work as a bootloader would do.

U-Boot driver model is explicitly designed to not start unnecessary parts and boot as quickly as possible.

Why not start the timer using the SCP when there are actual users of the timer ?

--
Best regards,
Marek Vasut

Reply via email to