soc: xmc_4xxx: Port to HWMv2

Ports the xmc_4xxx SoC configuration to hardware model version 2

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
This commit is contained in:
Jamie McCrae
2024-02-07 08:47:39 +00:00
committed by Carles Cufi
parent c9731f1bce
commit 04dbf17e19
19 changed files with 84 additions and 88 deletions

View File

@@ -6,7 +6,7 @@
config HAS_XMCLIB
bool
select HAS_CMSIS_CORE
depends on SOC_FAMILY_XMC
depends on SOC_FAMILY_INFINEON_XMC
if HAS_XMCLIB

14
soc/infineon/xmc/Kconfig Normal file
View File

@@ -0,0 +1,14 @@
# SPDX-License-Identifier: Apache-2.0
#
# Copyright (c) 2020 Linumiz
# Author: Parthiban Nallathambi <parthiban@linumiz.com>
config SOC_FAMILY_INFINEON_XMC
select HAS_SEGGER_RTT if ZEPHYR_SEGGER_MODULE
select PLATFORM_SPECIFIC_INIT
if SOC_FAMILY_INFINEON_XMC
rsource "*/Kconfig"
endif # SOC_FAMILY_INFINEON_XMC

View File

@@ -3,11 +3,11 @@
# Copyright (c) 2020 Linumiz
# Author: Parthiban Nallathambi <parthiban@linumiz.com>
source "soc/soc_legacy/arm/infineon_xmc/*/Kconfig.defconfig.series"
rsource "*/Kconfig.defconfig"
if SOC_FAMILY_XMC
if SOC_FAMILY_INFINEON_XMC
config PINCTRL
default y
endif # SOC_FAMILY_XMC
endif # SOC_FAMILY_INFINEON_XMC

View File

@@ -0,0 +1,12 @@
# SPDX-License-Identifier: Apache-2.0
#
# Copyright (c) 2020 Linumiz
# Author: Parthiban Nallathambi <parthiban@linumiz.com>
config SOC_FAMILY_INFINEON_XMC
bool
config SOC_FAMILY
default "infineon_xmc" if SOC_FAMILY_INFINEON_XMC
rsource "*/Kconfig.soc"

7
soc/infineon/xmc/soc.yml Normal file
View File

@@ -0,0 +1,7 @@
family:
- name: infineon_xmc
series:
- name: xmc4xxx
socs:
- name: xmc4500
- name: xmc4700

View File

@@ -4,6 +4,7 @@
# Author: Parthiban Nallathambi <parthiban@linumiz.com>
zephyr_sources(soc.c)
zephyr_include_directories(.)
zephyr_linker_sources(NOINIT noinit.ld)
set(SOC_LINKER_SCRIPT ${ZEPHYR_BASE}/include/zephyr/arch/arm/cortex_m/scripts/linker.ld CACHE INTERNAL "")

View File

@@ -1,17 +1,16 @@
# XMC4xxx MCU series
# XMC 4xxx MCU line
#
# Copyright (c) 2020 Linumiz
# Author: Parthiban Nallathambi <parthiban@linumiz.com>
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_XMC_4XXX
bool "XMC 4xxx Series MCU"
config SOC_SERIES_XMC4XXX
select ARM
select CPU_CORTEX_M4
select CPU_CORTEX_M_HAS_DWT
select SOC_FAMILY_XMC
select CPU_HAS_ARM_MPU
select CPU_HAS_FPU
select HAS_XMCLIB
select HAS_XMCLIB_UART
select HAS_XMCLIB_FLASH
select HAS_XMCLIB_ERU
@@ -23,5 +22,3 @@ config SOC_SERIES_XMC_4XXX
select HAS_XMCLIB_WDT
select HAS_XMCLIB_ETH
select HAS_XMCLIB_CAN
help
Enable support for XMC 4xxx MCU series

View File

