[PATCH] stm32mp1: configs: Make all boot devices in distro boot conditional

Patrick DELAUNAY patrick.delaunay at st.com
Thu Jan 9 14:50:10 CET 2020


Hi Marek,

> From: Marek Vasut <marex at denx.de>
> Sent: mercredi 18 décembre 2019 07:58
> To: u-boot at lists.denx.de
> Cc: Marek Vasut <marex at denx.de>; Patrick DELAUNAY
> <patrick.delaunay at st.com>; Patrice CHOTARD <patrice.chotard at st.com>
> Subject: [PATCH] stm32mp1: configs: Make all boot devices in distro boot
> conditional
> Importance: High
> 
> Not all systems have all the boot devices enabled, e.g. not all systems have MTD
> devices and thus do not enable UBI. Make all the boot devices in the distro
> bootcmd conditional to avoid failures.
> 
> Signed-off-by: Marek Vasut <marex at denx.de>
> Cc: Patrick Delaunay <patrick.delaunay at st.com>
> Cc: Patrice Chotard <patrice.chotard at st.com>

Reviewed-by: Patrick Delaunay <patrick.delaunay at st.com>

With a minor remark below.

> ---
>  include/configs/stm32mp1.h | 34 ++++++++++++++++++++++++++++------
>  1 file changed, 28 insertions(+), 6 deletions(-)
> 
> diff --git a/include/configs/stm32mp1.h b/include/configs/stm32mp1.h index
> d42a7860be..dfc397c63c 100644
> --- a/include/configs/stm32mp1.h
> +++ b/include/configs/stm32mp1.h
> @@ -98,12 +98,34 @@
> 
>  #if !defined(CONFIG_SPL_BUILD)
> 
> -#define BOOT_TARGET_DEVICES(func) \
> -	func(MMC, mmc, 1) \
> -	func(UBIFS, ubifs, 0) \
> -	func(MMC, mmc, 0) \
> -	func(MMC, mmc, 2) \
> -	func(PXE, pxe, na)
> +#ifdef CONFIG_CMD_MMC
> +#define BOOT_TARGET_DEVICE_MMC0(func)	func(MMC, mmc, 0)
> +#define BOOT_TARGET_DEVICE_MMC1(func)	func(MMC, mmc, 1)
> +#define BOOT_TARGET_DEVICE_MMC2(func)	func(MMC, mmc, 2)
> +#else
> +#define BOOT_TARGET_DEVICE_MMC0(func)
> +#define BOOT_TARGET_DEVICE_MMC1(func)
> +#define BOOT_TARGET_DEVICE_MMC2(func)
> +#endif
> +
> +#ifdef CONFIG_NET
> +#define BOOT_TARGET_DEVICE_PXE(func)	func(PXE, pxe, na)
> +#else
> +#define BOOT_TARGET_DEVICE_PXE(func)
> +#endif
> +
> +#ifdef CONFIG_CMD_UBIFS
> +#define BOOT_TARGET_DEVICE_UBIFS(func)	func(UBIFS, ubifs, 0)
> +#else
> +#define BOOT_TARGET_DEVICE_UBIFS(func)
> +#endif
> +
> +#define BOOT_TARGET_DEVICES(func)	\
> +	BOOT_TARGET_DEVICE_MMC1(func)	\
> +	BOOT_TARGET_DEVICE_UBIFS(func)	\
> +	BOOT_TARGET_DEVICE_MMC0(func)	\
> +	BOOT_TARGET_DEVICE_MMC2(func)	\
> +	BOOT_TARGET_DEVICE_PXE(func)

For other board,  the same defines are named BOOT_TARGET_DEVICES_XXXX (with a S at the end of DEVICES)

./include/configs/sunxi-common.h:404:#define BOOT_TARGET_DEVICES(func) \
./include/configs/sunxi-common.h:406:	BOOT_TARGET_DEVICES_MMC(func) \
./include/configs/sunxi-common.h:407:	BOOT_TARGET_DEVICES_SCSI(func) \
./include/configs/sunxi-common.h:408:	BOOT_TARGET_DEVICES_USB(func) \
./include/configs/sunxi-common.h:409:	BOOT_TARGET_DEVICES_PXE(func) \
./include/configs/sunxi-common.h:410:	BOOT_TARGET_DEVICES_DHCP(func)

Except for ./include/configs/uniphier.h

Any reason to change the name for stm32mp1 ?

Othe exception for rockchip 😊

./include/configs/rockchip-common.h:41:#define BOOT_TARGET_DEVICES(func) \
./include/configs/rockchip-common.h:42:	BOOT_TARGET_MMC(func) \
./include/configs/rockchip-common.h:43:	BOOT_TARGET_USB(func) \
./include/configs/rockchip-common.h:44:	BOOT_TARGET_PXE(func) \
./include/configs/rockchip-common.h:45:	BOOT_TARGET_DHCP(func)

If I can choose I prefer the rockchip name (with shorter define name)


>  /*
>   * bootcmd for stm32mp1:
> --
> 2.24.1

Regards

Patrick


More information about the U-Boot mailing list