[PATCH] xilinx: zynqmp: Load pmufw configuration before checking access
Michal Simek
monstr at monstr.eu
Wed Oct 5 11:36:32 CEST 2022
út 4. 10. 2022 v 13:54 odesílatel Michal Simek <monstr at monstr.eu> napsal:
>
> pá 30. 9. 2022 v 9:36 odesílatel Michal Simek <michal.simek at amd.com> napsal:
> >
> > 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
> >
>
> Applied.
> M
This patch is failing in CI loop that's why v2 is needed.
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.
Thanks,
Michal
--
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Xilinx Microblaze
Maintainer of Linux kernel - Xilinx Zynq ARM and ZynqMP ARM64 SoCs
U-Boot custodian - Xilinx Microblaze/Zynq/ZynqMP/Versal SoCs
More information about the U-Boot
mailing list