cpu/stm32: split main Kconfig

This commit is contained in:
Alexandre Abadie 2020-09-10 08:30:50 +02:00
parent e8c79e7a41
commit ba4edb3c63
No known key found for this signature in database
GPG Key ID: 1C919A403CAE1405
4 changed files with 463 additions and 453 deletions

View File

@ -17,458 +17,6 @@ config CPU_STM32
select HAS_PERIPH_UART_NONBLOCKING
select HAS_PERIPH_WDT
config CPU_FAM_F0
bool
select CPU_STM32
select CPU_CORE_CORTEX_M0
select HAS_CPU_STM32F0
select HAS_PERIPH_FLASHPAGE
select HAS_PERIPH_FLASHPAGE_RAW
config CPU_FAM_F1
bool
select CPU_STM32
select CPU_CORE_CORTEX_M3
select HAS_CPU_STM32F1
select HAS_PERIPH_FLASHPAGE
select HAS_PERIPH_FLASHPAGE_RAW
config CPU_FAM_F2
bool
select CPU_STM32
select CPU_CORE_CORTEX_M3
select HAS_CPU_STM32F2
select HAS_CORTEXM_MPU
select HAS_PERIPH_HWRNG
config CPU_FAM_F3
bool
select CPU_STM32
select CPU_CORE_CORTEX_M4F
select HAS_CPU_STM32F3
select HAS_PERIPH_FLASHPAGE
select HAS_PERIPH_FLASHPAGE_RAW
config CPU_FAM_F4
bool
select CPU_STM32
select CPU_CORE_CORTEX_M4F
select HAS_CPU_STM32F4
select HAS_CORTEXM_MPU
config CPU_FAM_F7
bool
select CPU_STM32
select CPU_CORE_CORTEX_M7
select HAS_CPU_STM32F7
select HAS_CORTEXM_MPU
select HAS_PERIPH_HWRNG
config CPU_FAM_G0
bool
select CPU_STM32
select CPU_CORE_CORTEX_M0PLUS
select HAS_CPU_STM32G0
select HAS_PERIPH_FLASHPAGE
select HAS_PERIPH_FLASHPAGE_RAW
config CPU_FAM_G4
bool
select CPU_STM32
select CPU_CORE_CORTEX_M4
select HAS_CPU_STM32G4
select HAS_CORTEXM_MPU
select HAS_PERIPH_FLASHPAGE
select HAS_PERIPH_FLASHPAGE_RAW
select HAS_PERIPH_HWRNG
config CPU_FAM_L0
bool
select CPU_STM32
select CPU_CORE_CORTEX_M0PLUS
select HAS_CPU_STM32L0
select HAS_PERIPH_FLASHPAGE
select HAS_PERIPH_FLASHPAGE_RAW
select HAS_PERIPH_EEPROM
config CPU_FAM_L1
bool
select CPU_STM32
select CPU_CORE_CORTEX_M3
select HAS_CPU_STM32L1
select HAS_CORTEXM_MPU
select HAS_PERIPH_FLASHPAGE
select HAS_PERIPH_FLASHPAGE_RAW
select HAS_PERIPH_EEPROM
config CPU_FAM_L4
bool
select CPU_STM32
select CPU_CORE_CORTEX_M4F
select HAS_CPU_STM32L4
select HAS_CORTEXM_MPU
select HAS_PERIPH_FLASHPAGE
select HAS_PERIPH_FLASHPAGE_RAW
select HAS_PERIPH_HWRNG
config CPU_FAM_WB
bool
select CPU_STM32
select CPU_CORE_CORTEX_M4
select HAS_CPU_STM32WB
select HAS_PERIPH_FLASHPAGE
select HAS_PERIPH_FLASHPAGE_RAW
select HAS_PERIPH_HWRNG
# CPU Models
# STM32F0
config CPU_MODEL_STM32F030F4
bool
select CPU_FAM_F0
config CPU_MODEL_STM32F030R8
bool
select CPU_FAM_F0
config CPU_MODEL_STM32F031K6
bool
select CPU_FAM_F0
config CPU_MODEL_STM32F042K6
bool
select CPU_FAM_F0
config CPU_MODEL_STM32F051R8
bool
select CPU_FAM_F0
config CPU_MODEL_STM32F070RB
bool
select CPU_FAM_F0
config CPU_MODEL_STM32F072RB
bool
select CPU_FAM_F0
config CPU_MODEL_STM32F091RC
bool
select CPU_FAM_F0
# STM32F1
config CPU_MODEL_STM32F103C8
bool
select CPU_FAM_F1
config CPU_MODEL_STM32F103CB
bool
select CPU_FAM_F1
config CPU_MODEL_STM32F103RB
bool
select CPU_FAM_F1
config CPU_MODEL_STM32F103RE
bool
select CPU_FAM_F1
# STM32F2
config CPU_MODEL_STM32F207ZG
bool
select CPU_FAM_F2
# STM32F3
config CPU_MODEL_STM32F302R8
bool
select CPU_FAM_F3
config CPU_MODEL_STM32F303K8
bool
select CPU_FAM_F3
config CPU_MODEL_STM32F303RE
bool
select CPU_FAM_F3
select HAS_CORTEXM_MPU
config CPU_MODEL_STM32F303VC
bool
select CPU_FAM_F3
select HAS_CORTEXM_MPU
config CPU_MODEL_STM32F303ZE
bool
select CPU_FAM_F3
select HAS_CORTEXM_MPU
config CPU_MODEL_STM32F334R8
bool
select CPU_FAM_F3
# STM32F4
config CPU_MODEL_STM32F401RE
bool
select CPU_FAM_F4
config CPU_MODEL_STM32F405RG
bool
select CPU_FAM_F4
select HAS_PERIPH_HWRNG
config CPU_MODEL_STM32F407VG
bool
select CPU_FAM_F4
select HAS_PERIPH_HWRNG
config CPU_MODEL_STM32F410RB
bool
select CPU_FAM_F4
select HAS_PERIPH_HWRNG
config CPU_MODEL_STM32F411RE
bool
select CPU_FAM_F4
config CPU_MODEL_STM32F411CEU6
bool
select CPU_FAM_F4
config CPU_MODEL_STM32F412ZG
bool
select CPU_FAM_F4
select HAS_PERIPH_HWRNG
config CPU_MODEL_STM32F413ZH
bool
select CPU_FAM_F4
select HAS_PERIPH_HWRNG
config CPU_MODEL_STM32F415RG
bool
select CPU_FAM_F4
select HAS_PERIPH_HWRNG
config CPU_MODEL_STM32F429ZI
bool
select CPU_FAM_F4
select HAS_PERIPH_HWRNG
config CPU_MODEL_STM32F437VG
bool
select CPU_FAM_F4
select HAS_PERIPH_HWRNG
config CPU_MODEL_STM32F446RE
bool
select CPU_FAM_F4
config CPU_MODEL_STM32F446ZE
bool
select CPU_FAM_F4
# STM32F7
config CPU_MODEL_STM32F722ZE
bool
select CPU_FAM_F7
config CPU_MODEL_STM32F723IE
bool
select CPU_FAM_F7
config CPU_MODEL_STM32F746ZG
bool
select CPU_FAM_F7
config CPU_MODEL_STM32F767ZI
bool
select CPU_FAM_F7
config CPU_MODEL_STM32F769NI
bool
select CPU_FAM_F7
# STM32G0
config CPU_MODEL_STM32G070RB
bool
select CPU_FAM_G0
config CPU_MODEL_STM32G071RB
bool
select CPU_FAM_G0
# STM32G4
config CPU_MODEL_STM32G431RB
bool
select CPU_FAM_G4
config CPU_MODEL_STM32G474RE
bool
select CPU_FAM_G4
# STM32L0
config CPU_MODEL_STM32L031K6
bool
select CPU_FAM_L0
config CPU_MODEL_STM32L052T8
bool
select CPU_FAM_L0
select HAS_PERIPH_HWRNG
config CPU_MODEL_STM32L053R8
bool
select CPU_FAM_L0
select HAS_PERIPH_HWRNG
config CPU_MODEL_STM32L053C8
bool
select CPU_FAM_L0
select HAS_PERIPH_HWRNG
config CPU_MODEL_STM32L072CZ
bool
select CPU_FAM_L0
select HAS_PERIPH_HWRNG
config CPU_MODEL_STM32L073RZ
bool
select CPU_FAM_L0
select HAS_PERIPH_HWRNG
# STM32L1
config CPU_MODEL_STM32L151CB
bool
select CPU_FAM_L1
config CPU_MODEL_STM32L151CB_A
bool
select CPU_FAM_L1
config CPU_MODEL_STM32L151RC
bool
select CPU_FAM_L1
config CPU_MODEL_STM32L152RE
bool
select CPU_FAM_L1
# STM32L4
config CPU_MODEL_STM32L412KB
bool
select CPU_FAM_L4
config CPU_MODEL_STM32L432KC
bool
select CPU_FAM_L4
config CPU_MODEL_STM32L433RC
bool
select CPU_FAM_L4
config CPU_MODEL_STM32L452RE
bool
select CPU_FAM_L4
config CPU_MODEL_STM32L475VG
bool
select CPU_FAM_L4
config CPU_MODEL_STM32L476RG
bool
select CPU_FAM_L4
config CPU_MODEL_STM32L476VG
bool
select CPU_FAM_L4
config CPU_MODEL_STM32L496AG
bool
select CPU_FAM_L4
config CPU_MODEL_STM32L496ZG
bool
select CPU_FAM_L4
config CPU_MODEL_STM32L4R5ZI
bool
select CPU_FAM_L4
# STM32WB
config CPU_MODEL_STM32WB55RG
bool
select CPU_FAM_WB
# Definition of specific features
config HAS_CPU_STM32
bool
help
Indicates that a 'stm32' cpu is being used.
config HAS_CPU_STM32F0
bool
help
Indicates that the cpu being used belongs to the 'stm32f0' family.
config HAS_CPU_STM32F1
bool
help
Indicates that the cpu being used belongs to the 'stm32f1' family.
config HAS_CPU_STM32F2
bool
help
Indicates that the cpu being used belongs to the 'stm32f2' family.
config HAS_CPU_STM32F3
bool
help
Indicates that the cpu being used belongs to the 'stm32f3' family.
config HAS_CPU_STM32F4
bool
help
Indicates that the cpu being used belongs to the 'stm32f4' family.
config HAS_CPU_STM32F7
bool
help
Indicates that the cpu being used belongs to the 'stm32f7' family.
config HAS_CPU_STM32G0
bool
help
Indicates that the cpu being used belongs to the 'stm32g0' family.
config HAS_CPU_STM32G4
bool
help
Indicates that the cpu being used belongs to the 'stm32g4' family.
config HAS_CPU_STM32L0
bool
help
Indicates that the cpu being used belongs to the 'stm32l0' family.
config HAS_CPU_STM32L1
bool
help
Indicates that the cpu being used belongs to the 'stm32l1' family.
config HAS_CPU_STM32L4
bool
help
Indicates that the cpu being used belongs to the 'stm32l4' family.
config HAS_CPU_STM32WB
bool
help
Indicates that the cpu being used belongs to the 'stm32wb' family.
config HAS_BOOTLOADER_STM32
bool
help
Indicates that the stm32 bootloader is being used.
# Common CPU symbols
config CPU_FAM
default "f0" if CPU_FAM_F0
@ -539,7 +87,6 @@ config CPU_MODEL
default "stm32g071rb" if CPU_MODEL_STM32G071RB
# STM32G4
default "stm32g431rb" if CPU_MODEL_STM32G431RB
default "stm32g474re" if CPU_MODEL_STM32G474RE
# STM32L0
@ -574,4 +121,7 @@ config CPU_MODEL
config CPU
default "stm32" if CPU_STM32
source "$(RIOTCPU)/stm32/Kconfig.fam"
source "$(RIOTCPU)/stm32/Kconfig.features"
source "$(RIOTCPU)/stm32/Kconfig.models"
source "$(RIOTCPU)/cortexm_common/Kconfig"

