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

Lokesh Vutla lokeshvutla at ti.com
Tue Nov 17 07:14:57 CET 2020



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?

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