[PATCH 20/26] arm: mach-k3: do board config for PM and RM only if supported

Tero Kristo t-kristo at ti.com
Tue Nov 17 10:22:00 CET 2020


On 17/11/2020 08:14, Lokesh Vutla wrote:
> 
> 
> On 16/11/20 5:57 pm, Tero Kristo wrote:
>> On 16/11/2020 06:23, Lokesh Vutla wrote:
>>>
>>>
>>> On 10/11/20 2:35 pm, Tero Kristo wrote:
>>>> If the raw PM support is built in, we are operating in the split
>>>> firmware approach mode where RM and PM support is not available. In this
>>>> case, skip the board config for these two.
>>>>
>>>> Signed-off-by: Tero Kristo <t-kristo at ti.com>
>>>> ---
>>>>    arch/arm/mach-k3/sysfw-loader.c | 4 ++++
>>>>    1 file changed, 4 insertions(+)
>>>>
>>>> diff --git a/arch/arm/mach-k3/sysfw-loader.c b/arch/arm/mach-k3/sysfw-loader.c
>>>> index 78c158c63f..154d2df049 100644
>>>> --- a/arch/arm/mach-k3/sysfw-loader.c
>>>> +++ b/arch/arm/mach-k3/sysfw-loader.c
>>>> @@ -158,11 +158,13 @@ static void k3_sysfw_configure_using_fit(void *fit,
>>>>                  ret);
>>>>          /* Apply power/clock (PM) specific configuration to SYSFW */
>>>> +#ifdef CONFIG_CLK_TI_SCI
>>>
>>> IMHO, using CONFIG_CLK_TI_SCI is hack here. Can we showhow derive this
>>> information based on the images loaded in FIT?
>>
>> At this point we have only loaded the sysfw image. DM image against which we
> 
> This sysfw.itb contains all the board configurations?
> If yes, then we are adding board configurations in sysfw.itb that does not
> belong here.
> 
> If no, then can we check for the entries before loading?

Technically feasible yes, let me check with Dave offline what we can 
craft for this (the image generation part was done by him); the firmware 
image generator does something along these lines already, basically 
splitting the cfg portions to different images.

-Tero

> 
> Thanks and regards,
> Lokesh
> 
>> could check this will only be loaded during A72 SPL FIT loading process, and it
>> will only happen later.
>>
>> -Tero
>>
>>>
>>> Thanks and regards,
>>> Lokesh
>>>
>>>>        ret = board_ops->board_config_pm(ti_sci,
>>>>                         (u64)(u32)cfg_fragment_addr,
>>>>                         (u32)cfg_fragment_size);
>>>>        if (ret)
>>>>            panic("Failed to set board PM configuration (%d)\n", ret);
>>>> +#endif
>>>>          /* Extract resource management (RM) specific configuration from FIT */
>>>>        ret = fit_get_data_by_name(fit, images, SYSFW_CFG_RM,
>>>> @@ -171,12 +173,14 @@ static void k3_sysfw_configure_using_fit(void *fit,
>>>>            panic("Error accessing %s node in FIT (%d)\n", SYSFW_CFG_RM,
>>>>                  ret);
>>>>    +#ifdef CONFIG_CLK_TI_SCI
>>>>        /* Apply resource management (RM) configuration to SYSFW */
>>>>        ret = board_ops->board_config_rm(ti_sci,
>>>>                         (u64)(u32)cfg_fragment_addr,
>>>>                         (u32)cfg_fragment_size);
>>>>        if (ret)
>>>>            panic("Failed to set board RM configuration (%d)\n", ret);
>>>> +#endif
>>>>          /* Extract security specific configuration from FIT */
>>>>        ret = fit_get_data_by_name(fit, images, SYSFW_CFG_SEC,
>>>>
>>
>> -- 

--
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki


More information about the U-Boot mailing list