109
cpu/stm32/Kconfig.fam Normal file
View File

@ -0,0 +1,109 @@
# Copyright (c) 2020 Inria
#
# This file is subject to the terms and conditions of the GNU Lesser
# General Public License v2.1. See the file LICENSE in the top level
# directory for more details.
#
config CPU_FAM_F0
bool
select CPU_STM32
select CPU_CORE_CORTEX_M0
select HAS_CPU_STM32F0
select HAS_PERIPH_FLASHPAGE
select HAS_PERIPH_FLASHPAGE_RAW
config CPU_FAM_F1
bool
select CPU_STM32
select CPU_CORE_CORTEX_M3
select HAS_CPU_STM32F1
select HAS_PERIPH_FLASHPAGE
select HAS_PERIPH_FLASHPAGE_RAW
config CPU_FAM_F2
bool
select CPU_STM32
select CPU_CORE_CORTEX_M3
select HAS_CPU_STM32F2
select HAS_CORTEXM_MPU
select HAS_PERIPH_HWRNG
config CPU_FAM_F3
bool
select CPU_STM32
select CPU_CORE_CORTEX_M4F
select HAS_CPU_STM32F3
select HAS_PERIPH_FLASHPAGE
select HAS_PERIPH_FLASHPAGE_RAW
config CPU_FAM_F4
bool
select CPU_STM32
select CPU_CORE_CORTEX_M4F
select HAS_CPU_STM32F4
select HAS_CORTEXM_MPU
config CPU_FAM_F7
bool
select CPU_STM32
select CPU_CORE_CORTEX_M7
select HAS_CPU_STM32F7
select HAS_CORTEXM_MPU
select HAS_PERIPH_HWRNG
config CPU_FAM_G0
bool
select CPU_STM32
select CPU_CORE_CORTEX_M0PLUS
select HAS_CPU_STM32G0
select HAS_PERIPH_FLASHPAGE
select HAS_PERIPH_FLASHPAGE_RAW
config CPU_FAM_G4
bool
select CPU_STM32
select CPU_CORE_CORTEX_M4
select HAS_CPU_STM32G4
select HAS_CORTEXM_MPU
select HAS_PERIPH_FLASHPAGE
select HAS_PERIPH_FLASHPAGE_RAW
select HAS_PERIPH_HWRNG
config CPU_FAM_L0
bool
select CPU_STM32
select CPU_CORE_CORTEX_M0PLUS
select HAS_CPU_STM32L0
select HAS_PERIPH_FLASHPAGE
select HAS_PERIPH_FLASHPAGE_RAW
select HAS_PERIPH_EEPROM
config CPU_FAM_L1
bool
select CPU_STM32
select CPU_CORE_CORTEX_M3
select HAS_CPU_STM32L1
select HAS_CORTEXM_MPU
select HAS_PERIPH_FLASHPAGE
select HAS_PERIPH_FLASHPAGE_RAW
select HAS_PERIPH_EEPROM
config CPU_FAM_L4
bool
select CPU_STM32
select CPU_CORE_CORTEX_M4F
select HAS_CPU_STM32L4
select HAS_CORTEXM_MPU
select HAS_PERIPH_FLASHPAGE
select HAS_PERIPH_FLASHPAGE_RAW
select HAS_PERIPH_HWRNG
config CPU_FAM_WB
bool
select CPU_STM32
select CPU_CORE_CORTEX_M4
select HAS_CPU_STM32WB
select HAS_PERIPH_FLASHPAGE
select HAS_PERIPH_FLASHPAGE_RAW
select HAS_PERIPH_HWRNG

