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-kri...@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

Reply via email to