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.chot...@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.delau...@foss.st.com>
Thanks
Patrick