[PATCH v1 9/9] stm32mp2: initial support

Patrice CHOTARD patrice.chotard at foss.st.com
Fri Nov 10 14:23:39 CET 2023



On 11/9/23 10:41, Patrick DELAUNAY wrote:
> 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
> 
> 
Applied to u-boot-stm32/next

Thanks
Patrice


More information about the U-Boot mailing list