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

Michal Simek michal.simek at amd.com
Mon Oct 10 08:55:16 CEST 2022



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 at 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


More information about the U-Boot mailing list