diff --git a/modules/Kconfig.infineon b/modules/Kconfig.infineon index 7ca374f4f32..fc39318c8b2 100644 --- a/modules/Kconfig.infineon +++ b/modules/Kconfig.infineon @@ -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 diff --git a/soc/soc_legacy/arm/infineon_xmc/CMakeLists.txt b/soc/infineon/xmc/CMakeLists.txt similarity index 100% rename from soc/soc_legacy/arm/infineon_xmc/CMakeLists.txt rename to soc/infineon/xmc/CMakeLists.txt diff --git a/soc/infineon/xmc/Kconfig b/soc/infineon/xmc/Kconfig new file mode 100644 index 00000000000..8720e3a27b2 --- /dev/null +++ b/soc/infineon/xmc/Kconfig @@ -0,0 +1,14 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Copyright (c) 2020 Linumiz +# Author: Parthiban Nallathambi + +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 diff --git a/soc/soc_legacy/arm/infineon_xmc/Kconfig.defconfig b/soc/infineon/xmc/Kconfig.defconfig similarity index 58% rename from soc/soc_legacy/arm/infineon_xmc/Kconfig.defconfig rename to soc/infineon/xmc/Kconfig.defconfig index 6293cd240ad..7a8c4a3d8b2 100644 --- a/soc/soc_legacy/arm/infineon_xmc/Kconfig.defconfig +++ b/soc/infineon/xmc/Kconfig.defconfig @@ -3,11 +3,11 @@ # Copyright (c) 2020 Linumiz # Author: Parthiban Nallathambi -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 diff --git a/soc/infineon/xmc/Kconfig.soc b/soc/infineon/xmc/Kconfig.soc new file mode 100644 index 00000000000..f0abf738dca --- /dev/null +++ b/soc/infineon/xmc/Kconfig.soc @@ -0,0 +1,12 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Copyright (c) 2020 Linumiz +# Author: Parthiban Nallathambi + +config SOC_FAMILY_INFINEON_XMC + bool + +config SOC_FAMILY + default "infineon_xmc" if SOC_FAMILY_INFINEON_XMC + +rsource "*/Kconfig.soc" diff --git a/soc/infineon/xmc/soc.yml b/soc/infineon/xmc/soc.yml new file mode 100644 index 00000000000..758e3c730d2 --- /dev/null +++ b/soc/infineon/xmc/soc.yml @@ -0,0 +1,7 @@ +family: +- name: infineon_xmc + series: + - name: xmc4xxx + socs: + - name: xmc4500 + - name: xmc4700 diff --git a/soc/soc_legacy/arm/infineon_xmc/4xxx/CMakeLists.txt b/soc/infineon/xmc/xmc4xxx/CMakeLists.txt similarity index 90% rename from soc/soc_legacy/arm/infineon_xmc/4xxx/CMakeLists.txt rename to soc/infineon/xmc/xmc4xxx/CMakeLists.txt index 8216f9a09ee..811731b51bc 100644 --- a/soc/soc_legacy/arm/infineon_xmc/4xxx/CMakeLists.txt +++ b/soc/infineon/xmc/xmc4xxx/CMakeLists.txt @@ -4,6 +4,7 @@ # Author: Parthiban Nallathambi 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 "") diff --git a/soc/soc_legacy/arm/infineon_xmc/4xxx/Kconfig.series b/soc/infineon/xmc/xmc4xxx/Kconfig similarity index 76% rename from soc/soc_legacy/arm/infineon_xmc/4xxx/Kconfig.series rename to soc/infineon/xmc/xmc4xxx/Kconfig index 7c7f9a85496..21f4c7b5cb3 100644 --- a/soc/soc_legacy/arm/infineon_xmc/4xxx/Kconfig.series +++ b/soc/infineon/xmc/xmc4xxx/Kconfig @@ -1,17 +1,16 @@ -# XMC4xxx MCU series +# XMC 4xxx MCU line # # Copyright (c) 2020 Linumiz # Author: Parthiban Nallathambi # 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 diff --git a/soc/soc_legacy/arm/infineon_xmc/4xxx/Kconfig.defconfig.series b/soc/infineon/xmc/xmc4xxx/Kconfig.defconfig similarity index 56% rename from soc/soc_legacy/arm/infineon_xmc/4xxx/Kconfig.defconfig.series rename to soc/infineon/xmc/xmc4xxx/Kconfig.defconfig index b3a2f07ac29..eec3dc0daf8 100644 --- a/soc/soc_legacy/arm/infineon_xmc/4xxx/Kconfig.defconfig.series +++ b/soc/infineon/xmc/xmc4xxx/Kconfig.defconfig @@ -4,14 +4,11 @@ # Copyright (c) 2020 Linumiz # Author: Parthiban Nallathambi -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 diff --git a/soc/soc_legacy/arm/infineon_xmc/4xxx/Kconfig.defconfig.xmc4500 b/soc/infineon/xmc/xmc4xxx/Kconfig.defconfig.xmc4500 similarity index 90% rename from soc/soc_legacy/arm/infineon_xmc/4xxx/Kconfig.defconfig.xmc4500 rename to soc/infineon/xmc/xmc4xxx/Kconfig.defconfig.xmc4500 index 7bb9ffc2b1f..17e2caf1dbb 100644 --- a/soc/soc_legacy/arm/infineon_xmc/4xxx/Kconfig.defconfig.xmc4500 +++ b/soc/infineon/xmc/xmc4xxx/Kconfig.defconfig.xmc4500 @@ -6,9 +6,6 @@ if SOC_XMC4500 -config SOC - default "XMC4500" - config SYS_CLOCK_HW_CYCLES_PER_SEC default 120000000 diff --git a/soc/soc_legacy/arm/infineon_xmc/4xxx/Kconfig.defconfig.xmc4700 b/soc/infineon/xmc/xmc4xxx/Kconfig.defconfig.xmc4700 similarity index 89% rename from soc/soc_legacy/arm/infineon_xmc/4xxx/Kconfig.defconfig.xmc4700 rename to soc/infineon/xmc/xmc4xxx/Kconfig.defconfig.xmc4700 index febf1b38ab1..a17429330a1 100644 --- a/soc/soc_legacy/arm/infineon_xmc/4xxx/Kconfig.defconfig.xmc4700 +++ b/soc/infineon/xmc/xmc4xxx/Kconfig.defconfig.xmc4700 @@ -5,9 +5,6 @@ if SOC_XMC4700 -config SOC - default "XMC4700" - config SYS_CLOCK_HW_CYCLES_PER_SEC default 144000000 diff --git a/soc/infineon/xmc/xmc4xxx/Kconfig.soc b/soc/infineon/xmc/xmc4xxx/Kconfig.soc new file mode 100644 index 00000000000..726e433b10b --- /dev/null +++ b/soc/infineon/xmc/xmc4xxx/Kconfig.soc @@ -0,0 +1,40 @@ +# XMC 4xxx MCU line +# +# Copyright (c) 2020 Linumiz +# Author: Parthiban Nallathambi +# 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 diff --git a/soc/soc_legacy/arm/infineon_xmc/4xxx/noinit.ld b/soc/infineon/xmc/xmc4xxx/noinit.ld similarity index 100% rename from soc/soc_legacy/arm/infineon_xmc/4xxx/noinit.ld rename to soc/infineon/xmc/xmc4xxx/noinit.ld diff --git a/soc/soc_legacy/arm/infineon_xmc/4xxx/pinctrl_soc.h b/soc/infineon/xmc/xmc4xxx/pinctrl_soc.h similarity index 100% rename from soc/soc_legacy/arm/infineon_xmc/4xxx/pinctrl_soc.h rename to soc/infineon/xmc/xmc4xxx/pinctrl_soc.h diff --git a/soc/soc_legacy/arm/infineon_xmc/4xxx/soc.c b/soc/infineon/xmc/xmc4xxx/soc.c similarity index 100% rename from soc/soc_legacy/arm/infineon_xmc/4xxx/soc.c rename to soc/infineon/xmc/xmc4xxx/soc.c diff --git a/soc/soc_legacy/arm/infineon_xmc/4xxx/soc.h b/soc/infineon/xmc/xmc4xxx/soc.h similarity index 100% rename from soc/soc_legacy/arm/infineon_xmc/4xxx/soc.h rename to soc/infineon/xmc/xmc4xxx/soc.h diff --git a/soc/soc_legacy/arm/infineon_xmc/4xxx/Kconfig.soc b/soc/soc_legacy/arm/infineon_xmc/4xxx/Kconfig.soc deleted file mode 100644 index 83fd92a23d3..00000000000 --- a/soc/soc_legacy/arm/infineon_xmc/4xxx/Kconfig.soc +++ /dev/null @@ -1,38 +0,0 @@ -# XMC 4xxx MCU line -# -# Copyright (c) 2020 Linumiz -# Author: Parthiban Nallathambi -# 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 diff --git a/soc/soc_legacy/arm/infineon_xmc/Kconfig b/soc/soc_legacy/arm/infineon_xmc/Kconfig deleted file mode 100644 index 1286f3b4b64..00000000000 --- a/soc/soc_legacy/arm/infineon_xmc/Kconfig +++ /dev/null @@ -1,22 +0,0 @@ -# SPDX-License-Identifier: Apache-2.0 -# -# Copyright (c) 2020 Linumiz -# Author: Parthiban Nallathambi - -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 diff --git a/soc/soc_legacy/arm/infineon_xmc/Kconfig.soc b/soc/soc_legacy/arm/infineon_xmc/Kconfig.soc deleted file mode 100644 index 0473eabfbba..00000000000 --- a/soc/soc_legacy/arm/infineon_xmc/Kconfig.soc +++ /dev/null @@ -1,6 +0,0 @@ -# SPDX-License-Identifier: Apache-2.0 -# -# Copyright (c) 2020 Linumiz -# Author: Parthiban Nallathambi - -source "soc/soc_legacy/arm/infineon_xmc/*/Kconfig.series"