@@ -4,14 +4,11 @@
# Copyright (c) 2020 Linumiz
# Author: Parthiban Nallathambi <parthiban@linumiz.com>
if SOC_SERIES_XMC_4XXX
config SOC_SERIES
default "4xxx"
if SOC_SERIES_XMC4XXX
config NUM_IRQS
default 112
source "soc/soc_legacy/arm/infineon_xmc/4xxx/Kconfig.defconfig.xmc*"
rsource "Kconfig.defconfig.xmc*"
endif # SOC_SERIES_XMC_4XXX
endif # SOC_SERIES_XMC4XXX

View File

@@ -6,9 +6,6 @@
if SOC_XMC4500
config SOC
default "XMC4500"
config SYS_CLOCK_HW_CYCLES_PER_SEC
default 120000000

View File

@@ -5,9 +5,6 @@
if SOC_XMC4700
config SOC
default "XMC4700"
config SYS_CLOCK_HW_CYCLES_PER_SEC
default 144000000

View File

@@ -0,0 +1,40 @@
# XMC 4xxx MCU line
#
# Copyright (c) 2020 Linumiz
# Author: Parthiban Nallathambi <parthiban@linumiz.com>
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_XMC4XXX
bool
select SOC_FAMILY_INFINEON_XMC
help
XMC 4xxx Series MCU
config SOC_XMC4500
bool
select SOC_SERIES_XMC4XXX
help
SOC_XMC4500
config SOC_XMC4700
bool
select SOC_SERIES_XMC4XXX
help
SOC_XMC4700
config SOC_PART_NUMBER_F100X1024
bool
config SOC_PART_NUMBER_F144X2048
bool
config SOC_SERIES
default "xmc4xxx" if SOC_SERIES_XMC4XXX
config SOC
default "xmc4500" if SOC_XMC4500
default "xmc4700" if SOC_XMC4700
config SOC_PART_NUMBER
default "F100x1024" if SOC_PART_NUMBER_F100X1024
default "F144x2048" if SOC_PART_NUMBER_F144X2048

View File

@@ -1,38 +0,0 @@
# XMC 4xxx MCU line
#
# Copyright (c) 2020 Linumiz
# Author: Parthiban Nallathambi <parthiban@linumiz.com>
# SPDX-License-Identifier: Apache-2.0
choice
prompt "XMC 4xxx MCU Selection"
depends on SOC_SERIES_XMC_4XXX
config SOC_XMC4500
bool "SOC_XMC4500"
select HAS_XMCLIB
config SOC_XMC4700
bool "SOC_XMC4700"
select HAS_XMCLIB
endchoice
if SOC_SERIES_XMC_4XXX
config SOC_PART_NUMBER_F100X1024
bool
config SOC_PART_NUMBER_F144X2048
bool
config SOC_PART_NUMBER_XMC_4XXX
string
default "F100x1024" if SOC_PART_NUMBER_F100X1024
default "F144x2048" if SOC_PART_NUMBER_F144X2048
help
This string holds the full part number of the SoC. It is a hidden option
that you should not set directly. The part number selection choice defines
the default value for this string.
endif # SOC_SERIES_XMC_4XXX

View File

@@ -1,22 +0,0 @@
# SPDX-License-Identifier: Apache-2.0
#
# Copyright (c) 2020 Linumiz
# Author: Parthiban Nallathambi <parthiban@linumiz.com>
config SOC_FAMILY_XMC
bool
select HAS_SEGGER_RTT if ZEPHYR_SEGGER_MODULE
select PLATFORM_SPECIFIC_INIT
if SOC_FAMILY_XMC
config SOC_FAMILY
string
default "infineon_xmc"
source "soc/soc_legacy/arm/infineon_xmc/*/Kconfig.soc"
config SOC_PART_NUMBER
default SOC_PART_NUMBER_XMC_4XXX if SOC_SERIES_XMC_4XXX
endif # SOC_FAMILY_XMC

View File

@@ -1,6 +0,0 @@
# SPDX-License-Identifier: Apache-2.0
#
# Copyright (c) 2020 Linumiz
# Author: Parthiban Nallathambi <parthiban@linumiz.com>
source "soc/soc_legacy/arm/infineon_xmc/*/Kconfig.series"