Browse Source

soc: st: Migrate stm32u5 series to new hw model

Migrate STM2U5 series to new HW model.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
pull/69687/head
Erwan Gouriou 1 year ago committed by Carles Cufi
parent
commit
d716ca1a10
  1. 30
      soc/soc_legacy/arm/st_stm32/stm32u5/Kconfig.soc
  2. 9
      soc/st/stm32/Kconfig
  3. 8
      soc/st/stm32/soc.yml
  4. 7
      soc/st/stm32/stm32u5/CMakeLists.txt
  5. 4
      soc/st/stm32/stm32u5/Kconfig
  6. 5
      soc/st/stm32/stm32u5/Kconfig.defconfig
  7. 3
      soc/st/stm32/stm32u5/Kconfig.defconfig.stm32u575xx
  8. 3
      soc/st/stm32/stm32u5/Kconfig.defconfig.stm32u585xx
  9. 3
      soc/st/stm32/stm32u5/Kconfig.defconfig.stm32u595xx
  10. 3
      soc/st/stm32/stm32u5/Kconfig.defconfig.stm32u599xx
  11. 3
      soc/st/stm32/stm32u5/Kconfig.defconfig.stm32u5a5xx
  12. 3
      soc/st/stm32/stm32u5/Kconfig.defconfig.stm32u5a9xx
  13. 45
      soc/st/stm32/stm32u5/Kconfig.soc
  14. 0
      soc/st/stm32/stm32u5/power.c
  15. 0
      soc/st/stm32/stm32u5/poweroff.c
  16. 0
      soc/st/stm32/stm32u5/soc.c
  17. 0
      soc/st/stm32/stm32u5/soc.h

30
soc/soc_legacy/arm/st_stm32/stm32u5/Kconfig.soc

@ -1,30 +0,0 @@
# ST Microelectronics STM32U5 MCU line
# Copyright (c) 2021 Linaro Limited
# Copyright (c) 2023 PSICONTROL nv
# Copyright (c) 2023 STMicroelectronics
# SPDX-License-Identifier: Apache-2.0
choice
prompt "STM32U5x MCU Selection"
depends on SOC_SERIES_STM32U5X
config SOC_STM32U575XX
bool "STM32U575XX"
config SOC_STM32U585XX
bool "STM32U585XX"
config SOC_STM32U595XX
bool "STM32U595XX"
config SOC_STM32U599XX
bool "STM32U599XX"
config SOC_STM32U5A5XX
bool "STM32U5A5XX"
config SOC_STM32U5A9XX
bool "STM32U5A9XX"
endchoice

9
soc/st/stm32/Kconfig

@ -42,7 +42,7 @@ config STM32_ENABLE_DEBUG_SLEEP_STOP
choice POWER_SUPPLY_CHOICE choice POWER_SUPPLY_CHOICE
prompt "STM32 power supply configuration" prompt "STM32 power supply configuration"
default POWER_SUPPLY_LDO default POWER_SUPPLY_LDO
depends on SOC_SERIES_STM32H7X depends on SOC_SERIES_STM32H7X || SOC_SERIES_STM32U5X
config POWER_SUPPLY_LDO config POWER_SUPPLY_LDO
bool "LDO supply" bool "LDO supply"
@ -52,24 +52,31 @@ config POWER_SUPPLY_DIRECT_SMPS
config POWER_SUPPLY_SMPS_1V8_SUPPLIES_LDO config POWER_SUPPLY_SMPS_1V8_SUPPLIES_LDO
bool "SMPS 1.8V supplies LDO (no external supply)" bool "SMPS 1.8V supplies LDO (no external supply)"
depends on !SOC_SERIES_STM32U5X
config POWER_SUPPLY_SMPS_2V5_SUPPLIES_LDO config POWER_SUPPLY_SMPS_2V5_SUPPLIES_LDO
bool "SMPS 2.5V supplies LDO (no external supply)" bool "SMPS 2.5V supplies LDO (no external supply)"
depends on !SOC_SERIES_STM32U5X
config POWER_SUPPLY_SMPS_1V8_SUPPLIES_EXT_AND_LDO config POWER_SUPPLY_SMPS_1V8_SUPPLIES_EXT_AND_LDO
bool "External SMPS 1.8V supply, supplies LDO" bool "External SMPS 1.8V supply, supplies LDO"
depends on !SOC_SERIES_STM32U5X
config POWER_SUPPLY_SMPS_2V5_SUPPLIES_EXT_AND_LDO config POWER_SUPPLY_SMPS_2V5_SUPPLIES_EXT_AND_LDO
bool "External SMPS 2.5V supply, supplies LDO" bool "External SMPS 2.5V supply, supplies LDO"
depends on !SOC_SERIES_STM32U5X
config POWER_SUPPLY_SMPS_1V8_SUPPLIES_EXT config POWER_SUPPLY_SMPS_1V8_SUPPLIES_EXT
bool "External SMPS 1.8V supply and bypass" bool "External SMPS 1.8V supply and bypass"
depends on !SOC_SERIES_STM32U5X
config POWER_SUPPLY_SMPS_2V5_SUPPLIES_EXT config POWER_SUPPLY_SMPS_2V5_SUPPLIES_EXT
bool "External SMPS 2.5V supply and bypass" bool "External SMPS 2.5V supply and bypass"
depends on !SOC_SERIES_STM32U5X
config POWER_SUPPLY_EXTERNAL_SOURCE config POWER_SUPPLY_EXTERNAL_SOURCE
bool "Bypass" bool "Bypass"
depends on !SOC_SERIES_STM32U5X
endchoice endchoice