View File

@ -0,0 +1,77 @@
# Copyright (c) 2020 Inria
#
# This file is subject to the terms and conditions of the GNU Lesser
# General Public License v2.1. See the file LICENSE in the top level
# directory for more details.
#
# Definition of specific features
config HAS_CPU_STM32
bool
help
Indicates that a 'stm32' cpu is being used.
config HAS_CPU_STM32F0
bool
help
Indicates that the cpu being used belongs to the 'stm32f0' family.
config HAS_CPU_STM32F1
bool
help
Indicates that the cpu being used belongs to the 'stm32f1' family.
config HAS_CPU_STM32F2
bool
help
Indicates that the cpu being used belongs to the 'stm32f2' family.
config HAS_CPU_STM32F3
bool
help
Indicates that the cpu being used belongs to the 'stm32f3' family.
config HAS_CPU_STM32F4
bool
help
Indicates that the cpu being used belongs to the 'stm32f4' family.
config HAS_CPU_STM32F7
bool
help
Indicates that the cpu being used belongs to the 'stm32f7' family.
config HAS_CPU_STM32G0
bool
help
Indicates that the cpu being used belongs to the 'stm32g0' family.
config HAS_CPU_STM32G4
bool
help
Indicates that the cpu being used belongs to the 'stm32g4' family.
config HAS_CPU_STM32L0
bool
help
Indicates that the cpu being used belongs to the 'stm32l0' family.
config HAS_CPU_STM32L1
bool
help
Indicates that the cpu being used belongs to the 'stm32l1' family.
config HAS_CPU_STM32L4
bool
help
Indicates that the cpu being used belongs to the 'stm32l4' family.
config HAS_CPU_STM32WB
bool
help
Indicates that the cpu being used belongs to the 'stm32wb' family.
config HAS_BOOTLOADER_STM32
bool
help
Indicates that the stm32 bootloader is being used.

