[PATCH v2] xilinx: zynqmp: Load pmufw configuration before checking access

Before this patch you could see in the log: U-Boot SPL 2022.10-rc5 (Sep 29 2022 - 15:29:27 +0200) PMUFW: v1.1 Loading new PMUFW cfg obj (32 bytes) PMUFW: No permission to change config object Loading new PMUFW cfg obj (2032 bytes)
where it is visible that permission is check before sending PMUFW configuration (big size).
When this patch is applied it is visible that order is correct. U-Boot SPL 2022.10-rc5 (Sep 29 2022 - 15:47:08 +0200) Loading new PMUFW cfg obj (2032 bytes) PMUFW: v1.1 Loading new PMUFW cfg obj (32 bytes)
Signed-off-by: Michal Simek michal.simek@amd.com ---
Changes in v2: - CONFIG_ZYNQMP_SPL_PM_CFG_OBJ_FILE is not defined when SPL is disabled that's why if (IS_ENABLED(CONFIG_SPL_BUILD)) can't be used. Use #if way instead.
board/xilinx/zynqmp/zynqmp.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/board/xilinx/zynqmp/zynqmp.c b/board/xilinx/zynqmp/zynqmp.c index 62537760dfa1..23682936a306 100644 --- a/board/xilinx/zynqmp/zynqmp.c +++ b/board/xilinx/zynqmp/zynqmp.c @@ -145,6 +145,14 @@ int board_init(void) char name[SOC_MAX_STR_SIZE]; int ret; #endif + +#if defined(CONFIG_SPL_BUILD) + /* Check *at build time* if the filename is an non-empty string */ + if (sizeof(CONFIG_ZYNQMP_SPL_PM_CFG_OBJ_FILE) > 1) + zynqmp_pmufw_load_config_object(zynqmp_pm_cfg_obj, + zynqmp_pm_cfg_obj_size); +#endif + #if defined(CONFIG_ZYNQMP_FIRMWARE) struct udevice *dev;
@@ -154,10 +162,6 @@ int board_init(void) #endif
#if defined(CONFIG_SPL_BUILD) - /* Check *at build time* if the filename is an non-empty string */ - if (sizeof(CONFIG_ZYNQMP_SPL_PM_CFG_OBJ_FILE) > 1) - zynqmp_pmufw_load_config_object(zynqmp_pm_cfg_obj, - zynqmp_pm_cfg_obj_size); printf("Silicon version:\t%d\n", zynqmp_get_silicon_version());
/* the CSU disables the JTAG interface when secure boot is enabled */

On 10/5/22 11:39, Michal Simek wrote:
Before this patch you could see in the log: U-Boot SPL 2022.10-rc5 (Sep 29 2022 - 15:29:27 +0200) PMUFW: v1.1 Loading new PMUFW cfg obj (32 bytes) PMUFW: No permission to change config object Loading new PMUFW cfg obj (2032 bytes)
where it is visible that permission is check before sending PMUFW configuration (big size).
When this patch is applied it is visible that order is correct. U-Boot SPL 2022.10-rc5 (Sep 29 2022 - 15:47:08 +0200) Loading new PMUFW cfg obj (2032 bytes) PMUFW: v1.1 Loading new PMUFW cfg obj (32 bytes)
Signed-off-by: Michal Simek michal.simek@amd.com
Changes in v2:
CONFIG_ZYNQMP_SPL_PM_CFG_OBJ_FILE is not defined when SPL is disabled that's why if (IS_ENABLED(CONFIG_SPL_BUILD)) can't be used. Use #if way instead.
board/xilinx/zynqmp/zynqmp.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/board/xilinx/zynqmp/zynqmp.c b/board/xilinx/zynqmp/zynqmp.c index 62537760dfa1..23682936a306 100644 --- a/board/xilinx/zynqmp/zynqmp.c +++ b/board/xilinx/zynqmp/zynqmp.c @@ -145,6 +145,14 @@ int board_init(void) char name[SOC_MAX_STR_SIZE]; int ret; #endif
+#if defined(CONFIG_SPL_BUILD)
- /* Check *at build time* if the filename is an non-empty string */
- if (sizeof(CONFIG_ZYNQMP_SPL_PM_CFG_OBJ_FILE) > 1)
zynqmp_pmufw_load_config_object(zynqmp_pm_cfg_obj,
zynqmp_pm_cfg_obj_size);
+#endif
- #if defined(CONFIG_ZYNQMP_FIRMWARE) struct udevice *dev;
@@ -154,10 +162,6 @@ int board_init(void) #endif
#if defined(CONFIG_SPL_BUILD)
/* Check *at build time* if the filename is an non-empty string */
if (sizeof(CONFIG_ZYNQMP_SPL_PM_CFG_OBJ_FILE) > 1)
zynqmp_pmufw_load_config_object(zynqmp_pm_cfg_obj,
zynqmp_pm_cfg_obj_size);
printf("Silicon version:\t%d\n", zynqmp_get_silicon_version());
/* the CSU disables the JTAG interface when secure boot is enabled */
Applied. M
participants (1)
-
Michal Simek