8
soc/st/stm32/soc.yml

@ -138,6 +138,14 @@ family:
- name: stm32mp1x - name: stm32mp1x
socs: socs:
- name: stm32mp157cxx - name: stm32mp157cxx
- name: stm32u5x
socs:
- name: stm32u5a5xx
- name: stm32u5a9xx
- name: stm32u575xx
- name: stm32u585xx
- name: stm32u595xx
- name: stm32u599xx
- name: stm32wlx - name: stm32wlx
socs: socs:
- name: stm32wle4xx - name: stm32wle4xx

7
soc/soc_legacy/arm/st_stm32/stm32u5/CMakeLists.txt → soc/st/stm32/stm32u5/CMakeLists.txt

@ -5,10 +5,9 @@ zephyr_sources(
soc.c soc.c
) )
zephyr_sources_ifdef(CONFIG_PM zephyr_sources_ifdef(CONFIG_PM power.c)
power.c
)
zephyr_sources_ifdef(CONFIG_POWEROFF poweroff.c) zephyr_sources_ifdef(CONFIG_POWEROFF poweroff.c)
zephyr_include_directories(.)
set(SOC_LINKER_SCRIPT ${ZEPHYR_BASE}/include/zephyr/arch/arm/cortex_m/scripts/linker.ld CACHE INTERNAL "") set(SOC_LINKER_SCRIPT ${ZEPHYR_BASE}/include/zephyr/arch/arm/cortex_m/scripts/linker.ld CACHE INTERNAL "")

4
soc/soc_legacy/arm/st_stm32/stm32u5/Kconfig.series → soc/st/stm32/stm32u5/Kconfig

@ -4,10 +4,8 @@
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_STM32U5X config SOC_SERIES_STM32U5X
bool "STM32U5x Series MCU"
select ARM select ARM
select CPU_CORTEX_M33 select CPU_CORTEX_M33
select SOC_FAMILY_STM32
select ARM_TRUSTZONE_M select ARM_TRUSTZONE_M
select CPU_HAS_ARM_SAU select CPU_HAS_ARM_SAU
select CPU_HAS_ARM_MPU select CPU_HAS_ARM_MPU
@ -17,5 +15,3 @@ config SOC_SERIES_STM32U5X
select HAS_STM32CUBE select HAS_STM32CUBE
select HAS_PM select HAS_PM
select HAS_POWEROFF select HAS_POWEROFF
help
Enable support for STM32U5 MCU series

5
soc/soc_legacy/arm/st_stm32/stm32u5/Kconfig.defconfig.series → soc/st/stm32/stm32u5/Kconfig.defconfig

@ -5,10 +5,7 @@
if SOC_SERIES_STM32U5X if SOC_SERIES_STM32U5X
source "soc/soc_legacy/arm/st_stm32/stm32u5/Kconfig.defconfig.stm32u5*" rsource "Kconfig.defconfig.stm32u5*"
config SOC_SERIES
default "stm32u5"
config ROM_START_OFFSET config ROM_START_OFFSET
default 0x400 if BOOTLOADER_MCUBOOT default 0x400 if BOOTLOADER_MCUBOOT