274
cpu/stm32/Kconfig.models Normal file
View File

@ -0,0 +1,274 @@
# Copyright (c) 2020 Inria
#
# This file is subject to the terms and conditions of the GNU Lesser
# General Public License v2.1. See the file LICENSE in the top level
# directory for more details.
#
# STM32F0
config CPU_MODEL_STM32F030F4
bool
select CPU_FAM_F0
config CPU_MODEL_STM32F030R8
bool
select CPU_FAM_F0
config CPU_MODEL_STM32F031K6
bool
select CPU_FAM_F0
config CPU_MODEL_STM32F042K6
bool
select CPU_FAM_F0
config CPU_MODEL_STM32F051R8
bool
select CPU_FAM_F0
config CPU_MODEL_STM32F070RB
bool
select CPU_FAM_F0
config CPU_MODEL_STM32F072RB
bool
select CPU_FAM_F0
config CPU_MODEL_STM32F091RC
bool
select CPU_FAM_F0
# STM32F1
config CPU_MODEL_STM32F103C8
bool
select CPU_FAM_F1
config CPU_MODEL_STM32F103CB
bool
select CPU_FAM_F1
config CPU_MODEL_STM32F103RB
bool
select CPU_FAM_F1
config CPU_MODEL_STM32F103RE
bool
select CPU_FAM_F1
# STM32F2
config CPU_MODEL_STM32F207ZG
bool
select CPU_FAM_F2
# STM32F3
config CPU_MODEL_STM32F302R8
bool
select CPU_FAM_F3
config CPU_MODEL_STM32F303K8
bool
select CPU_FAM_F3
config CPU_MODEL_STM32F303RE
bool
select CPU_FAM_F3
select HAS_CORTEXM_MPU
config CPU_MODEL_STM32F303VC
bool
select CPU_FAM_F3
select HAS_CORTEXM_MPU
config CPU_MODEL_STM32F303ZE
bool
select CPU_FAM_F3
select HAS_CORTEXM_MPU
config CPU_MODEL_STM32F334R8
bool
select CPU_FAM_F3
# STM32F4
config CPU_MODEL_STM32F401RE
bool
select CPU_FAM_F4
config CPU_MODEL_STM32F405RG
bool
select CPU_FAM_F4
select HAS_PERIPH_HWRNG
config CPU_MODEL_STM32F407VG
bool
select CPU_FAM_F4
select HAS_PERIPH_HWRNG
config CPU_MODEL_STM32F410RB
bool
select CPU_FAM_F4
select HAS_PERIPH_HWRNG
config CPU_MODEL_STM32F411RE
bool
select CPU_FAM_F4
config CPU_MODEL_STM32F411CEU6
bool
select CPU_FAM_F4
config CPU_MODEL_STM32F412ZG
bool
select CPU_FAM_F4
select HAS_PERIPH_HWRNG
config CPU_MODEL_STM32F413ZH
bool
select CPU_FAM_F4
select HAS_PERIPH_HWRNG
config CPU_MODEL_STM32F415RG
bool
select CPU_FAM_F4
select HAS_PERIPH_HWRNG
config CPU_MODEL_STM32F429ZI
bool
select CPU_FAM_F4
select HAS_PERIPH_HWRNG
config CPU_MODEL_STM32F437VG
bool
select CPU_FAM_F4
select HAS_PERIPH_HWRNG
config CPU_MODEL_STM32F446RE
bool
select CPU_FAM_F4
config CPU_MODEL_STM32F446ZE
bool
select CPU_FAM_F4
# STM32F7
config CPU_MODEL_STM32F722ZE
bool
select CPU_FAM_F7
config CPU_MODEL_STM32F723IE
bool
select CPU_FAM_F7
config CPU_MODEL_STM32F746ZG
bool
select CPU_FAM_F7
config CPU_MODEL_STM32F767ZI
bool
select CPU_FAM_F7
config CPU_MODEL_STM32F769NI
bool
select CPU_FAM_F7
# STM32G0
config CPU_MODEL_STM32G070RB
bool
select CPU_FAM_G0
# STM32G4
config CPU_MODEL_STM32G474RE
bool
select CPU_FAM_G4
# STM32L0
config CPU_MODEL_STM32L031K6
bool
select CPU_FAM_L0
config CPU_MODEL_STM32L052T8
bool
select CPU_FAM_L0
select HAS_PERIPH_HWRNG
config CPU_MODEL_STM32L053R8
bool
select CPU_FAM_L0
select HAS_PERIPH_HWRNG
config CPU_MODEL_STM32L053C8
bool
select CPU_FAM_L0
select HAS_PERIPH_HWRNG
config CPU_MODEL_STM32L072CZ
bool
select CPU_FAM_L0
select HAS_PERIPH_HWRNG
config CPU_MODEL_STM32L073RZ
bool
select CPU_FAM_L0
select HAS_PERIPH_HWRNG
# STM32L1
config CPU_MODEL_STM32L151CB
bool
select CPU_FAM_L1
config CPU_MODEL_STM32L151CB_A
bool
select CPU_FAM_L1
config CPU_MODEL_STM32L151RC
bool
select CPU_FAM_L1
config CPU_MODEL_STM32L152RE
bool
select CPU_FAM_L1
# STM32L4
config CPU_MODEL_STM32L412KB
bool
select CPU_FAM_L4
config CPU_MODEL_STM32L432KC
bool
select CPU_FAM_L4
config CPU_MODEL_STM32L433RC
bool
select CPU_FAM_L4
config CPU_MODEL_STM32L452RE
bool
select CPU_FAM_L4
config CPU_MODEL_STM32L475VG
bool
select CPU_FAM_L4
config CPU_MODEL_STM32L476RG
bool
select CPU_FAM_L4
config CPU_MODEL_STM32L476VG
bool
select CPU_FAM_L4
config CPU_MODEL_STM32L496AG
bool
select CPU_FAM_L4
config CPU_MODEL_STM32L496ZG
bool
select CPU_FAM_L4
config CPU_MODEL_STM32L4R5ZI
bool
select CPU_FAM_L4
# STM32WB
config CPU_MODEL_STM32WB55RG
bool
select CPU_FAM_WB