[PATCH v1 9/9] stm32mp2: initial support

Patrick DELAUNAY patrick.delaunay at foss.st.com
Thu Nov 9 10:41:25 CET 2023


Hi,

On 10/27/23 16:43, Patrice Chotard wrote:
> Add initial support for STM32MP2 SoCs family.
>
> SoCs information are available here :
> https://www.st.com/content/st_com/en/campaigns/microprocessor-stm32mp2.html
>
> Migrate all MP1 related code into stm32mp1/ directory

Minor:

MP1 => STM32MP1 series

> Create stm32mp2 directory dedicated for STM32MP2 SoCs.
>
> Common code to MP1, MP13 and MP25 is kept into


Minor

MP1 => STM32MP15

MP13 => STM32MP13

MP25 => STM32MP25


> arch/arm/mach-stm32/mach-stm32mp directory :
>    - boot_params.c
>    - bsec
>    - cmd_stm32key
>    - cmd_stm32prog
>    - dram_init.c
>    - syscon.c
>    - ecdsa_romapi.c
>
> For STM32MP2, it also :
>    - adds memory region description needed for ARMv8 MMU.
>    - enables early data cache before relocation.
>      During the transition before/after relocation, the MMU, initially setup
>      at the beginning of DDR, must be setup again at a correct address after
>      relocation. This is done in enables_caches() by disabling cache, force
>      arch.tlb_fillptr to NULL which will force the MMU to be setup again but
>      with a new value for gd->arch.tlb_addr. gd->arch.tlb_addr has been
>      updated after relocation in arm_reserve_mmu().
>
> Signed-off-by: Patrice Chotard <patrice.chotard at foss.st.com>
> ---
>
>   arch/arm/Kconfig                              |   2 +-
>   arch/arm/mach-stm32mp/Kconfig                 |  26 ++-
>   arch/arm/mach-stm32mp/Kconfig.25x             |  43 ++++
>   arch/arm/mach-stm32mp/Makefile                |  15 +-
>   arch/arm/mach-stm32mp/include/mach/stm32.h    | 141 ++++++++-----
>   .../arm/mach-stm32mp/include/mach/sys_proto.h |  26 +++
>   arch/arm/mach-stm32mp/stm32mp1/Makefile       |  20 ++
>   arch/arm/mach-stm32mp/{ => stm32mp1}/cpu.c    |   0
>   arch/arm/mach-stm32mp/{ => stm32mp1}/fdt.c    |   0
>   arch/arm/mach-stm32mp/{ => stm32mp1}/psci.c   |   0
>   .../{ => stm32mp1}/pwr_regulator.c            |   0
>   arch/arm/mach-stm32mp/{ => stm32mp1}/spl.c    |   0
>   .../mach-stm32mp/{ => stm32mp1}/stm32mp13x.c  |   0
>   .../mach-stm32mp/{ => stm32mp1}/stm32mp15x.c  |   0
>   arch/arm/mach-stm32mp/{ => stm32mp1}/tzc400.c |   0
>   arch/arm/mach-stm32mp/stm32mp2/Makefile       |   9 +
>   arch/arm/mach-stm32mp/stm32mp2/arm64-mmu.c    |  68 ++++++
>   arch/arm/mach-stm32mp/stm32mp2/cpu.c          | 108 ++++++++++
>   arch/arm/mach-stm32mp/stm32mp2/fdt.c          |  16 ++
>   arch/arm/mach-stm32mp/stm32mp2/stm32mp25x.c   | 194 ++++++++++++++++++
>   arch/arm/mach-stm32mp/syscon.c                |   4 +-
>   board/st/stm32mp2/Kconfig                     |  13 ++
>   board/st/stm32mp2/MAINTAINERS                 |   9 +
>   board/st/stm32mp2/Makefile                    |   6 +
>   board/st/stm32mp2/stm32mp2.c                  |  52 +++++
>   configs/stm32mp25_defconfig                   |  52 +++++
>   include/configs/stm32mp25_common.h            |  24 +++
>   27 files changed, 757 insertions(+), 71 deletions(-)
>   create mode 100644 arch/arm/mach-stm32mp/Kconfig.25x
>   create mode 100644 arch/arm/mach-stm32mp/stm32mp1/Makefile
>   rename arch/arm/mach-stm32mp/{ => stm32mp1}/cpu.c (100%)
>   rename arch/arm/mach-stm32mp/{ => stm32mp1}/fdt.c (100%)
>   rename arch/arm/mach-stm32mp/{ => stm32mp1}/psci.c (100%)
>   rename arch/arm/mach-stm32mp/{ => stm32mp1}/pwr_regulator.c (100%)
>   rename arch/arm/mach-stm32mp/{ => stm32mp1}/spl.c (100%)
>   rename arch/arm/mach-stm32mp/{ => stm32mp1}/stm32mp13x.c (100%)
>   rename arch/arm/mach-stm32mp/{ => stm32mp1}/stm32mp15x.c (100%)
>   rename arch/arm/mach-stm32mp/{ => stm32mp1}/tzc400.c (100%)
>   create mode 100644 arch/arm/mach-stm32mp/stm32mp2/Makefile
>   create mode 100644 arch/arm/mach-stm32mp/stm32mp2/arm64-mmu.c
>   create mode 100644 arch/arm/mach-stm32mp/stm32mp2/cpu.c
>   create mode 100644 arch/arm/mach-stm32mp/stm32mp2/fdt.c
>   create mode 100644 arch/arm/mach-stm32mp/stm32mp2/stm32mp25x.c
>   create mode 100644 board/st/stm32mp2/Kconfig
>   create mode 100644 board/st/stm32mp2/MAINTAINERS
>   create mode 100644 board/st/stm32mp2/Makefile
>   create mode 100644 board/st/stm32mp2/stm32mp2.c
>   create mode 100644 configs/stm32mp25_defconfig
>   create mode 100644 include/configs/stm32mp25_common.h
>

with the minor remark on commit message


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

Thanks
Patrick




More information about the U-Boot mailing list