[PATCH] arm64: zynqmp: Do not include psu_init to U-Boot by default

Michal Simek michal.simek at amd.com
Mon Dec 5 08:48:38 CET 2022



On 12/2/22 09:18, Michal Simek wrote:
> The commit ed35de617013 ("Convert CONFIG_ZYNQMP_PSU_INIT_ENABLED to
> Kconfig") converted CONFIG_ZYNQMP_PSU_INIT_ENABLED symbol and enabled it by
> default which is not correct configuration.
> Intention of this config was to have it enabled by default for SPL and
> provide an option to users to also do low level initialization directly
> from U-Boot.
> That's why it is necessary to define second symbol with SPL marking in it
> and properly use symbols depends on usage in Makefile.
> Also disable ZYNQMP_PSU_INIT_ENABLED from boards which enables it by
> default. CONFIG_SPL_ZYNQMP_PSU_INIT_ENABLED is enabled by default when SPL
> is enabled.
> 
> Reported-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu at amd.com>
> Signed-off-by: Michal Simek <michal.simek at amd.com>
> ---
> 
>   arch/arm/mach-zynqmp/Kconfig                             | 9 ++++++++-
>   arch/arm/mach-zynqmp/Makefile                            | 2 +-
>   board/xilinx/zynqmp/Makefile                             | 6 +-----
>   ...vnet_ultrazedev_cc_v1_0_ultrazedev_som_v1_0_defconfig | 1 -
>   configs/xilinx_zynqmp_mini_defconfig                     | 1 -
>   configs/xilinx_zynqmp_mini_emmc0_defconfig               | 1 -
>   configs/xilinx_zynqmp_mini_emmc1_defconfig               | 1 -
>   configs/xilinx_zynqmp_mini_nand_defconfig                | 1 -
>   configs/xilinx_zynqmp_mini_nand_single_defconfig         | 1 -
>   configs/xilinx_zynqmp_mini_qspi_defconfig                | 1 -
>   10 files changed, 10 insertions(+), 14 deletions(-)
> 
> diff --git a/arch/arm/mach-zynqmp/Kconfig b/arch/arm/mach-zynqmp/Kconfig
> index 66045067d2fe..fd6f07715a83 100644
> --- a/arch/arm/mach-zynqmp/Kconfig
> +++ b/arch/arm/mach-zynqmp/Kconfig
> @@ -142,7 +142,14 @@ config ZYNQMP_PSU_INIT_ENABLED
>   	bool "Include psu_init"
>   	select BOARD_EARLY_INIT_F
>   	help
> -	  Include psu_init to full u-boot. SPL include psu_init by default.
> +	  Include psu_init to full u-boot.
> +
> +config SPL_ZYNQMP_PSU_INIT_ENABLED
> +	bool "Include psu_init in SPL"
> +	default y if SPL
> +	select BOARD_EARLY_INIT_F
> +	help
> +	  Include psu_init by default in SPL.
>   
>   config SPL_ZYNQMP_ALT_BOOTMODE_ENABLED
>   	bool "Overwrite SPL bootmode"
> diff --git a/arch/arm/mach-zynqmp/Makefile b/arch/arm/mach-zynqmp/Makefile
> index 4f9f6b56a98a..bb1830c84625 100644
> --- a/arch/arm/mach-zynqmp/Makefile
> +++ b/arch/arm/mach-zynqmp/Makefile
> @@ -8,4 +8,4 @@ obj-y	+= cpu.o
>   obj-$(CONFIG_MP)	+= mp.o
>   obj-$(CONFIG_SPL_BUILD) += spl.o handoff.o psu_spl_init.o
>   obj-$(CONFIG_SPL_ZYNQMP_DRAM_ECC_INIT) += ecc_spl_init.o
> -obj-$(CONFIG_ZYNQMP_PSU_INIT_ENABLED)	+= psu_spl_init.o
> +obj-$(CONFIG_$(SPL_)ZYNQMP_PSU_INIT_ENABLED)	+= psu_spl_init.o
> diff --git a/board/xilinx/zynqmp/Makefile b/board/xilinx/zynqmp/Makefile
> index a91402875332..732f909fc215 100644
> --- a/board/xilinx/zynqmp/Makefile
> +++ b/board/xilinx/zynqmp/Makefile
> @@ -31,11 +31,7 @@ $(warning Put custom psu_init_gpl.c/h to board/xilinx/zynqmp/custom_hw_platform/
>   endif
>   endif
>   
> -ifdef_any_of = $(filter-out undefined,$(foreach v,$(1),$(origin $(v))))
> -
> -ifneq ($(call ifdef_any_of, CONFIG_ZYNQMP_PSU_INIT_ENABLED CONFIG_SPL_BUILD),)
> -obj-y += $(init-objs)
> -endif
> +obj-$(CONFIG_$(SPL_)ZYNQMP_PSU_INIT_ENABLED) += $(init-objs)
>   
>   ifdef CONFIG_SPL_BUILD
>   ifneq ($(CONFIG_ZYNQMP_SPL_PM_CFG_OBJ_FILE),"")
> diff --git a/configs/avnet_ultrazedev_cc_v1_0_ultrazedev_som_v1_0_defconfig b/configs/avnet_ultrazedev_cc_v1_0_ultrazedev_som_v1_0_defconfig
> index ce07f1633e04..0a3d710a8b1f 100644
> --- a/configs/avnet_ultrazedev_cc_v1_0_ultrazedev_som_v1_0_defconfig
> +++ b/configs/avnet_ultrazedev_cc_v1_0_ultrazedev_som_v1_0_defconfig
> @@ -8,7 +8,6 @@ CONFIG_DEFAULT_DEVICE_TREE="avnet-ultrazedev-cc-v1.0-ultrazedev-som-v1.0"
>   CONFIG_SPL=y
>   CONFIG_SPL_SPI_FLASH_SUPPORT=y
>   CONFIG_SPL_SPI=y
> -CONFIG_ZYNQMP_PSU_INIT_ENABLED=y
>   CONFIG_SYS_LOAD_ADDR=0x8000000
>   CONFIG_DEBUG_UART=y
>   CONFIG_SYS_MEMTEST_START=0x00000000
> diff --git a/configs/xilinx_zynqmp_mini_defconfig b/configs/xilinx_zynqmp_mini_defconfig
> index f29128bf55d9..d8b3aab94f1f 100644
> --- a/configs/xilinx_zynqmp_mini_defconfig
> +++ b/configs/xilinx_zynqmp_mini_defconfig
> @@ -7,7 +7,6 @@ CONFIG_SYS_MALLOC_LEN=0x1a00
>   CONFIG_ENV_SIZE=0x80
>   CONFIG_DEFAULT_DEVICE_TREE="zynqmp-mini"
>   CONFIG_SYS_MEM_RSVD_FOR_MMU=y
> -CONFIG_ZYNQMP_PSU_INIT_ENABLED=y
>   # CONFIG_CMD_ZYNQMP is not set
>   CONFIG_SYS_LOAD_ADDR=0x8000000
>   CONFIG_SYS_MEMTEST_START=0x00000000
> diff --git a/configs/xilinx_zynqmp_mini_emmc0_defconfig b/configs/xilinx_zynqmp_mini_emmc0_defconfig
> index 611da78239db..a1ee98dfc252 100644
> --- a/configs/xilinx_zynqmp_mini_emmc0_defconfig
> +++ b/configs/xilinx_zynqmp_mini_emmc0_defconfig
> @@ -10,7 +10,6 @@ CONFIG_ENV_SIZE=0x80
>   CONFIG_DEFAULT_DEVICE_TREE="zynqmp-mini-emmc0"
>   CONFIG_SPL_SYS_MALLOC_F_LEN=0x600
>   CONFIG_SPL=y
> -CONFIG_ZYNQMP_PSU_INIT_ENABLED=y
>   # CONFIG_CMD_ZYNQMP is not set
>   CONFIG_SYS_LOAD_ADDR=0x8000000
>   CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
> diff --git a/configs/xilinx_zynqmp_mini_emmc1_defconfig b/configs/xilinx_zynqmp_mini_emmc1_defconfig
> index c8084e6ae050..88c95d4ce2a0 100644
> --- a/configs/xilinx_zynqmp_mini_emmc1_defconfig
> +++ b/configs/xilinx_zynqmp_mini_emmc1_defconfig
> @@ -10,7 +10,6 @@ CONFIG_ENV_SIZE=0x80
>   CONFIG_DEFAULT_DEVICE_TREE="zynqmp-mini-emmc1"
>   CONFIG_SPL_SYS_MALLOC_F_LEN=0x600
>   CONFIG_SPL=y
> -CONFIG_ZYNQMP_PSU_INIT_ENABLED=y
>   # CONFIG_CMD_ZYNQMP is not set
>   CONFIG_SYS_LOAD_ADDR=0x8000000
>   CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
> diff --git a/configs/xilinx_zynqmp_mini_nand_defconfig b/configs/xilinx_zynqmp_mini_nand_defconfig
> index f5a467940266..0e035348db06 100644
> --- a/configs/xilinx_zynqmp_mini_nand_defconfig
> +++ b/configs/xilinx_zynqmp_mini_nand_defconfig
> @@ -7,7 +7,6 @@ CONFIG_SYS_MALLOC_LEN=0x800000
>   CONFIG_NR_DRAM_BANKS=1
>   CONFIG_ENV_SIZE=0x80
>   CONFIG_DEFAULT_DEVICE_TREE="zynqmp-mini-nand"
> -CONFIG_ZYNQMP_PSU_INIT_ENABLED=y
>   # CONFIG_CMD_ZYNQMP is not set
>   CONFIG_SYS_LOAD_ADDR=0x8000000
>   CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
> diff --git a/configs/xilinx_zynqmp_mini_nand_single_defconfig b/configs/xilinx_zynqmp_mini_nand_single_defconfig
> index 61c44e2a6a44..5255419c75bd 100644
> --- a/configs/xilinx_zynqmp_mini_nand_single_defconfig
> +++ b/configs/xilinx_zynqmp_mini_nand_single_defconfig
> @@ -7,7 +7,6 @@ CONFIG_SYS_MALLOC_LEN=0x800000
>   CONFIG_NR_DRAM_BANKS=1
>   CONFIG_ENV_SIZE=0x80
>   CONFIG_DEFAULT_DEVICE_TREE="zynqmp-mini-nand"
> -CONFIG_ZYNQMP_PSU_INIT_ENABLED=y
>   # CONFIG_CMD_ZYNQMP is not set
>   CONFIG_SYS_LOAD_ADDR=0x8000000
>   CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
> diff --git a/configs/xilinx_zynqmp_mini_qspi_defconfig b/configs/xilinx_zynqmp_mini_qspi_defconfig
> index a4b754e09ebb..6861f7398085 100644
> --- a/configs/xilinx_zynqmp_mini_qspi_defconfig
> +++ b/configs/xilinx_zynqmp_mini_qspi_defconfig
> @@ -10,7 +10,6 @@ CONFIG_DEFAULT_DEVICE_TREE="zynqmp-mini-qspi"
>   CONFIG_SPL=y
>   CONFIG_SYS_MEM_RSVD_FOR_MMU=y
>   CONFIG_ZYNQMP_NO_DDR=y
> -CONFIG_ZYNQMP_PSU_INIT_ENABLED=y
>   # CONFIG_CMD_ZYNQMP is not set
>   # CONFIG_PSCI_RESET is not set
>   CONFIG_SYS_LOAD_ADDR=0x8000000

Applied.
M


More information about the U-Boot mailing list