3
soc/soc_legacy/arm/st_stm32/stm32u5/Kconfig.defconfig.stm32u575xx → soc/st/stm32/stm32u5/Kconfig.defconfig.stm32u575xx

@ -5,9 +5,6 @@
if SOC_STM32U575XX if SOC_STM32U575XX
config SOC
default "stm32u575xx"
config NUM_IRQS config NUM_IRQS
default 125 default 125

3
soc/soc_legacy/arm/st_stm32/stm32u5/Kconfig.defconfig.stm32u585xx → soc/st/stm32/stm32u5/Kconfig.defconfig.stm32u585xx

@ -5,9 +5,6 @@
if SOC_STM32U585XX if SOC_STM32U585XX
config SOC
default "stm32u585xx"
config NUM_IRQS config NUM_IRQS
default 125 default 125

3
soc/soc_legacy/arm/st_stm32/stm32u5/Kconfig.defconfig.stm32u595xx → soc/st/stm32/stm32u5/Kconfig.defconfig.stm32u595xx

@ -5,9 +5,6 @@
if SOC_STM32U595XX if SOC_STM32U595XX
config SOC
default "stm32u595xx"
config NUM_IRQS config NUM_IRQS
default 132 default 132

3
soc/soc_legacy/arm/st_stm32/stm32u5/Kconfig.defconfig.stm32u599xx → soc/st/stm32/stm32u5/Kconfig.defconfig.stm32u599xx

@ -5,9 +5,6 @@
if SOC_STM32U599XX if SOC_STM32U599XX
config SOC
default "stm32u599xx"
config NUM_IRQS config NUM_IRQS
default 139 default 139

3
soc/soc_legacy/arm/st_stm32/stm32u5/Kconfig.defconfig.stm32u5a5xx → soc/st/stm32/stm32u5/Kconfig.defconfig.stm32u5a5xx

@ -5,9 +5,6 @@
if SOC_STM32U5A5XX if SOC_STM32U5A5XX
config SOC
default "stm32u5a5xx"
config NUM_IRQS config NUM_IRQS
default 139 default 139

3
soc/soc_legacy/arm/st_stm32/stm32u5/Kconfig.defconfig.stm32u5a9xx → soc/st/stm32/stm32u5/Kconfig.defconfig.stm32u5a9xx

@ -5,9 +5,6 @@
if SOC_STM32U5A9XX if SOC_STM32U5A9XX
config SOC
default "stm32u5a9xx"
config NUM_IRQS config NUM_IRQS
default 139 default 139

45
soc/st/stm32/stm32u5/Kconfig.soc

@ -0,0 +1,45 @@
# ST Microelectronics STM32U5 MCU line
# Copyright (c) 2021 Linaro Limited
# Copyright (c) 2023 PSICONTROL nv
# Copyright (c) 2023 STMicroelectronics
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_STM32U5X
bool
select SOC_FAMILY_STM32
config SOC_SERIES
default "stm32u5" if SOC_SERIES_STM32U5X
config SOC_STM32U575XX
bool
select SOC_SERIES_STM32U5X
config SOC_STM32U585XX
bool
select SOC_SERIES_STM32U5X
config SOC_STM32U595XX
bool
select SOC_SERIES_STM32U5X
config SOC_STM32U599XX
bool
select SOC_SERIES_STM32U5X
config SOC_STM32U5A5XX
bool
select SOC_SERIES_STM32U5X
config SOC_STM32U5A9XX
bool
select SOC_SERIES_STM32U5X
config SOC
default "stm32u5a5xx" if SOC_STM32U5A5XX
default "stm32u5a9xx" if SOC_STM32U5A9XX
default "stm32u575xx" if SOC_STM32U575XX
default "stm32u585xx" if SOC_STM32U585XX
default "stm32u595xx" if SOC_STM32U595XX
default "stm32u599xx" if SOC_STM32U599XX

0
soc/soc_legacy/arm/st_stm32/stm32u5/power.c → soc/st/stm32/stm32u5/power.c

0
soc/soc_legacy/arm/st_stm32/stm32u5/poweroff.c → soc/st/stm32/stm32u5/poweroff.c

0
soc/soc_legacy/arm/st_stm32/stm32u5/soc.c → soc/st/stm32/stm32u5/soc.c

0
soc/soc_legacy/arm/st_stm32/stm32u5/soc.h → soc/st/stm32/stm32u5/soc.h

Loading…
Cancel
Save