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

Michal Simek michal.simek at amd.com
Fri Sep 30 09:36:27 CEST 2022


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 at amd.com>
---

 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 0b30dd048eb5..f1eb4ff38908 100644
--- a/board/xilinx/zynqmp/zynqmp.c
+++ b/board/xilinx/zynqmp/zynqmp.c
@@ -227,6 +227,14 @@ int board_init(void)
 	char name[SOC_MAX_STR_SIZE];
 	int ret;
 #endif
+
+	if (IS_ENABLED(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);
+	}
+
 #if defined(CONFIG_ZYNQMP_FIRMWARE)
 	struct udevice *dev;
 
@@ -236,10 +244,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 */
-- 
2.36.1



More information about the U-Boot mailing list