[U-Boot] [PATCH 4/6] mvebu: select boot device at SoC level

Dennis Gilmore dennis at ausil.us
Tue Jul 31 17:27:46 UTC 2018


Hi Baruch,

this patch needs to be rebased on git master as it does not apply.

Thanks

Dennis
El lun, 18-06-2018 a las 21:56 +0300, Baruch Siach escribió:
> Move the gdsys Controlcenter DC specific build time kwbimage.cfg
> generation code into the mach-mvebu/ directory to be shared by all
> 32bit
> mvebu platforms.
> 
> Remove board specific kwbimage.cfg files, and use the generated one
> instead. These files are all identical, with two exceptions. Clearfog
> and Helios4 use the sdio boot device, whereas all others use spi.
> Update
> the defconfigs for the exceptional boards to generate the same
> kwbimage.cfg as before.
> 
> Signed-off-by: Baruch Siach <baruch at tkos.co.il>
> ---
>  .../a38x => arch/arm/mach-mvebu}/.gitignore   |  0
>  arch/arm/mach-mvebu/Makefile                  | 30
> ++++++++++++++++++
>  arch/arm/mach-mvebu/include/mach/config.h     |  4 +--
>  .../arm/mach-mvebu}/kwbimage.cfg.in           |  0
>  board/CZ.NIC/turris_omnia/kwbimage.cfg        | 12 -------
>  board/Marvell/db-88f6720/kwbimage.cfg         | 12 -------
>  board/Marvell/db-88f6820-amc/kwbimage.cfg     | 12 -------
>  board/Marvell/db-88f6820-gp/kwbimage.cfg      | 12 -------
>  board/Marvell/db-mv784mp-gp/kwbimage.cfg      | 12 -------
>  board/Synology/ds414/kwbimage.cfg             | 12 -------
>  board/gdsys/a38x/Makefile                     | 31 ---------------
> ----
>  board/kobol/helios4/kwbimage.cfg              | 13 --------
>  board/maxbcm/kwbimage.cfg                     | 12 -------
>  board/solidrun/clearfog/kwbimage.cfg          | 12 -------
>  board/theadorable/kwbimage.cfg                | 12 -------
>  configs/clearfog_defconfig                    |  2 +-
>  configs/helios4_defconfig                     |  2 +-
>  17 files changed, 34 insertions(+), 156 deletions(-)
>  rename {board/gdsys/a38x => arch/arm/mach-mvebu}/.gitignore (100%)
>  rename {board/gdsys/a38x => arch/arm/mach-mvebu}/kwbimage.cfg.in
> (100%)
>  delete mode 100644 board/CZ.NIC/turris_omnia/kwbimage.cfg
>  delete mode 100644 board/Marvell/db-88f6720/kwbimage.cfg
>  delete mode 100644 board/Marvell/db-88f6820-amc/kwbimage.cfg
>  delete mode 100644 board/Marvell/db-88f6820-gp/kwbimage.cfg
>  delete mode 100644 board/Marvell/db-mv784mp-gp/kwbimage.cfg
>  delete mode 100644 board/Synology/ds414/kwbimage.cfg
>  delete mode 100644 board/kobol/helios4/kwbimage.cfg
>  delete mode 100644 board/maxbcm/kwbimage.cfg
>  delete mode 100644 board/solidrun/clearfog/kwbimage.cfg
>  delete mode 100644 board/theadorable/kwbimage.cfg
> 
> diff --git a/board/gdsys/a38x/.gitignore b/arch/arm/mach-
> mvebu/.gitignore
> similarity index 100%
> rename from board/gdsys/a38x/.gitignore
> rename to arch/arm/mach-mvebu/.gitignore
> diff --git a/arch/arm/mach-mvebu/Makefile b/arch/arm/mach-
> mvebu/Makefile
> index ade7b870646f..d907fac3752d 100644
> --- a/arch/arm/mach-mvebu/Makefile
> +++ b/arch/arm/mach-mvebu/Makefile
> @@ -25,6 +25,36 @@ obj-$(CONFIG_ARMADA_375) +=
> ../../../drivers/ddr/marvell/axp/xor.o
>  obj-$(CONFIG_ARMADA_38X) += ../../../drivers/ddr/marvell/a38x/xor.o
>  obj-$(CONFIG_ARMADA_XP) += ../../../drivers/ddr/marvell/axp/xor.o
>  obj-$(CONFIG_MVEBU_EFUSE) += efuse.o
> +
> +extra-y += kwbimage.cfg
> +
> +KWB_REPLACE += BOOT_FROM
> +ifneq ($(CONFIG_MVEBU_SPL_BOOT_DEVICE_SPI),)
> +	KWB_CFG_BOOT_FROM=spi
> +endif
> +ifneq ($(CONFIG_MVEBU_SPL_BOOT_DEVICE_MMC),)
> +	KWB_CFG_BOOT_FROM=sdio
> +endif
> +
> +ifneq ($(CONFIG_SECURED_MODE_IMAGE),)
> +KWB_REPLACE += CSK_INDEX
> +KWB_CFG_CSK_INDEX = $(CONFIG_SECURED_MODE_CSK_INDEX)
> +
> +KWB_REPLACE += SEC_BOOT_DEV
> +KWB_CFG_SEC_BOOT_DEV=$(patsubst "%",%, \
> +	$(if $(findstring
> BOOT_SPI_NOR_FLASH,$(CONFIG_SPL_BOOT_DEVICE)),0x34) \
> +	$(if $(findstring
> BOOT_SDIO_MMC_CARD,$(CONFIG_SPL_BOOT_DEVICE)),0x31) \
> +	)
> +
> +KWB_REPLACE += SEC_FUSE_DUMP
> +KWB_CFG_SEC_FUSE_DUMP = a38x
> +endif
> +
> +$(src)/kwbimage.cfg: $(src)/kwbimage.cfg.in include/autoconf.mk \
> +		include/config/auto.conf
> +	$(Q)sed -ne '$(foreach V,$(KWB_REPLACE),s/^#@$(V)/$(V)
> $(KWB_CFG_$(V))/;)p' \
> +	<$< >$(dir $<)$(@F)
> +
>  endif # CONFIG_SPL_BUILD
>  obj-y	+= gpio.o
>  obj-y	+= mbus.o
> diff --git a/arch/arm/mach-mvebu/include/mach/config.h
> b/arch/arm/mach-mvebu/include/mach/config.h
> index 2acfd3314a68..9f51411e43f1 100644
> --- a/arch/arm/mach-mvebu/include/mach/config.h
> +++ b/arch/arm/mach-mvebu/include/mach/config.h
> @@ -32,12 +32,12 @@
>  #endif
>  
>  /*
> - * By default kwbimage.cfg from board specific folder is used
> + * By default the generated mvebu kwbimage.cfg is used
>   * If for some board, different configuration file need to be used,
>   * CONFIG_SYS_KWD_CONFIG should be defined in board specific header
> file
>   */
>  #ifndef CONFIG_SYS_KWD_CONFIG
> -#define	CONFIG_SYS_KWD_CONFIG	$(CONFIG_BOARDDIR)/kwbimage.c
> fg
> +#define	CONFIG_SYS_KWD_CONFIG	arch/arm/mach-
> mvebu/kwbimage.cfg
>  #endif /* CONFIG_SYS_KWD_CONFIG */
>  
>  /* Add target to build it automatically upon "make" */
> diff --git a/board/gdsys/a38x/kwbimage.cfg.in b/arch/arm/mach-
> mvebu/kwbimage.cfg.in
> similarity index 100%
> rename from board/gdsys/a38x/kwbimage.cfg.in
> rename to arch/arm/mach-mvebu/kwbimage.cfg.in
> diff --git a/board/CZ.NIC/turris_omnia/kwbimage.cfg
> b/board/CZ.NIC/turris_omnia/kwbimage.cfg
> deleted file mode 100644
> index 1f748db37c1e..000000000000
> --- a/board/CZ.NIC/turris_omnia/kwbimage.cfg
> +++ /dev/null
> @@ -1,12 +0,0 @@
> -#
> -# Copyright (C) 2014 Stefan Roese <sr at denx.de>
> -#
> -
> -# Armada XP uses version 1 image format
> -VERSION		1
> -
> -# Boot Media configurations
> -BOOT_FROM	spi
> -
> -# Binary Header (bin_hdr) with DDR3 training code
> -BINARY spl/u-boot-spl-dtb.bin 0000005b 00000068
> diff --git a/board/Marvell/db-88f6720/kwbimage.cfg
> b/board/Marvell/db-88f6720/kwbimage.cfg
> deleted file mode 100644
> index 1f748db37c1e..000000000000
> --- a/board/Marvell/db-88f6720/kwbimage.cfg
> +++ /dev/null
> @@ -1,12 +0,0 @@
> -#
> -# Copyright (C) 2014 Stefan Roese <sr at denx.de>
> -#
> -
> -# Armada XP uses version 1 image format
> -VERSION		1
> -
> -# Boot Media configurations
> -BOOT_FROM	spi
> -
> -# Binary Header (bin_hdr) with DDR3 training code
> -BINARY spl/u-boot-spl-dtb.bin 0000005b 00000068
> diff --git a/board/Marvell/db-88f6820-amc/kwbimage.cfg
> b/board/Marvell/db-88f6820-amc/kwbimage.cfg
> deleted file mode 100644
> index 1f748db37c1e..000000000000
> --- a/board/Marvell/db-88f6820-amc/kwbimage.cfg
> +++ /dev/null
> @@ -1,12 +0,0 @@
> -#
> -# Copyright (C) 2014 Stefan Roese <sr at denx.de>
> -#
> -
> -# Armada XP uses version 1 image format
> -VERSION		1
> -
> -# Boot Media configurations
> -BOOT_FROM	spi
> -
> -# Binary Header (bin_hdr) with DDR3 training code
> -BINARY spl/u-boot-spl-dtb.bin 0000005b 00000068
> diff --git a/board/Marvell/db-88f6820-gp/kwbimage.cfg
> b/board/Marvell/db-88f6820-gp/kwbimage.cfg
> deleted file mode 100644
> index 1f748db37c1e..000000000000
> --- a/board/Marvell/db-88f6820-gp/kwbimage.cfg
> +++ /dev/null
> @@ -1,12 +0,0 @@
> -#
> -# Copyright (C) 2014 Stefan Roese <sr at denx.de>
> -#
> -
> -# Armada XP uses version 1 image format
> -VERSION		1
> -
> -# Boot Media configurations
> -BOOT_FROM	spi
> -
> -# Binary Header (bin_hdr) with DDR3 training code
> -BINARY spl/u-boot-spl-dtb.bin 0000005b 00000068
> diff --git a/board/Marvell/db-mv784mp-gp/kwbimage.cfg
> b/board/Marvell/db-mv784mp-gp/kwbimage.cfg
> deleted file mode 100644
> index 1f748db37c1e..000000000000
> --- a/board/Marvell/db-mv784mp-gp/kwbimage.cfg
> +++ /dev/null
> @@ -1,12 +0,0 @@
> -#
> -# Copyright (C) 2014 Stefan Roese <sr at denx.de>
> -#
> -
> -# Armada XP uses version 1 image format
> -VERSION		1
> -
> -# Boot Media configurations
> -BOOT_FROM	spi
> -
> -# Binary Header (bin_hdr) with DDR3 training code
> -BINARY spl/u-boot-spl-dtb.bin 0000005b 00000068
> diff --git a/board/Synology/ds414/kwbimage.cfg
> b/board/Synology/ds414/kwbimage.cfg
> deleted file mode 100644
> index 1f748db37c1e..000000000000
> --- a/board/Synology/ds414/kwbimage.cfg
> +++ /dev/null
> @@ -1,12 +0,0 @@
> -#
> -# Copyright (C) 2014 Stefan Roese <sr at denx.de>
> -#
> -
> -# Armada XP uses version 1 image format
> -VERSION		1
> -
> -# Boot Media configurations
> -BOOT_FROM	spi
> -
> -# Binary Header (bin_hdr) with DDR3 training code
> -BINARY spl/u-boot-spl-dtb.bin 0000005b 00000068
> diff --git a/board/gdsys/a38x/Makefile b/board/gdsys/a38x/Makefile
> index 18ecbe5e7979..32fffab467be 100644
> --- a/board/gdsys/a38x/Makefile
> +++ b/board/gdsys/a38x/Makefile
> @@ -7,36 +7,5 @@
>  obj-$(CONFIG_TARGET_CONTROLCENTERDC) += controlcenterdc.o hre.o
> spl.o keyprogram.o dt_helpers.o
>  
>  ifeq ($(CONFIG_SPL_BUILD),)
> -
>  obj-$(CONFIG_TARGET_CONTROLCENTERDC) += hydra.o ihs_phys.o
> -
> -extra-$(CONFIG_TARGET_CONTROLCENTERDC) += kwbimage.cfg
> -
> -KWB_REPLACE += BOOT_FROM
> -ifneq ($(CONFIG_MVEBU_SPL_BOOT_DEVICE_SPI),)
> -	KWB_CFG_BOOT_FROM=spi
> -endif
> -ifneq ($(CONFIG_MVEBU_SPL_BOOT_DEVICE_MMC),)
> -	KWB_CFG_BOOT_FROM=sdio
> -endif
> -
> -ifneq ($(CONFIG_SECURED_MODE_IMAGE),)
> -KWB_REPLACE += CSK_INDEX
> -KWB_CFG_CSK_INDEX = $(CONFIG_SECURED_MODE_CSK_INDEX)
> -
> -KWB_REPLACE += SEC_BOOT_DEV
> -KWB_CFG_SEC_BOOT_DEV=$(patsubst "%",%, \
> -	$(if $(findstring
> BOOT_SPI_NOR_FLASH,$(CONFIG_SPL_BOOT_DEVICE)),0x34) \
> -	$(if $(findstring
> BOOT_SDIO_MMC_CARD,$(CONFIG_SPL_BOOT_DEVICE)),0x31) \
> -	)
> -
> -KWB_REPLACE += SEC_FUSE_DUMP
> -KWB_CFG_SEC_FUSE_DUMP = a38x
> -endif
> -
> -$(src)/kwbimage.cfg: $(src)/kwbimage.cfg.in include/autoconf.mk \
> -		include/config/auto.conf
> -	$(Q)sed -ne '$(foreach V,$(KWB_REPLACE),s/^#@$(V)/$(V)
> $(KWB_CFG_$(V))/;)p' \
> -	<$< >$(dir $<)$(@F)
> -
>  endif
> diff --git a/board/kobol/helios4/kwbimage.cfg
> b/board/kobol/helios4/kwbimage.cfg
> deleted file mode 100644
> index 035063bc9097..000000000000
> --- a/board/kobol/helios4/kwbimage.cfg
> +++ /dev/null
> @@ -1,13 +0,0 @@
> -# SPDX-License-Identifier: GPL-2.0+
> -#
> -# Copyright (C) 2015 Stefan Roese <sr at denx.de>
> -#
> -
> -# Armada 38x use version 1 image format
> -VERSION		1
> -
> -# Boot Media configurations
> -BOOT_FROM	sdio
> -
> -# Binary Header (bin_hdr) with DDR3 training code
> -BINARY spl/u-boot-spl-dtb.bin 0000005b 00000068
> diff --git a/board/maxbcm/kwbimage.cfg b/board/maxbcm/kwbimage.cfg
> deleted file mode 100644
> index 1f748db37c1e..000000000000
> --- a/board/maxbcm/kwbimage.cfg
> +++ /dev/null
> @@ -1,12 +0,0 @@
> -#
> -# Copyright (C) 2014 Stefan Roese <sr at denx.de>
> -#
> -
> -# Armada XP uses version 1 image format
> -VERSION		1
> -
> -# Boot Media configurations
> -BOOT_FROM	spi
> -
> -# Binary Header (bin_hdr) with DDR3 training code
> -BINARY spl/u-boot-spl-dtb.bin 0000005b 00000068
> diff --git a/board/solidrun/clearfog/kwbimage.cfg
> b/board/solidrun/clearfog/kwbimage.cfg
> deleted file mode 100644
> index f41d25a8a142..000000000000
> --- a/board/solidrun/clearfog/kwbimage.cfg
> +++ /dev/null
> @@ -1,12 +0,0 @@
> -#
> -# Copyright (C) 2015 Stefan Roese <sr at denx.de>
> -#
> -
> -# Armada 38x use version 1 image format
> -VERSION		1
> -
> -# Boot Media configurations
> -BOOT_FROM	sdio
> -
> -# Binary Header (bin_hdr) with DDR3 training code
> -BINARY spl/u-boot-spl-dtb.bin 0000005b 00000068
> diff --git a/board/theadorable/kwbimage.cfg
> b/board/theadorable/kwbimage.cfg
> deleted file mode 100644
> index 4f3b7b23f37f..000000000000
> --- a/board/theadorable/kwbimage.cfg
> +++ /dev/null
> @@ -1,12 +0,0 @@
> -#
> -# Copyright (C) 2015-2016 Stefan Roese <sr at denx.de>
> -#
> -
> -# Armada XP uses version 1 image format
> -VERSION		1
> -
> -# Boot Media configurations
> -BOOT_FROM	spi
> -
> -# Binary Header (bin_hdr) with DDR3 training code
> -BINARY spl/u-boot-spl-dtb.bin 0000005b 00000068
> diff --git a/configs/clearfog_defconfig b/configs/clearfog_defconfig
> index 7a9ee510171b..2164e20a3f08 100644
> --- a/configs/clearfog_defconfig
> +++ b/configs/clearfog_defconfig
> @@ -6,12 +6,12 @@ CONFIG_SPL_LIBCOMMON_SUPPORT=y
>  CONFIG_SPL_LIBGENERIC_SUPPORT=y
>  CONFIG_SYS_MALLOC_F_LEN=0x2000
>  CONFIG_TARGET_CLEARFOG=y
> +CONFIG_MVEBU_SPL_BOOT_DEVICE_MMC=y
>  CONFIG_SPL_MMC_SUPPORT=y
>  CONFIG_SPL_SERIAL_SUPPORT=y
>  CONFIG_SPL=y
>  CONFIG_DEBUG_UART_BASE=0xd0012000
>  CONFIG_DEBUG_UART_CLOCK=250000000
> -CONFIG_SPL_LIBDISK_SUPPORT=y
>  CONFIG_DEFAULT_DEVICE_TREE="armada-388-clearfog"
>  CONFIG_DEBUG_UART=y
>  CONFIG_DISTRO_DEFAULTS=y
> diff --git a/configs/helios4_defconfig b/configs/helios4_defconfig
> index b72428555d37..27e661debe0b 100644
> --- a/configs/helios4_defconfig
> +++ b/configs/helios4_defconfig
> @@ -5,9 +5,9 @@ CONFIG_SPL_LIBCOMMON_SUPPORT=y
>  CONFIG_SPL_LIBGENERIC_SUPPORT=y
>  CONFIG_SYS_MALLOC_F_LEN=0x2000
>  CONFIG_TARGET_HELIOS4=y
> +CONFIG_MVEBU_SPL_BOOT_DEVICE_MMC=y
>  CONFIG_SPL_MMC_SUPPORT=y
>  CONFIG_SPL_SERIAL_SUPPORT=y
> -CONFIG_SPL_LIBDISK_SUPPORT=y
>  CONFIG_SPL=y
>  CONFIG_DEFAULT_DEVICE_TREE="armada-388-helios4"
>  CONFIG_DEBUG_UART=y



More information about the U-Boot mailing list