[PATCH 3/3] stm32mp1: split board and SOC support for STM32MP15x family

Patrice CHOTARD patrice.chotard at st.com
Fri Jan 17 13:45:43 CET 2020


Hi

On 1/13/20 3:17 PM, Patrick Delaunay wrote:
> Split the board and SOC support for STM32MP15x family and
> prepare the introduction of new boards with STM32MP15x.
>
> This path define the 2 configurations:
> - STM32MP15x: STM32MP15x soc support (new)
> - TARGET_ST_STM32MP15x: STMicroelectronics board support (choice)
>
> Signed-off-by: Patrick Delaunay <patrick.delaunay at st.com>
> ---
>
>  arch/arm/dts/Makefile               |  2 +-
>  arch/arm/mach-stm32mp/Kconfig       | 32 +++++++++++++++++++++--------
>  board/st/common/Kconfig             |  3 ++-
>  board/st/stm32mp1/Kconfig           |  7 +------
>  board/st/stm32mp1/stm32mp1.c        |  2 +-
>  configs/stm32mp15_basic_defconfig   |  2 +-
>  configs/stm32mp15_optee_defconfig   |  2 +-
>  configs/stm32mp15_trusted_defconfig |  2 +-
>  8 files changed, 32 insertions(+), 20 deletions(-)
>
> diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
> index 983e235f44..6aabdabdaa 100644
> --- a/arch/arm/dts/Makefile
> +++ b/arch/arm/dts/Makefile
> @@ -856,7 +856,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += ast2500-evb.dtb
>  
>  dtb-$(CONFIG_ARCH_STI) += stih410-b2260.dtb
>  
> -dtb-$(CONFIG_TARGET_STM32MP1) += \
> +dtb-$(CONFIG_STM32MP15x) += \
>  	stm32mp157a-dk1.dtb \
>  	stm32mp157a-avenger96.dtb \
>  	stm32mp157c-dk2.dtb \
> diff --git a/arch/arm/mach-stm32mp/Kconfig b/arch/arm/mach-stm32mp/Kconfig
> index bf8a18a0c3..137178aa45 100644
> --- a/arch/arm/mach-stm32mp/Kconfig
> +++ b/arch/arm/mach-stm32mp/Kconfig
> @@ -33,8 +33,8 @@ config SYS_MALLOC_LEN
>  config ENV_SIZE
>  	default 0x2000
>  
> -config TARGET_STM32MP1
> -	bool "Support stm32mp1xx"
> +config STM32MP15x
> +	bool "Support STMicroelectronics STM32MP15x Soc"
>  	select ARCH_SUPPORT_PSCI if !STM32MP1_TRUSTED
>  	select CPU_V7A
>  	select CPU_V7_HAS_NONSEC if !STM32MP1_TRUSTED
> @@ -45,19 +45,35 @@ config TARGET_STM32MP1
>  	select STM32_RESET
>  	select STM32_SERIAL
>  	select SYS_ARCH_TIMER
> +	imply SYSRESET_PSCI if STM32MP1_TRUSTED
> +	imply SYSRESET_SYSCON if !STM32MP1_TRUSTED
> +	help
> +		support of STMicroelectronics SOC STM32MP15x family
> +		STM32MP157, STM32MP153 or STM32MP151
> +		STMicroelectronics MPU with core ARMv7
> +		dual core A7 for STM32MP157/3, monocore for STM32MP151
> +		target all the STMicroelectronics board with SOC STM32MP1 family
> +
> +choice
> +	prompt "STM32MP15x board select"
> +	optional
> +
> +config TARGET_ST_STM32MP15x
> +	bool "STMicroelectronics STM32MP15x boards"
> +	select STM32MP15x
>  	imply BOOTCOUNT_LIMIT
>  	imply CMD_BOOTCOUNT
>  	imply CMD_CLS if CMD_BMP
>  	imply DISABLE_CONSOLE
>  	imply PRE_CONSOLE_BUFFER
>  	imply SILENT_CONSOLE
> -	imply SYSRESET_PSCI if STM32MP1_TRUSTED
> -	imply SYSRESET_SYSCON if !STM32MP1_TRUSTED
>  	help
> -		target STMicroelectronics SOC STM32MP1 family
> -		STM32MP157, STM32MP153 or STM32MP151
> -		STMicroelectronics MPU with core ARMv7
> -		dual core A7 for STM32MP157/3, monocore for STM32MP151
> +		target the STMicroelectronics board with SOC STM32MP15x
> +		managed by board/st/stm32mp1:
> +		Evalulation board (EV1) or Discovery board (DK1 and DK2).
> +		The difference between board are managed with devicetree
> +
> +endchoice
>  
>  config STM32MP1_TRUSTED
>  	bool "Support trusted boot with TF-A"
> diff --git a/board/st/common/Kconfig b/board/st/common/Kconfig
> index 1824087afc..af01ca4891 100644
> --- a/board/st/common/Kconfig
> +++ b/board/st/common/Kconfig
> @@ -1,6 +1,7 @@
>  config CMD_STBOARD
>  	bool "stboard - command for OTP board information"
> -	default y
> +	depends on ARCH_STM32MP
> +	default y if TARGET_ST_STM32MP15x
>  	help
>  	  This compile the stboard command to
>  	  read and write the board in the OTP.
> diff --git a/board/st/stm32mp1/Kconfig b/board/st/stm32mp1/Kconfig
> index 89fc562746..c5ab7553d4 100644
> --- a/board/st/stm32mp1/Kconfig
> +++ b/board/st/stm32mp1/Kconfig
> @@ -1,4 +1,4 @@
> -if TARGET_STM32MP1
> +if TARGET_ST_STM32MP15x
>  
>  config SYS_BOARD
>  	default "stm32mp1"
> @@ -9,10 +9,5 @@ config SYS_VENDOR
>  config SYS_CONFIG_NAME
>  	default "stm32mp1"
>  
> -config TARGET_STM32MP157C_DK2
> -	bool "support of STMicroelectronics STM32MP157C-DK2 Discovery Board"
> -	default y
> -
>  source "board/st/common/Kconfig"
> -
>  endif
> diff --git a/board/st/stm32mp1/stm32mp1.c b/board/st/stm32mp1/stm32mp1.c
> index 1d4a54c902..4e298dabcb 100644
> --- a/board/st/stm32mp1/stm32mp1.c
> +++ b/board/st/stm32mp1/stm32mp1.c
> @@ -607,7 +607,7 @@ error:
>  
>  static bool board_is_dk2(void)
>  {
> -	if (CONFIG_IS_ENABLED(TARGET_STM32MP157C_DK2) &&
> +	if (CONFIG_IS_ENABLED(TARGET_ST_STM32MP15x) &&
>  	    of_machine_is_compatible("st,stm32mp157c-dk2"))
>  		return true;
>  
> diff --git a/configs/stm32mp15_basic_defconfig b/configs/stm32mp15_basic_defconfig
> index 8f0c7e9339..bc84cd3506 100644
> --- a/configs/stm32mp15_basic_defconfig
> +++ b/configs/stm32mp15_basic_defconfig
> @@ -5,7 +5,7 @@ CONFIG_ENV_SECT_SIZE=0x40000
>  CONFIG_ENV_OFFSET=0x280000
>  CONFIG_SPL_MMC_SUPPORT=y
>  CONFIG_SPL=y
> -CONFIG_TARGET_STM32MP1=y
> +CONFIG_TARGET_ST_STM32MP15x=y
>  CONFIG_SPL_SPI_FLASH_SUPPORT=y
>  CONFIG_SPL_SPI_SUPPORT=y
>  # CONFIG_ARMV7_VIRT is not set
> diff --git a/configs/stm32mp15_optee_defconfig b/configs/stm32mp15_optee_defconfig
> index b036bb738b..3bf62b4c64 100644
> --- a/configs/stm32mp15_optee_defconfig
> +++ b/configs/stm32mp15_optee_defconfig
> @@ -3,7 +3,7 @@ CONFIG_ARCH_STM32MP=y
>  CONFIG_SYS_MALLOC_F_LEN=0x3000
>  CONFIG_ENV_SECT_SIZE=0x40000
>  CONFIG_ENV_OFFSET=0x280000
> -CONFIG_TARGET_STM32MP1=y
> +CONFIG_TARGET_ST_STM32MP15x=y
>  CONFIG_STM32MP1_OPTEE=y
>  CONFIG_DISTRO_DEFAULTS=y
>  CONFIG_FIT=y
> diff --git a/configs/stm32mp15_trusted_defconfig b/configs/stm32mp15_trusted_defconfig
> index 956ba90153..f89f60ca4b 100644
> --- a/configs/stm32mp15_trusted_defconfig
> +++ b/configs/stm32mp15_trusted_defconfig
> @@ -3,7 +3,7 @@ CONFIG_ARCH_STM32MP=y
>  CONFIG_SYS_MALLOC_F_LEN=0x3000
>  CONFIG_ENV_SECT_SIZE=0x40000
>  CONFIG_ENV_OFFSET=0x280000
> -CONFIG_TARGET_STM32MP1=y
> +CONFIG_TARGET_ST_STM32MP15x=y
>  CONFIG_DISTRO_DEFAULTS=y
>  CONFIG_FIT=y
>  CONFIG_BOOTCOMMAND="run bootcmd_stm32mp"

Reviewed-by: Patrice Chotard <patrice.chotard at st.com>

Thanks


More information about the U-Boot mailing list