]> git.dujemihanovic.xyz Git - u-boot.git/commit
stm32mp2: initial support
authorPatrice Chotard <patrice.chotard@foss.st.com>
Fri, 27 Oct 2023 14:43:04 +0000 (16:43 +0200)
committerPatrice Chotard <patrice.chotard@foss.st.com>
Mon, 13 Nov 2023 09:55:38 +0000 (10:55 +0100)
commit01a701994b0590b6452516a7c67353359d053c94
treeff11e53793948ad6c1fce6c80aa8a1446d92d02f
parent970d1673b016ae013839d7bcd69a17601b450304
stm32mp2: initial support

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
Create stm32mp2 directory dedicated for STM32MP2 SoCs.

Common code to MP1, MP13 and MP25 is kept into
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@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
27 files changed:
arch/arm/Kconfig
arch/arm/mach-stm32mp/Kconfig
arch/arm/mach-stm32mp/Kconfig.25x [new file with mode: 0644]
arch/arm/mach-stm32mp/Makefile
arch/arm/mach-stm32mp/include/mach/stm32.h
arch/arm/mach-stm32mp/include/mach/sys_proto.h
arch/arm/mach-stm32mp/stm32mp1/Makefile [new file with mode: 0644]
arch/arm/mach-stm32mp/stm32mp1/cpu.c [moved from arch/arm/mach-stm32mp/cpu.c with 100% similarity]
arch/arm/mach-stm32mp/stm32mp1/fdt.c [moved from arch/arm/mach-stm32mp/fdt.c with 100% similarity]
arch/arm/mach-stm32mp/stm32mp1/psci.c [moved from arch/arm/mach-stm32mp/psci.c with 100% similarity]
arch/arm/mach-stm32mp/stm32mp1/pwr_regulator.c [moved from arch/arm/mach-stm32mp/pwr_regulator.c with 100% similarity]
arch/arm/mach-stm32mp/stm32mp1/spl.c [moved from arch/arm/mach-stm32mp/spl.c with 100% similarity]
arch/arm/mach-stm32mp/stm32mp1/stm32mp13x.c [moved from arch/arm/mach-stm32mp/stm32mp13x.c with 100% similarity]
arch/arm/mach-stm32mp/stm32mp1/stm32mp15x.c [moved from arch/arm/mach-stm32mp/stm32mp15x.c with 100% similarity]
arch/arm/mach-stm32mp/stm32mp1/tzc400.c [moved from arch/arm/mach-stm32mp/tzc400.c with 100% similarity]
arch/arm/mach-stm32mp/stm32mp2/Makefile [new file with mode: 0644]
arch/arm/mach-stm32mp/stm32mp2/arm64-mmu.c [new file with mode: 0644]
arch/arm/mach-stm32mp/stm32mp2/cpu.c [new file with mode: 0644]
arch/arm/mach-stm32mp/stm32mp2/fdt.c [new file with mode: 0644]
arch/arm/mach-stm32mp/stm32mp2/stm32mp25x.c [new file with mode: 0644]
arch/arm/mach-stm32mp/syscon.c
board/st/stm32mp2/Kconfig [new file with mode: 0644]
board/st/stm32mp2/MAINTAINERS [new file with mode: 0644]
board/st/stm32mp2/Makefile [new file with mode: 0644]
board/st/stm32mp2/stm32mp2.c [new file with mode: 0644]
configs/stm32mp25_defconfig [new file with mode: 0644]
include/configs/stm32mp25_common.h [new file with mode: 0644]