Browse Source

soc: nxp: kinetis: convert kinetis SOC family to hardware model V2

Convert kinetis SOC family to hardware model V2. Rework SOC Kconfig and
defconfig definitions to align with hardware model V2 guidelines.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
Co-authored-by: Emilio Benavente <emilio.benavente@nxp.com>
Co-authored-by: David Leach <david.leach@nxp.com>
Co-authored-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
Co-authored-by: Declan Snyder <declan.snyder@nxp.com>
Co-authored-by: Yves Vandervennet <yves.vandervennet@nxp.com>
pull/69687/head
Daniel DeGrasse 1 year ago committed by Carles Cufi
parent
commit
666a353409
  1. 0
      soc/nxp/kinetis/CMakeLists.txt
  2. 20
      soc/nxp/kinetis/Kconfig
  3. 7
      soc/nxp/kinetis/Kconfig.defconfig
  4. 10
      soc/nxp/kinetis/Kconfig.soc
  5. 0
      soc/nxp/kinetis/common/pinctrl_soc.h
  6. 0
      soc/nxp/kinetis/flash_config.ld
  7. 0
      soc/nxp/kinetis/flash_configuration.c
  8. 4
      soc/nxp/kinetis/k2x/CMakeLists.txt
  9. 36
      soc/nxp/kinetis/k2x/Kconfig
  10. 15
      soc/nxp/kinetis/k2x/Kconfig.defconfig
  11. 40
      soc/nxp/kinetis/k2x/Kconfig.soc
  12. 0
      soc/nxp/kinetis/k2x/nxp_mpu_regions.c
  13. 0
      soc/nxp/kinetis/k2x/soc.c
  14. 0
      soc/nxp/kinetis/k2x/soc.h
  15. 2
      soc/nxp/kinetis/k6x/CMakeLists.txt
  16. 59
      soc/nxp/kinetis/k6x/Kconfig
  17. 16
      soc/nxp/kinetis/k6x/Kconfig.defconfig
  18. 72
      soc/nxp/kinetis/k6x/Kconfig.soc
  19. 0
      soc/nxp/kinetis/k6x/README.txt
  20. 0
      soc/nxp/kinetis/k6x/nxp_mpu_regions.c
  21. 0
      soc/nxp/kinetis/k6x/soc.c
  22. 0
      soc/nxp/kinetis/k6x/soc.h
  23. 2
      soc/nxp/kinetis/k8x/CMakeLists.txt
  24. 59
      soc/nxp/kinetis/k8x/Kconfig
  25. 6
      soc/nxp/kinetis/k8x/Kconfig.defconfig
  26. 42
      soc/nxp/kinetis/k8x/Kconfig.soc
  27. 0
      soc/nxp/kinetis/k8x/nxp_mpu_regions.c
  28. 0
      soc/nxp/kinetis/k8x/soc.c
  29. 0
      soc/nxp/kinetis/k8x/soc.h
  30. 2
      soc/nxp/kinetis/ke1xf/CMakeLists.txt
  31. 68
      soc/nxp/kinetis/ke1xf/Kconfig
  32. 6
      soc/nxp/kinetis/ke1xf/Kconfig.defconfig
  33. 60
      soc/nxp/kinetis/ke1xf/Kconfig.soc
  34. 0
      soc/nxp/kinetis/ke1xf/nxp_mpu_regions.c
  35. 0
      soc/nxp/kinetis/ke1xf/power.c
  36. 0
      soc/nxp/kinetis/ke1xf/soc.c
  37. 0
      soc/nxp/kinetis/ke1xf/soc.h
  38. 2
      soc/nxp/kinetis/kl2x/CMakeLists.txt
  39. 17
      soc/nxp/kinetis/kl2x/Kconfig
  40. 8
      soc/nxp/kinetis/kl2x/Kconfig.defconfig
  41. 37
      soc/nxp/kinetis/kl2x/Kconfig.soc
  42. 0
      soc/nxp/kinetis/kl2x/soc.c
  43. 0
      soc/nxp/kinetis/kl2x/soc.h
  44. 2
      soc/nxp/kinetis/kv5x/CMakeLists.txt
  45. 5
      soc/nxp/kinetis/kv5x/Kconfig
  46. 6
      soc/nxp/kinetis/kv5x/Kconfig.defconfig
  47. 32
      soc/nxp/kinetis/kv5x/Kconfig.soc
  48. 0
      soc/nxp/kinetis/kv5x/soc.c
  49. 0
      soc/nxp/kinetis/kv5x/soc.h
  50. 0
      soc/nxp/kinetis/kv5x/wdog.S
  51. 2
      soc/nxp/kinetis/kwx/CMakeLists.txt
  52. 48
      soc/nxp/kinetis/kwx/Kconfig
  53. 34
      soc/nxp/kinetis/kwx/Kconfig.defconfig
  54. 55
      soc/nxp/kinetis/kwx/Kconfig.soc
  55. 0
      soc/nxp/kinetis/kwx/soc.h
  56. 0
      soc/nxp/kinetis/kwx/soc_kw2xd.c
  57. 0
      soc/nxp/kinetis/kwx/soc_kw4xz.c
  58. 31
      soc/nxp/kinetis/soc.yml
  59. 4
      soc/soc_legacy/arm/nxp_kinetis/Kconfig.soc
  60. 17
      soc/soc_legacy/arm/nxp_kinetis/k2x/Kconfig.defconfig.mk22f12
  61. 17
      soc/soc_legacy/arm/nxp_kinetis/k2x/Kconfig.defconfig.mk22fx12
  62. 19
      soc/soc_legacy/arm/nxp_kinetis/k2x/Kconfig.series
  63. 21
      soc/soc_legacy/arm/nxp_kinetis/k6x/Kconfig.defconfig.mk64f12
  64. 18
      soc/soc_legacy/arm/nxp_kinetis/k6x/Kconfig.defconfig.mk66f18
  65. 17
      soc/soc_legacy/arm/nxp_kinetis/k6x/Kconfig.series
  66. 8
      soc/soc_legacy/arm/nxp_kinetis/k8x/Kconfig.defconfig.mk80f25615
  67. 8
      soc/soc_legacy/arm/nxp_kinetis/k8x/Kconfig.defconfig.mk82f25615
  68. 32
      soc/soc_legacy/arm/nxp_kinetis/k8x/Kconfig.series
  69. 8
      soc/soc_legacy/arm/nxp_kinetis/ke1xf/Kconfig.defconfig.mke14f16
  70. 11
      soc/soc_legacy/arm/nxp_kinetis/ke1xf/Kconfig.defconfig.mke16f16
  71. 11
      soc/soc_legacy/arm/nxp_kinetis/ke1xf/Kconfig.defconfig.mke18f16
  72. 37
      soc/soc_legacy/arm/nxp_kinetis/ke1xf/Kconfig.series
  73. 14
      soc/soc_legacy/arm/nxp_kinetis/kl2x/Kconfig.defconfig.mkl25z4
  74. 8
      soc/soc_legacy/arm/nxp_kinetis/kv5x/Kconfig.defconfig.mkv56f24
  75. 8
      soc/soc_legacy/arm/nxp_kinetis/kv5x/Kconfig.defconfig.mkv58f24
  76. 22
      soc/soc_legacy/arm/nxp_kinetis/kwx/Kconfig.defconfig.mkw2xd512
  77. 24
      soc/soc_legacy/arm/nxp_kinetis/kwx/Kconfig.defconfig.mkw40z4
  78. 42
      soc/soc_legacy/arm/nxp_kinetis/kwx/Kconfig.defconfig.mkw41z4
  79. 13
      soc/soc_legacy/arm/nxp_kinetis/kwx/Kconfig.defconfig.series
  80. 15
      soc/soc_legacy/arm/nxp_kinetis/kwx/Kconfig.series

0
soc/soc_legacy/arm/nxp_kinetis/CMakeLists.txt → soc/nxp/kinetis/CMakeLists.txt

20
soc/soc_legacy/arm/nxp_kinetis/Kconfig → soc/nxp/kinetis/Kconfig

@ -1,28 +1,13 @@ @@ -1,28 +1,13 @@
# Copyright (c) 2016 Intel Corporation
# Copyright (c) 2016, Freescale Semiconductor, Inc.
# Copyright 2024 NXP
# SPDX-License-Identifier: Apache-2.0
config SOC_FAMILY_KINETIS
bool
select HAS_SEGGER_RTT if ZEPHYR_SEGGER_MODULE
if SOC_FAMILY_KINETIS
config SOC_FAMILY
string
default "nxp_kinetis"
source "soc/soc_legacy/arm/nxp_kinetis/*/Kconfig.soc"
config SOC_PART_NUMBER
default SOC_PART_NUMBER_KINETIS_K2X if SOC_SERIES_KINETIS_K2X
default SOC_PART_NUMBER_KINETIS_K6X if SOC_SERIES_KINETIS_K6X
default SOC_PART_NUMBER_KINETIS_K8X if SOC_SERIES_KINETIS_K8X
default SOC_PART_NUMBER_KINETIS_KWX if SOC_SERIES_KINETIS_KWX
default SOC_PART_NUMBER_KINETIS_KL2X if SOC_SERIES_KINETIS_KL2X
default SOC_PART_NUMBER_KINETIS_KE1XF if SOC_SERIES_KINETIS_KE1XF
default SOC_PART_NUMBER_KINETIS_KV5X if SOC_SERIES_KINETIS_KV5X
config HAS_OSC
bool
help
@ -165,4 +150,7 @@ config WDOG_INIT @@ -165,4 +150,7 @@ config WDOG_INIT
bool
default WDOG_ENABLE_AT_BOOT
rsource "*/Kconfig"
endif # SOC_FAMILY_KINETIS

7
soc/soc_legacy/arm/nxp_kinetis/Kconfig.defconfig → soc/nxp/kinetis/Kconfig.defconfig

@ -1,5 +1,8 @@ @@ -1,5 +1,8 @@
# Copyright 2024 NXP
# SPDX-License-Identifier: Apache-2.0
if SOC_FAMILY_KINETIS
config SERIAL_INIT_PRIORITY
default 55
depends on SERIAL
@ -8,4 +11,6 @@ config ADC_INIT_PRIORITY @@ -8,4 +11,6 @@ config ADC_INIT_PRIORITY
default 80 if ADC_MCUX_ADC16_ENABLE_EDMA
depends on ADC
source "soc/soc_legacy/arm/nxp_kinetis/*/Kconfig.defconfig.series"
rsource "*/Kconfig.defconfig"
endif # SOC_FAMILY_KINETIS

10
soc/nxp/kinetis/Kconfig.soc

@ -0,0 +1,10 @@ @@ -0,0 +1,10 @@
# Copyright 2024 NXP
# SPDX-License-Identifier: Apache-2.0
config SOC_FAMILY_KINETIS
bool
config SOC_FAMILY
default "nxp_kinetis" if SOC_FAMILY_KINETIS
rsource "*/Kconfig.soc"

0
soc/soc_legacy/arm/nxp_kinetis/common/pinctrl_soc.h → soc/nxp/kinetis/common/pinctrl_soc.h

0
soc/soc_legacy/arm/nxp_kinetis/flash_config.ld → soc/nxp/kinetis/flash_config.ld

0
soc/soc_legacy/arm/nxp_kinetis/flash_configuration.c → soc/nxp/kinetis/flash_configuration.c

4
soc/soc_legacy/arm/nxp_kinetis/k2x/CMakeLists.txt → soc/nxp/kinetis/k2x/CMakeLists.txt

@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
#
# Copyright (c) 2018 Prevas A/S
# Copyright 2024 NXP
#
# SPDX-License-Identifier: Apache-2.0
#
@ -14,4 +14,6 @@ if(DEFINED CONFIG_ARM_MPU AND DEFINED CONFIG_CPU_HAS_NXP_MPU) @@ -14,4 +14,6 @@ if(DEFINED CONFIG_ARM_MPU AND DEFINED CONFIG_CPU_HAS_NXP_MPU)
zephyr_sources(nxp_mpu_regions.c)
endif()
zephyr_include_directories(.)
set(SOC_LINKER_SCRIPT ${ZEPHYR_BASE}/include/zephyr/arch/arm/cortex_m/scripts/linker.ld CACHE INTERNAL "")

36
soc/soc_legacy/arm/nxp_kinetis/k2x/Kconfig.soc → soc/nxp/kinetis/k2x/Kconfig

@ -2,17 +2,20 @@ @@ -2,17 +2,20 @@
# Copyright (c) 2018 Prevas A/S
# Copyright (c) 2019 Thomas Burdick <thomas.burdick@gmail.com>
# Copyright 2024 NXP
#
# SPDX-License-Identifier: Apache-2.0
#
choice
prompt "Kinetis K2x MCU Selection"
depends on SOC_SERIES_KINETIS_K2X
config SOC_SERIES_KINETIS_K2X
select ARM
select CPU_CORTEX_M4
select CPU_CORTEX_M_HAS_DWT
select CLOCK_CONTROL
select PLATFORM_SPECIFIC_INIT
config SOC_MK22F51212
bool "SOC_MK22F51212"
select HAS_MCUX
select HAS_MCUX_SMC
select HAS_MCUX_ADC16
@ -29,7 +32,6 @@ config SOC_MK22F51212 @@ -29,7 +32,6 @@ config SOC_MK22F51212
# Note- the MK22F12 SKU is a legacy SOC, no longer officially supported by
# NXP's MCUX SDK, and not recommended for new designs.
config SOC_MK22F12
bool "SOC_MK22F12"
select HAS_MCUX
select HAS_MCUX_SMC
select HAS_MCUX_ADC16
@ -43,27 +45,3 @@ config SOC_MK22F12 @@ -43,27 +45,3 @@ config SOC_MK22F12
select HAS_MCUX_DAC
select HAS_MCUX_RCM
select CPU_HAS_NXP_MPU
endchoice
if SOC_SERIES_KINETIS_K2X
config SOC_PART_NUMBER_MK22FN512VLH12
bool
config SOC_PART_NUMBER_MK22FX512AVLK12
bool
config SOC_PART_NUMBER_MK22FX512VLQ12
bool
config SOC_PART_NUMBER_KINETIS_K2X
string
default "MK22FN512VLH12" if SOC_PART_NUMBER_MK22FN512VLH12
default "MK22FX512VLQ12" if SOC_PART_NUMBER_MK22FX512VLQ12
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_KINETIS_K2X

15
soc/soc_legacy/arm/nxp_kinetis/k2x/Kconfig.defconfig.series → soc/nxp/kinetis/k2x/Kconfig.defconfig

@ -2,6 +2,7 @@ @@ -2,6 +2,7 @@
# Copyright (c) 2018 Prevas A/S
# Copyright (c) 2019 Thomas Burdick <thomas.burdick@gmail.com>
# Copyright 2024 NXP
#
# SPDX-License-Identifier: Apache-2.0
@ -9,9 +10,17 @@ @@ -9,9 +10,17 @@
if SOC_SERIES_KINETIS_K2X
config SOC_SERIES
default "k2x"
config GPIO
default y if SOC_MK22F51212
source "soc/soc_legacy/arm/nxp_kinetis/k2x/Kconfig.defconfig.mk*"
config NUM_IRQS
default 74
config NUM_IRQS
default 81 if SOC_MK22F12
default 74 if SOC_MK22F51212
config CPU_HAS_CUSTOM_FIXED_SOC_MPU_REGIONS
default y if SOC_MK22F12
endif # SOC_SERIES_KINETIS_K2X

40
soc/nxp/kinetis/k2x/Kconfig.soc

@ -0,0 +1,40 @@ @@ -0,0 +1,40 @@
# Kinetis K2X MCU line
# Copyright (c) 2018 Prevas A/S
# Copyright (c) 2019 Thomas Burdick <thomas.burdick@gmail.com>
# Copyright 2024 NXP
#
# SPDX-License-Identifier: Apache-2.0
#
config SOC_SERIES_KINETIS_K2X
bool
select SOC_FAMILY_KINETIS
config SOC_SERIES
default "k2x" if SOC_SERIES_KINETIS_K2X
config SOC_MK22F51212
bool
select SOC_SERIES_KINETIS_K2X
# Note- the MK22F12 SKU is a legacy SOC, no longer officially supported by
# NXP's MCUX SDK, and not recommended for new designs.
config SOC_MK22F12
bool
select SOC_SERIES_KINETIS_K2X
config SOC
default "mk22f51212" if SOC_MK22F51212
default "mk22f12" if SOC_MK22F12
config SOC_PART_NUMBER_MK22FN512VLH12
bool
config SOC_PART_NUMBER_MK22FX512VLQ12
bool
config SOC_PART_NUMBER
default "MK22FN512VLH12" if SOC_PART_NUMBER_MK22FN512VLH12
default "MK22FX512VLQ12" if SOC_PART_NUMBER_MK22FX512VLQ12

0
soc/soc_legacy/arm/nxp_kinetis/k2x/nxp_mpu_regions.c → soc/nxp/kinetis/k2x/nxp_mpu_regions.c

0
soc/soc_legacy/arm/nxp_kinetis/k2x/soc.c → soc/nxp/kinetis/k2x/soc.c

0
soc/soc_legacy/arm/nxp_kinetis/k2x/soc.h → soc/nxp/kinetis/k2x/soc.h

2
soc/soc_legacy/arm/nxp_kinetis/k6x/CMakeLists.txt → soc/nxp/kinetis/k6x/CMakeLists.txt

@ -8,4 +8,6 @@ zephyr_sources_ifdef( @@ -8,4 +8,6 @@ zephyr_sources_ifdef(
nxp_mpu_regions.c
)
zephyr_include_directories(.)
set(SOC_LINKER_SCRIPT ${ZEPHYR_BASE}/include/zephyr/arch/arm/cortex_m/scripts/linker.ld CACHE INTERNAL "")

59
soc/nxp/kinetis/k6x/Kconfig

@ -0,0 +1,59 @@ @@ -0,0 +1,59 @@
# Kinetis K6x series configuration
# Copyright 2024 NXP
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_KINETIS_K6X
select ARM
select CPU_CORTEX_M4
select CPU_CORTEX_M_HAS_DWT
select CPU_HAS_NXP_MPU
select HAS_MCUX_PIT
select CLOCK_CONTROL
select PLATFORM_SPECIFIC_INIT
config SOC_MK64F12
select HAS_MCUX
select HAS_MCUX_ADC16
select HAS_MCUX_ENET
select HAS_MCUX_FLEXCAN
select HAS_MCUX_FTFX
select HAS_MCUX_FTM
select HAS_MCUX_RNGA
select HAS_MCUX_SIM
select HAS_OSC
select HAS_MCG
select CPU_HAS_FPU
select HAS_MCUX_RTC
select HAS_MCUX_DAC
select HAS_MCUX_EDMA
select HAS_MCUX_RCM
config SOC_MK66F18
select HAS_MCUX
select HAS_MCUX_ADC16
select HAS_MCUX_ENET
select HAS_MCUX_FLEXCAN
select HAS_MCUX_FTFX
select HAS_MCUX_FTM
select HAS_MCUX_RNGA
select HAS_MCUX_SIM
select HAS_OSC
select HAS_MCG
select CPU_HAS_FPU
select HAS_MCUX_RTC
select HAS_MCUX_DAC
select HAS_MCUX_EDMA
select HAS_MCUX_RCM
select HAS_MCUX_LPUART
if SOC_MK66F18
config K6X_HSRUN
bool "High Speed RUN mode"
default y
help
This options enables support for High Speed RUN mode on K66F SoC.
endif # SOC_MK66F18

16
soc/soc_legacy/arm/nxp_kinetis/k6x/Kconfig.defconfig.series → soc/nxp/kinetis/k6x/Kconfig.defconfig

@ -1,16 +1,22 @@ @@ -1,16 +1,22 @@
# Kinetis K6x series configuration options
# Kinetis K6x series default configurations
# Copyright (c) 2014-2016 Wind River Systems, Inc.
# Copyright 2024 NXP
# SPDX-License-Identifier: Apache-2.0
if SOC_SERIES_KINETIS_K6X
config SOC_SERIES
default "k6x"
config CPU_HAS_CUSTOM_FIXED_SOC_MPU_REGIONS
default y
source "soc/soc_legacy/arm/nxp_kinetis/k6x/Kconfig.defconfig.mk*"
config NUM_IRQS
default 100 if SOC_MK66F18
default 86 if SOC_MK64F12
config GPIO
default y
config SPI
default n if SOC_MK64F12
endif # SOC_SERIES_KINETIS_K6X

72
soc/soc_legacy/arm/nxp_kinetis/k6x/Kconfig.soc → soc/nxp/kinetis/k6x/Kconfig.soc

@ -1,52 +1,27 @@ @@ -1,52 +1,27 @@
# Kinetis K6X MCU line
# Copyright (c) 2016 Open-RnD Sp. z o.o.
# Copyright 2024 NXP
# SPDX-License-Identifier: Apache-2.0
choice
prompt "Kinetis K6x MCU Selection"
depends on SOC_SERIES_KINETIS_K6X
config SOC_SERIES_KINETIS_K6X
bool
select SOC_FAMILY_KINETIS
config SOC_SERIES
default "k6x" if SOC_SERIES_KINETIS_K6X
config SOC_MK64F12
bool "SOC_MK64F12"
select HAS_MCUX
select HAS_MCUX_ADC16
select HAS_MCUX_ENET
select HAS_MCUX_FLEXCAN
select HAS_MCUX_FTFX
select HAS_MCUX_FTM
select HAS_MCUX_RNGA
select HAS_MCUX_SIM
select HAS_OSC
select HAS_MCG
select CPU_HAS_FPU
select HAS_MCUX_RTC
select HAS_MCUX_DAC
select HAS_MCUX_EDMA
select HAS_MCUX_RCM
bool
select SOC_SERIES_KINETIS_K6X
config SOC_MK66F18
bool "SOC_MK66F18"
select HAS_MCUX
select HAS_MCUX_ADC16
select HAS_MCUX_ENET
select HAS_MCUX_FLEXCAN
select HAS_MCUX_FTFX
select HAS_MCUX_FTM
select HAS_MCUX_RNGA
select HAS_MCUX_SIM
select HAS_OSC
select HAS_MCG
select CPU_HAS_FPU
select HAS_MCUX_RTC
select HAS_MCUX_DAC
select HAS_MCUX_EDMA
select HAS_MCUX_RCM
select HAS_MCUX_LPUART
endchoice
if SOC_SERIES_KINETIS_K6X
bool
select SOC_SERIES_KINETIS_K6X
config SOC
default "mk64f12" if SOC_MK64F12
default "mk66f18" if SOC_MK66F18
config SOC_PART_NUMBER_MK64FN1M0CAJ12
bool
@ -81,8 +56,7 @@ config SOC_PART_NUMBER_MK66FN2M0VMD18 @@ -81,8 +56,7 @@ config SOC_PART_NUMBER_MK66FN2M0VMD18
config SOC_PART_NUMBER_MK66FN2M0VLQ18
bool
config SOC_PART_NUMBER_KINETIS_K6X
string
config SOC_PART_NUMBER
default "MK64FN1M0CAJ12" if SOC_PART_NUMBER_MK64FN1M0CAJ12
default "MK64FN1M0VDC12" if SOC_PART_NUMBER_MK64FN1M0VDC12
default "MK64FN1M0VLL12" if SOC_PART_NUMBER_MK64FN1M0VLL12
@ -94,17 +68,3 @@ config SOC_PART_NUMBER_KINETIS_K6X @@ -94,17 +68,3 @@ config SOC_PART_NUMBER_KINETIS_K6X
default "MK64FX512VMD12" if SOC_PART_NUMBER_MK64FX512VMD12
default "MK66FN2M0VMD18" if SOC_PART_NUMBER_MK66FN2M0VMD18
default "MK66FN2M0VLQ18" if SOC_PART_NUMBER_MK66FN2M0VLQ18
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.
config K6X_HSRUN
bool "High Speed RUN mode"
depends on SOC_MK66F18
default y
help
This options enables support for High Speed RUN mode on K66F SoC.
endif # SOC_SERIES_KINETIS_K6X

0
soc/soc_legacy/arm/nxp_kinetis/k6x/README.txt → soc/nxp/kinetis/k6x/README.txt

0
soc/soc_legacy/arm/nxp_kinetis/k6x/nxp_mpu_regions.c → soc/nxp/kinetis/k6x/nxp_mpu_regions.c

0
soc/soc_legacy/arm/nxp_kinetis/k6x/soc.c → soc/nxp/kinetis/k6x/soc.c

0
soc/soc_legacy/arm/nxp_kinetis/k6x/soc.h → soc/nxp/kinetis/k6x/soc.h

2
soc/soc_legacy/arm/nxp_kinetis/k8x/CMakeLists.txt → soc/nxp/kinetis/k8x/CMakeLists.txt

@ -8,4 +8,6 @@ zephyr_sources_ifdef( @@ -8,4 +8,6 @@ zephyr_sources_ifdef(
nxp_mpu_regions.c
)
zephyr_include_directories(.)
set(SOC_LINKER_SCRIPT ${ZEPHYR_BASE}/include/zephyr/arch/arm/cortex_m/scripts/linker.ld CACHE INTERNAL "")

59
soc/soc_legacy/arm/nxp_kinetis/k8x/Kconfig.soc → soc/nxp/kinetis/k8x/Kconfig

@ -1,46 +1,35 @@ @@ -1,46 +1,35 @@
# Kinetis K8x series MCU
# Copyright (c) 2019 SEAL AG
# Copyright 2024 NXP
# SPDX-License-Identifier: Apache-2.0
choice
prompt "Kinetis K8x MCU Selection"
depends on SOC_SERIES_KINETIS_K8X
config SOC_MK80F25615
bool "MK80F25615"
config SOC_MK82F25615
bool "MK82F25615"
endchoice
config SOC_SERIES_KINETIS_K8X
select ARM
select CPU_CORTEX_M4
select CPU_CORTEX_M_HAS_DWT
select CPU_HAS_NXP_MPU
select CPU_HAS_FPU
select CLOCK_CONTROL
select HAS_MCUX
select HAS_MCUX_ADC16
select HAS_MCUX_FTFX
select HAS_MCUX_FTM
select HAS_MCUX_LPUART
select HAS_MCUX_PIT
select HAS_MCUX_RTC
select HAS_MCUX_SIM
select HAS_MCUX_TRNG
select HAS_OSC
select HAS_MCG
select HAS_MCUX_EDMA
select HAS_MCUX_PIT
select HAS_MCUX_RCM
select HAS_MCUX_CACHE
select PLATFORM_SPECIFIC_INIT
if SOC_SERIES_KINETIS_K8X
config SOC_PART_NUMBER_MK80FN256VDC15
bool
config SOC_PART_NUMBER_MK80FN256VLL15
bool
config SOC_PART_NUMBER_MK82FN256VDC15
bool
config SOC_PART_NUMBER_MK82FN256VLL15
bool
config SOC_PART_NUMBER_KINETIS_K8X
string
default "MK80FN256VDC15" if SOC_PART_NUMBER_MK80FN256VDC15
default "MK80FN256VLL15" if SOC_PART_NUMBER_MK80FN256VLL15
default "MK82FN256VDC15" if SOC_PART_NUMBER_MK82FN256VDC15
default "MK82FN256VLL15" if SOC_PART_NUMBER_MK82FN256VLL15
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.
config K8X_CORE_CLOCK_DIVIDER
int "Freescale K8x core clock divider"
default 1

6
soc/soc_legacy/arm/nxp_kinetis/k8x/Kconfig.defconfig.series → soc/nxp/kinetis/k8x/Kconfig.defconfig

@ -1,13 +1,11 @@ @@ -1,13 +1,11 @@
# Kinetis K8x series configuration options
# Copyright (c) 2019 SEAL AG
# Copyright 2024 NXP
# SPDX-License-Identifier: Apache-2.0
if SOC_SERIES_KINETIS_K8X
config SOC_SERIES
default "k8x"
config NUM_IRQS
# must be >= the highest interrupt number used
default 106
@ -22,6 +20,4 @@ config KINETIS_FLASH_CONFIG_FOPT @@ -22,6 +20,4 @@ config KINETIS_FLASH_CONFIG_FOPT
config GPIO
default y
source "soc/soc_legacy/arm/nxp_kinetis/k8x/Kconfig.defconfig.mk*"
endif # SOC_SERIES_KINETIS_K8X

42
soc/nxp/kinetis/k8x/Kconfig.soc

@ -0,0 +1,42 @@ @@ -0,0 +1,42 @@
# Kinetis K8x series MCU
# Copyright (c) 2019 SEAL AG
# Copyright 2024 NXP
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_KINETIS_K8X
bool
select SOC_FAMILY_KINETIS
config SOC_SERIES
default "k8x" if SOC_SERIES_KINETIS_K8X
config SOC_MK80F25615
bool
select SOC_SERIES_KINETIS_K8X
config SOC_MK82F25615
bool
select SOC_SERIES_KINETIS_K8X
config SOC
default "mk80f25615" if SOC_MK80F25615
default "mk82f25615" if SOC_MK82F25615
config SOC_PART_NUMBER_MK80FN256VDC15
bool
config SOC_PART_NUMBER_MK80FN256VLL15
bool
config SOC_PART_NUMBER_MK82FN256VDC15
bool
config SOC_PART_NUMBER_MK82FN256VLL15
bool
config SOC_PART_NUMBER
default "MK80FN256VDC15" if SOC_PART_NUMBER_MK80FN256VDC15
default "MK80FN256VLL15" if SOC_PART_NUMBER_MK80FN256VLL15
default "MK82FN256VDC15" if SOC_PART_NUMBER_MK82FN256VDC15
default "MK82FN256VLL15" if SOC_PART_NUMBER_MK82FN256VLL15

0
soc/soc_legacy/arm/nxp_kinetis/k8x/nxp_mpu_regions.c → soc/nxp/kinetis/k8x/nxp_mpu_regions.c

0
soc/soc_legacy/arm/nxp_kinetis/k8x/soc.c → soc/nxp/kinetis/k8x/soc.c

0
soc/soc_legacy/arm/nxp_kinetis/k8x/soc.h → soc/nxp/kinetis/k8x/soc.h

2
soc/soc_legacy/arm/nxp_kinetis/ke1xf/CMakeLists.txt → soc/nxp/kinetis/ke1xf/CMakeLists.txt

@ -13,3 +13,5 @@ zephyr_sources_ifdef( @@ -13,3 +13,5 @@ zephyr_sources_ifdef(
)
set(SOC_LINKER_SCRIPT ${ZEPHYR_BASE}/include/zephyr/arch/arm/cortex_m/scripts/linker.ld CACHE INTERNAL "")
zephyr_include_directories(.)

68
soc/nxp/kinetis/ke1xf/Kconfig

@ -0,0 +1,68 @@ @@ -0,0 +1,68 @@
# Kinetis KE1xF series MCU
# Copyright (c) 2019 Vestas Wind Systems A/S
# Copyright 2024 NXP
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_KINETIS_KE1XF
select ARM
select CPU_CORTEX_M4
select CPU_CORTEX_M_HAS_DWT
select CPU_HAS_NXP_MPU
select CPU_HAS_FPU
select CLOCK_CONTROL
select HAS_MCUX
select HAS_MCUX_CACHE
select HAS_MCUX_FTFX
select HAS_MCUX_LPI2C
select HAS_MCUX_LPSPI
select HAS_MCUX_LPUART
select HAS_MCUX_PCC
select HAS_MCUX_RTC
select HAS_MCUX_SIM
select HAS_MCUX_ADC12
select HAS_MCUX_SCG
select HAS_MCUX_WDOG32
select HAS_MCUX_FTM
select HAS_MCUX_LPTMR
select HAS_MCUX_DAC32
select HAS_MCUX_EDMA
select HAS_MCUX_ACMP
select HAS_MCUX_PWT
select HAS_MCUX_RCM
select PLATFORM_SPECIFIC_INIT
select HAS_PM
config SOC_MKE16F16
select HAS_MCUX
select HAS_MCUX_FLEXCAN
config SOC_MKE18F16
select HAS_MCUX
select HAS_MCUX_FLEXCAN
if SOC_SERIES_KINETIS_KE1XF
config WDOG_ENABLE_AT_BOOT
bool "Keep watchdog timer enabled at boot"
help
Keep the watchdog timer enabled at boot with the internal
128kHz LPO clock (and a prescaler of 256) as clock
source. The application can take over control of the
watchdog timer after boot and install a different timeout,
if needed.
config WDOG_INITIAL_TIMEOUT
int "Initial timeout for the watchdog timer in milliseconds"
depends on WDOG_ENABLE_AT_BOOT && WDOG_INIT
range 2 131070
default 2048
help
Initial timeout value for the watchdog timer in
milliseconds.
config KINETIS_KE1XF_ENABLE_CODE_CACHE
bool "Code cache"
default y
endif # SOC_SERIES_KINETIS_KE1XF

6
soc/soc_legacy/arm/nxp_kinetis/ke1xf/Kconfig.defconfig.series → soc/nxp/kinetis/ke1xf/Kconfig.defconfig

@ -1,13 +1,11 @@ @@ -1,13 +1,11 @@
# Kinetis KE1xF series configuration options
# Copyright (c) 2019-2021 Vestas Wind Systems A/S
# Copyright 2024 NXP
# SPDX-License-Identifier: Apache-2.0
if SOC_SERIES_KINETIS_KE1XF
config SOC_SERIES
default "ke1xf"
config MCUX_LPTMR_TIMER
default y if PM
@ -36,6 +34,4 @@ config PWM_MCUX_PWT @@ -36,6 +34,4 @@ config PWM_MCUX_PWT
config GPIO
default y
source "soc/soc_legacy/arm/nxp_kinetis/ke1xf/Kconfig.defconfig.mke*"
endif # SOC_SERIES_KINETIS_KE1XF

60
soc/soc_legacy/arm/nxp_kinetis/ke1xf/Kconfig.soc → soc/nxp/kinetis/ke1xf/Kconfig.soc

@ -1,26 +1,32 @@ @@ -1,26 +1,32 @@
# Kinetis KE1xF MCU line
# Copyright (c) 2019 Vestas Wind Systems A/S
# Copyright 2024 NXP
# SPDX-License-Identifier: Apache-2.0
choice
prompt "Kinetis KE1xF MCU Selection"
depends on SOC_SERIES_KINETIS_KE1XF
config SOC_SERIES_KINETIS_KE1XF
bool
select SOC_FAMILY_KINETIS
config SOC_SERIES
default "ke1xf" if SOC_SERIES_KINETIS_KE1XF
config SOC_MKE14F16
bool "MKE14F16"
bool
select SOC_SERIES_KINETIS_KE1XF
config SOC_MKE16F16
bool "MKE16F16"
select HAS_MCUX_FLEXCAN
bool
select SOC_SERIES_KINETIS_KE1XF
config SOC_MKE18F16
bool "MKE18F16"
select HAS_MCUX_FLEXCAN
endchoice
bool
select SOC_SERIES_KINETIS_KE1XF
if SOC_SERIES_KINETIS_KE1XF
config SOC
default "mke14f16" if SOC_MKE14F16
default "mke16f16" if SOC_MKE16F16
default "mke18f16" if SOC_MKE18F16
config SOC_PART_NUMBER_MKE14F256VLH16
bool
@ -58,8 +64,7 @@ config SOC_PART_NUMBER_MKE18F512VLH16 @@ -58,8 +64,7 @@ config SOC_PART_NUMBER_MKE18F512VLH16
config SOC_PART_NUMBER_MKE18F512VLL16
bool
config SOC_PART_NUMBER_KINETIS_KE1XF
string
config SOC_PART_NUMBER
default "MKE14F256VLH16" if SOC_PART_NUMBER_MKE14F256VLH16
default "MKE14F256VLL16" if SOC_PART_NUMBER_MKE14F256VLL16
default "MKE14F512VLH16" if SOC_PART_NUMBER_MKE14F512VLH16
@ -72,32 +77,3 @@ config SOC_PART_NUMBER_KINETIS_KE1XF @@ -72,32 +77,3 @@ config SOC_PART_NUMBER_KINETIS_KE1XF
default "MKE18F256VLL16" if SOC_PART_NUMBER_MKE18F256VLL16
default "MKE18F512VLH16" if SOC_PART_NUMBER_MKE18F512VLH16
default "MKE18F512VLL16" if SOC_PART_NUMBER_MKE18F512VLL16
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.
config WDOG_ENABLE_AT_BOOT
bool "Keep watchdog timer enabled at boot"
help
Keep the watchdog timer enabled at boot with the internal
128kHz LPO clock (and a prescaler of 256) as clock
source. The application can take over control of the
watchdog timer after boot and install a different timeout,
if needed.
config WDOG_INITIAL_TIMEOUT
int "Initial timeout for the watchdog timer in milliseconds"
depends on WDOG_ENABLE_AT_BOOT && WDOG_INIT
range 2 131070
default 2048
help
Initial timeout value for the watchdog timer in
milliseconds.
config KINETIS_KE1XF_ENABLE_CODE_CACHE
bool "Code cache"
default y
endif # SOC_SERIES_KINETIS_KE1XF

0
soc/soc_legacy/arm/nxp_kinetis/ke1xf/nxp_mpu_regions.c → soc/nxp/kinetis/ke1xf/nxp_mpu_regions.c

0
soc/soc_legacy/arm/nxp_kinetis/ke1xf/power.c → soc/nxp/kinetis/ke1xf/power.c

0
soc/soc_legacy/arm/nxp_kinetis/ke1xf/soc.c → soc/nxp/kinetis/ke1xf/soc.c

0
soc/soc_legacy/arm/nxp_kinetis/ke1xf/soc.h → soc/nxp/kinetis/ke1xf/soc.h

2
soc/soc_legacy/arm/nxp_kinetis/kl2x/CMakeLists.txt → soc/nxp/kinetis/kl2x/CMakeLists.txt

@ -3,3 +3,5 @@ @@ -3,3 +3,5 @@
zephyr_sources(soc.c)
set(SOC_LINKER_SCRIPT ${ZEPHYR_BASE}/include/zephyr/arch/arm/cortex_m/scripts/linker.ld CACHE INTERNAL "")
zephyr_include_directories(.)

17
soc/soc_legacy/arm/nxp_kinetis/kl2x/Kconfig.series → soc/nxp/kinetis/kl2x/Kconfig

@ -1,16 +1,23 @@ @@ -1,16 +1,23 @@
# Kinetis KL2x MCU series
# Copyright (c) 2017, NXP
# Copyright (c) 2017, 2024 NXP
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_KINETIS_KL2X
bool "Kinetis KL2x Series MCU"
select ARM
select CPU_CORTEX_M0PLUS
select SOC_FAMILY_KINETIS
select CPU_CORTEX_M_HAS_SYSTICK
select CPU_CORTEX_M_HAS_VTOR
select CLOCK_CONTROL
select PLATFORM_SPECIFIC_INIT
help
Enable support for Kinetis KL2x MCU series
config SOC_MKL25Z4
select CPU_CORTEX_M0PLUS
select HAS_MCUX
select HAS_MCUX_ADC16
select HAS_MCUX_FTFX
select HAS_MCUX_LPSCI
select HAS_MCUX_SIM
select HAS_OSC
select HAS_MCG
select HAS_MCUX_RCM

8
soc/soc_legacy/arm/nxp_kinetis/kl2x/Kconfig.defconfig.series → soc/nxp/kinetis/kl2x/Kconfig.defconfig

@ -1,13 +1,11 @@ @@ -1,13 +1,11 @@
# Kinetis KL2x series configuration options
# Copyright (c) 2017, NXP
# Copyright 2017, 2024 NXP
# SPDX-License-Identifier: Apache-2.0
if SOC_SERIES_KINETIS_KL2X
config SOC_SERIES
default "kl2x"
source "soc/soc_legacy/arm/nxp_kinetis/kl2x/Kconfig.defconfig.mk*"
config NUM_IRQS
default 32 if SOC_MKL25Z4
endif # SOC_SERIES_KINETIS_KL2X

37
soc/soc_legacy/arm/nxp_kinetis/kl2x/Kconfig.soc → soc/nxp/kinetis/kl2x/Kconfig.soc

@ -1,27 +1,21 @@ @@ -1,27 +1,21 @@
# Kinetis KL2x MCU series
# Copyright (c) 2017, NXP
# Copyright 2017,2024 NXP
# SPDX-License-Identifier: Apache-2.0
choice
prompt "Kinetis KL2x MCU Selection"
depends on SOC_SERIES_KINETIS_KL2X
config SOC_SERIES_KINETIS_KL2X
bool
select SOC_FAMILY_KINETIS
config SOC_MKL25Z4
bool "SOC_MKL25Z4"
select CPU_CORTEX_M0PLUS
select HAS_MCUX
select HAS_MCUX_ADC16
select HAS_MCUX_FTFX
select HAS_MCUX_LPSCI
select HAS_MCUX_SIM
select HAS_OSC
select HAS_MCG
select HAS_MCUX_RCM
config SOC_SERIES
default "kl2x" if SOC_SERIES_KINETIS_KL2X
endchoice
config SOC_MKL25Z4
bool
select SOC_SERIES_KINETIS_KL2X
if SOC_SERIES_KINETIS_KL2X
config SOC
default "mkl25z4" if SOC_MKL25Z4
config SOC_PART_NUMBER_MKL25Z32VFM4
bool
@ -59,8 +53,7 @@ config SOC_PART_NUMBER_MKL25Z64VLK4 @@ -59,8 +53,7 @@ config SOC_PART_NUMBER_MKL25Z64VLK4
config SOC_PART_NUMBER_MKL25Z128VLK4
bool
config SOC_PART_NUMBER_KINETIS_KL2X
string
config SOC_PART_NUMBER
default "MKL25Z32VFM4" if SOC_PART_NUMBER_MKL25Z32VFM4
default "MKL25Z64VFM4" if SOC_PART_NUMBER_MKL25Z64VFM4
default "MKL25Z128VFM4" if SOC_PART_NUMBER_MKL25Z128VFM4
@ -73,9 +66,3 @@ config SOC_PART_NUMBER_KINETIS_KL2X @@ -73,9 +66,3 @@ config SOC_PART_NUMBER_KINETIS_KL2X
default "MKL25Z32VLK4" if SOC_PART_NUMBER_MKL25Z32VLK4
default "MKL25Z64VLK4" if SOC_PART_NUMBER_MKL25Z64VLK4
default "MKL25Z128VLK4" if SOC_PART_NUMBER_MKL25Z128VLK4
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_KINETIS_KL2X

0
soc/soc_legacy/arm/nxp_kinetis/kl2x/soc.c → soc/nxp/kinetis/kl2x/soc.c

0
soc/soc_legacy/arm/nxp_kinetis/kl2x/soc.h → soc/nxp/kinetis/kl2x/soc.h

2
soc/soc_legacy/arm/nxp_kinetis/kv5x/CMakeLists.txt → soc/nxp/kinetis/kv5x/CMakeLists.txt

@ -5,3 +5,5 @@ zephyr_sources( @@ -5,3 +5,5 @@ zephyr_sources(
)
set(SOC_LINKER_SCRIPT ${ZEPHYR_BASE}/include/zephyr/arch/arm/cortex_m/scripts/linker.ld CACHE INTERNAL "")
zephyr_include_directories(.)

5
soc/soc_legacy/arm/nxp_kinetis/kv5x/Kconfig.series → soc/nxp/kinetis/kv5x/Kconfig

@ -1,14 +1,13 @@ @@ -1,14 +1,13 @@
# Kinetis KV5x series MCU
# Copyright (c) 2019 SEAL AG
# Copyright 2024 NXP
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_KINETIS_KV5X
bool "Kinetis KV5x Series MCU"
select ARM
select CPU_CORTEX_M7
select CPU_CORTEX_M_HAS_DWT
select SOC_FAMILY_KINETIS
select CPU_HAS_ARM_MPU
select CPU_HAS_FPU
select CPU_HAS_ICACHE
@ -23,5 +22,3 @@ config SOC_SERIES_KINETIS_KV5X @@ -23,5 +22,3 @@ config SOC_SERIES_KINETIS_KV5X
select HAS_MCG
select HAS_MCUX_RCM
select PLATFORM_SPECIFIC_INIT
help
Enable support for Kinetis KV5x MCU series

6
soc/soc_legacy/arm/nxp_kinetis/kv5x/Kconfig.defconfig.series → soc/nxp/kinetis/kv5x/Kconfig.defconfig

@ -1,13 +1,11 @@ @@ -1,13 +1,11 @@
# Kinetis KV5x series configuration options
# Copyright (c) 2019 SEAL AG
# Copyright 2024 NXP
# SPDX-License-Identifier: Apache-2.0
if SOC_SERIES_KINETIS_KV5X
config SOC_SERIES
default "kv5x"
config NUM_IRQS
# must be >= the highest interrupt number used
default 121
@ -15,6 +13,4 @@ config NUM_IRQS @@ -15,6 +13,4 @@ config NUM_IRQS
config GPIO
default y
source "soc/soc_legacy/arm/nxp_kinetis/kv5x/Kconfig.defconfig.mkv*"
endif # SOC_SERIES_KINETIS_KV5X

32
soc/soc_legacy/arm/nxp_kinetis/kv5x/Kconfig.soc → soc/nxp/kinetis/kv5x/Kconfig.soc

@ -1,21 +1,27 @@ @@ -1,21 +1,27 @@
# Kinetis KV5x series MCU
# Copyright (c) 2019 SEAL AG
# Copyright 2024 NXP
# SPDX-License-Identifier: Apache-2.0
choice
prompt "Kinetis KV5x MCU Selection"
depends on SOC_SERIES_KINETIS_KV5X
config SOC_SERIES_KINETIS_KV5X
bool
select SOC_FAMILY_KINETIS
config SOC_SERIES
default "kv5x" if SOC_SERIES_KINETIS_KV5X
config SOC_MKV56F24
bool "MKV56F24"
bool
select SOC_SERIES_KINETIS_KV5X
config SOC_MKV58F24
bool "MKV58F24"
endchoice
bool
select SOC_SERIES_KINETIS_KV5X
if SOC_SERIES_KINETIS_KV5X
config SOC
default "mkv56f24" if SOC_MKV56F24
default "mkv58f24" if SOC_MKV58F24
config SOC_PART_NUMBER_MKV56F512VLL24
bool
@ -41,8 +47,7 @@ config SOC_PART_NUMBER_MKV58F1M0VLL24 @@ -41,8 +47,7 @@ config SOC_PART_NUMBER_MKV58F1M0VLL24
config SOC_PART_NUMBER_MKV58F1M0VLQ24
bool
config SOC_PART_NUMBER_KINETIS_KV5X
string
config SOC_PART_NUMBER
default "MKV56F512VLL24" if SOC_PART_NUMBER_MKV56F512VLL24
default "MKV56F512VLQ24" if SOC_PART_NUMBER_MKV56F512VLQ24
default "MKV56F1M0VLL24" if SOC_PART_NUMBER_MKV56F1M0VLL24
@ -51,10 +56,3 @@ config SOC_PART_NUMBER_KINETIS_KV5X @@ -51,10 +56,3 @@ config SOC_PART_NUMBER_KINETIS_KV5X
default "MKV58F512VLQ24" if SOC_PART_NUMBER_MKV58F512VLQ24
default "MKV58F1M0VLL24" if SOC_PART_NUMBER_MKV58F1M0VLL24
default "MKV58F1M0VLQ24" if SOC_PART_NUMBER_MKV58F1M0VLQ24
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_KINETIS_KV5X

0
soc/soc_legacy/arm/nxp_kinetis/kv5x/soc.c → soc/nxp/kinetis/kv5x/soc.c

0
soc/soc_legacy/arm/nxp_kinetis/kv5x/soc.h → soc/nxp/kinetis/kv5x/soc.h

0
soc/soc_legacy/arm/nxp_kinetis/kv5x/wdog.S → soc/nxp/kinetis/kv5x/wdog.S

2
soc/soc_legacy/arm/nxp_kinetis/kwx/CMakeLists.txt → soc/nxp/kinetis/kwx/CMakeLists.txt

@ -5,4 +5,6 @@ zephyr_sources_ifdef(CONFIG_SOC_MKW22D5 soc_kw2xd.c) @@ -5,4 +5,6 @@ zephyr_sources_ifdef(CONFIG_SOC_MKW22D5 soc_kw2xd.c)
zephyr_sources_ifdef(CONFIG_SOC_MKW41Z4 soc_kw4xz.c)
zephyr_sources_ifdef(CONFIG_SOC_MKW40Z4 soc_kw4xz.c)
zephyr_include_directories(.)
set(SOC_LINKER_SCRIPT ${ZEPHYR_BASE}/include/zephyr/arch/arm/cortex_m/scripts/linker.ld CACHE INTERNAL "")

48
soc/soc_legacy/arm/nxp_kinetis/kwx/Kconfig.soc → soc/nxp/kinetis/kwx/Kconfig

@ -1,14 +1,16 @@ @@ -1,14 +1,16 @@
# Kinetis KWx MCU series
# Copyright (c) 2017, NXP
# Copyright (c) 2017, 2024 NXP
# SPDX-License-Identifier: Apache-2.0
choice
prompt "Kinetis KWx MCU Selection"
depends on SOC_SERIES_KINETIS_KWX
config SOC_SERIES_KINETIS_KWX
select ARM
select CPU_CORTEX_M_HAS_SYSTICK
select CPU_CORTEX_M_HAS_VTOR
select CLOCK_CONTROL
select PLATFORM_SPECIFIC_INIT
config SOC_MKW22D5
bool "SOC_MKW22D5"
select CPU_CORTEX_M4
select CPU_CORTEX_M_HAS_DWT
select HAS_MCUX
@ -22,7 +24,6 @@ config SOC_MKW22D5 @@ -22,7 +24,6 @@ config SOC_MKW22D5
select HAS_MCUX_RCM
config SOC_MKW24D5
bool "SOC_MKW24D5"
select CPU_CORTEX_M4
select CPU_CORTEX_M_HAS_DWT
select HAS_MCUX
@ -36,7 +37,6 @@ config SOC_MKW24D5 @@ -36,7 +37,6 @@ config SOC_MKW24D5
select HAS_MCUX_RCM
config SOC_MKW40Z4
bool "SOC_MKW40Z4"
select CPU_CORTEX_M0PLUS
select HAS_MCUX
select HAS_MCUX_ADC16
@ -48,7 +48,6 @@ config SOC_MKW40Z4 @@ -48,7 +48,6 @@ config SOC_MKW40Z4
select HAS_MCUX_RCM
config SOC_MKW41Z4
bool "SOC_MKW41Z4"
select CPU_CORTEX_M0PLUS
select HAS_MCUX
select HAS_MCUX_ADC16
@ -61,36 +60,3 @@ config SOC_MKW41Z4 @@ -61,36 +60,3 @@ config SOC_MKW41Z4
select HAS_OSC
select HAS_MCG
select HAS_MCUX_RCM
endchoice
if SOC_SERIES_KINETIS_KWX
config SOC_PART_NUMBER_MKW22D512VHA5
bool
config SOC_PART_NUMBER_MKW24D512VHA5
bool
config SOC_PART_NUMBER_MKW40Z160VHT4
bool
config SOC_PART_NUMBER_MKW41Z256VHT4
bool
config SOC_PART_NUMBER_MKW41Z512VHT4
bool
config SOC_PART_NUMBER_KINETIS_KWX
string
default "MKW22D512VHA5" if SOC_PART_NUMBER_MKW22D512VHA5
default "MKW24D512VHA5" if SOC_PART_NUMBER_MKW24D512VHA5
default "MKW40Z160VHT4" if SOC_PART_NUMBER_MKW40Z160VHT4
default "MKW41Z256VHT4" if SOC_PART_NUMBER_MKW41Z256VHT4
default "MKW41Z512VHT4" if SOC_PART_NUMBER_MKW41Z512VHT4
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_KINETIS_KWX

34
soc/nxp/kinetis/kwx/Kconfig.defconfig

@ -0,0 +1,34 @@ @@ -0,0 +1,34 @@
# Kinetis KWx series configuration options
# Copyright 2024 NXP
# SPDX-License-Identifier: Apache-2.0
if SOC_SERIES_KINETIS_KWX
config NUM_IRQS
default 65 if SOC_MKW22D5 || SOC_MKW24D5
default 32 if SOC_MKW40Z4 || SOC_MKW41Z4
config SPI
default y if SOC_MKW22D5 || SOC_MKW24D5
config NET_L2_IEEE802154
default y if !NET_L2_OPENTHREAD && SOC_MKW41Z4
if SOC_MKW40Z4 || SOC_MKW41Z4
choice CSPRNG_GENERATOR_CHOICE
default CTR_DRBG_CSPRNG_GENERATOR
endchoice
choice RNG_GENERATOR_CHOICE
default XOSHIRO_RANDOM_GENERATOR
endchoice
config TINYCRYPT
default y
depends on ENTROPY_GENERATOR && SOC_MKW41Z4
endif # SOC_MKW40Z4 || SOC_MKW41Z4
endif # SOC_SERIES_KINETIS_KWX

55
soc/nxp/kinetis/kwx/Kconfig.soc

@ -0,0 +1,55 @@ @@ -0,0 +1,55 @@
# Kinetis KWx MCU series
# Copyright 2017,2024 NXP
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_KINETIS_KWX
bool
select SOC_FAMILY_KINETIS
config SOC_SERIES
default "kwx" if SOC_SERIES_KINETIS_KWX
config SOC_MKW22D5
bool
select SOC_SERIES_KINETIS_KWX
config SOC_MKW24D5
bool
select SOC_SERIES_KINETIS_KWX
config SOC_MKW40Z4
bool
select SOC_SERIES_KINETIS_KWX
config SOC_MKW41Z4
bool
select SOC_SERIES_KINETIS_KWX
config SOC
default "mkw22d5" if SOC_MKW22D5
default "mkw24d5" if SOC_MKW24D5
default "mkw40z4" if SOC_MKW40Z4
default "mkw41z4" if SOC_MKW41Z4
config SOC_PART_NUMBER_MKW22D512VHA5
bool
config SOC_PART_NUMBER_MKW24D512VHA5
bool
config SOC_PART_NUMBER_MKW40Z160VHT4
bool
config SOC_PART_NUMBER_MKW41Z256VHT4
bool
config SOC_PART_NUMBER_MKW41Z512VHT4
bool
config SOC_PART_NUMBER
default "MKW22D512VHA5" if SOC_PART_NUMBER_MKW22D512VHA5
default "MKW24D512VHA5" if SOC_PART_NUMBER_MKW24D512VHA5
default "MKW40Z160VHT4" if SOC_PART_NUMBER_MKW40Z160VHT4
default "MKW41Z256VHT4" if SOC_PART_NUMBER_MKW41Z256VHT4
default "MKW41Z512VHT4" if SOC_PART_NUMBER_MKW41Z512VHT4

0
soc/soc_legacy/arm/nxp_kinetis/kwx/soc.h → soc/nxp/kinetis/kwx/soc.h

0
soc/soc_legacy/arm/nxp_kinetis/kwx/soc_kw2xd.c → soc/nxp/kinetis/kwx/soc_kw2xd.c

0
soc/soc_legacy/arm/nxp_kinetis/kwx/soc_kw4xz.c → soc/nxp/kinetis/kwx/soc_kw4xz.c

31
soc/nxp/kinetis/soc.yml

@ -0,0 +1,31 @@ @@ -0,0 +1,31 @@
family:
- name: kinetis
series:
- name: kwx
socs:
- name: mkw22d5
- name: mkw24d5
- name: mkw40z4
- name: mkw41z4
- name: k6x
socs:
- name: mk64f12
- name: mk66f18
- name: k2x
socs:
- name: mk22f51212
- name: mk22f12
- name: ke1xf
socs:
- name: mke18f16
- name: k8x
socs:
- name: mk82f25615
- name: mk82f215
- name: kl2x
socs:
- name: mkl25z4
- name: kv5x
socs:
- name: mkv56f24
- name: mkv58f24

4
soc/soc_legacy/arm/nxp_kinetis/Kconfig.soc

@ -1,4 +0,0 @@ @@ -1,4 +0,0 @@
# Copyright (c) 2016 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
source "soc/soc_legacy/arm/nxp_kinetis/*/Kconfig.series"

17
soc/soc_legacy/arm/nxp_kinetis/k2x/Kconfig.defconfig.mk22f12

@ -1,17 +0,0 @@ @@ -1,17 +0,0 @@
# FSL FRDM K22F platform configuration options
# Copyright (c) 2018 Prevas A/S
# SPDX-License-Identifier: Apache-2.0
if SOC_MK22F51212
config SOC
default "mk22f51212"
config GPIO
default y
config NUM_IRQS
default 74
endif # SOC_MK22F12

17
soc/soc_legacy/arm/nxp_kinetis/k2x/Kconfig.defconfig.mk22fx12

@ -1,17 +0,0 @@ @@ -1,17 +0,0 @@
# Copyright 2023 Daniel DeGrasse
# SPDX-License-Identifier: Apache-2.0
# Kinetis MK22FX12 configuration options
if SOC_MK22F12
config SOC
default "mk22f12"
config NUM_IRQS
default 81
config CPU_HAS_CUSTOM_FIXED_SOC_MPU_REGIONS
default y
endif # SOC_MK22F12

19
soc/soc_legacy/arm/nxp_kinetis/k2x/Kconfig.series

@ -1,19 +0,0 @@ @@ -1,19 +0,0 @@
# Kinetis K2X MCU line
# Copyright (c) 2018 Prevas A/S
# Copyright (c) 2019 Thomas Burdick <thomas.burdick@gmail.com>
#
# SPDX-License-Identifier: Apache-2.0
#
config SOC_SERIES_KINETIS_K2X
bool "Kinetis K2x Series MCU"
select ARM
select CPU_CORTEX_M4
select CPU_CORTEX_M_HAS_DWT
select SOC_FAMILY_KINETIS
select CLOCK_CONTROL
select PLATFORM_SPECIFIC_INIT
help
Enable support for Kinetis K2x MCU series

21
soc/soc_legacy/arm/nxp_kinetis/k6x/Kconfig.defconfig.mk64f12

@ -1,21 +0,0 @@ @@ -1,21 +0,0 @@
# FSL FRDM K64F platform configuration options
# Copyright (c) 2014-2016 Wind River Systems, Inc.
# SPDX-License-Identifier: Apache-2.0
if SOC_MK64F12
config SOC
default "mk64f12"
config NUM_IRQS
# must be >= the highest interrupt number used
default 86
config GPIO
default y
config SPI
default n
endif # SOC_MK64F12

18
soc/soc_legacy/arm/nxp_kinetis/k6x/Kconfig.defconfig.mk66f18

@ -1,18 +0,0 @@ @@ -1,18 +0,0 @@
# FSL SEGGER K66F platform configuration options
# Copyright (c) 2020 DENX Software Engineering GmbH, 2021 Electromaticus LLC, 2021 NXP
# SPDX-License-Identifier: Apache-2.0
if SOC_MK66F18
config SOC
default "mk66f18"
config NUM_IRQS
# must be >= the highest interrupt number used
default 100
config GPIO
default y
endif # SOC_MK66F18

17
soc/soc_legacy/arm/nxp_kinetis/k6x/Kconfig.series

@ -1,17 +0,0 @@ @@ -1,17 +0,0 @@
# Kinetis K6X MCU line
# Copyright (c) 2016 Open-RnD Sp. z o.o.
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_KINETIS_K6X
bool "Kinetis K6x Series MCU"
select ARM
select CPU_CORTEX_M4
select CPU_CORTEX_M_HAS_DWT
select SOC_FAMILY_KINETIS
select CPU_HAS_NXP_MPU
select HAS_MCUX_PIT
select CLOCK_CONTROL
select PLATFORM_SPECIFIC_INIT
help
Enable support for Kinetis K6x MCU series

8
soc/soc_legacy/arm/nxp_kinetis/k8x/Kconfig.defconfig.mk80f25615

@ -1,8 +0,0 @@ @@ -1,8 +0,0 @@
# Kinetis K80F25615 configuration options
# Copyright (c) 2019 SEAL AG
# SPDX-License-Identifier: Apache-2.0
config SOC
default "mk80f25615"
depends on SOC_MK80F25615

8
soc/soc_legacy/arm/nxp_kinetis/k8x/Kconfig.defconfig.mk82f25615

@ -1,8 +0,0 @@ @@ -1,8 +0,0 @@
# Kinetis K82F25615 configuration options
# Copyright (c) 2019 SEAL AG
# SPDX-License-Identifier: Apache-2.0
config SOC
default "mk82f25615"
depends on SOC_MK82F25615

32
soc/soc_legacy/arm/nxp_kinetis/k8x/Kconfig.series

@ -1,32 +0,0 @@ @@ -1,32 +0,0 @@
# Kinetis K8x series MCU
# Copyright (c) 2019 SEAL AG
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_KINETIS_K8X
bool "Kinetis K8x Series MCU"
select ARM
select CPU_CORTEX_M4
select CPU_CORTEX_M_HAS_DWT
select SOC_FAMILY_KINETIS
select CPU_HAS_NXP_MPU
select CPU_HAS_FPU
select CLOCK_CONTROL
select HAS_MCUX
select HAS_MCUX_ADC16
select HAS_MCUX_FTFX
select HAS_MCUX_FTM
select HAS_MCUX_LPUART
select HAS_MCUX_PIT
select HAS_MCUX_RTC
select HAS_MCUX_SIM
select HAS_MCUX_TRNG
select HAS_OSC
select HAS_MCG
select HAS_MCUX_EDMA
select HAS_MCUX_PIT
select HAS_MCUX_RCM
select HAS_MCUX_CACHE
select PLATFORM_SPECIFIC_INIT
help
Enable support for Kinetis K8x MCU series

8
soc/soc_legacy/arm/nxp_kinetis/ke1xf/Kconfig.defconfig.mke14f16

@ -1,8 +0,0 @@ @@ -1,8 +0,0 @@
# Kinetis KE14F16 configuration options
# Copyright (c) 2019 Vestas Wind Systems A/S
# SPDX-License-Identifier: Apache-2.0
config SOC
default "mke14f16"
depends on SOC_MKE14F16

11
soc/soc_legacy/arm/nxp_kinetis/ke1xf/Kconfig.defconfig.mke16f16

@ -1,11 +0,0 @@ @@ -1,11 +0,0 @@
# Kinetis KE16F16 configuration options
# Copyright (c) 2019 Vestas Wind Systems A/S
# SPDX-License-Identifier: Apache-2.0
if SOC_MKE16F16
config SOC
default "mke16f16"
endif # SOC_MKE16F16

11
soc/soc_legacy/arm/nxp_kinetis/ke1xf/Kconfig.defconfig.mke18f16

@ -1,11 +0,0 @@ @@ -1,11 +0,0 @@
# Kinetis KE18F16 configuration options
# Copyright (c) 2019 Vestas Wind Systems A/S
# SPDX-License-Identifier: Apache-2.0
if SOC_MKE18F16
config SOC
default "mke18f16"
endif # SOC_MKE18F16

37
soc/soc_legacy/arm/nxp_kinetis/ke1xf/Kconfig.series

@ -1,37 +0,0 @@ @@ -1,37 +0,0 @@
# Kinetis KE1xF series MCU
# Copyright (c) 2019 Vestas Wind Systems A/S
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_KINETIS_KE1XF
bool "Kinetis KE1xF Series MCU"
select ARM
select CPU_CORTEX_M4
select CPU_CORTEX_M_HAS_DWT
select SOC_FAMILY_KINETIS
select CPU_HAS_NXP_MPU
select CPU_HAS_FPU
select CLOCK_CONTROL
select HAS_MCUX
select HAS_MCUX_CACHE
select HAS_MCUX_FTFX
select HAS_MCUX_LPI2C
select HAS_MCUX_LPSPI
select HAS_MCUX_LPUART
select HAS_MCUX_PCC
select HAS_MCUX_RTC
select HAS_MCUX_SIM
select HAS_MCUX_ADC12
select HAS_MCUX_SCG
select HAS_MCUX_WDOG32
select HAS_MCUX_FTM
select HAS_MCUX_LPTMR
select HAS_MCUX_DAC32
select HAS_MCUX_EDMA
select HAS_MCUX_ACMP
select HAS_MCUX_PWT
select HAS_MCUX_RCM
select PLATFORM_SPECIFIC_INIT
select HAS_PM
help
Enable support for Kinetis KE1xF MCU series

14
soc/soc_legacy/arm/nxp_kinetis/kl2x/Kconfig.defconfig.mkl25z4

@ -1,14 +0,0 @@ @@ -1,14 +0,0 @@
# Kinetis KL2x SoC configuration options
# Copyright (c) 2017, NXP
# SPDX-License-Identifier: Apache-2.0
if SOC_MKL25Z4
config SOC
default "mkl25z4"
config NUM_IRQS
default 32
endif # SOC_MKL25Z

8
soc/soc_legacy/arm/nxp_kinetis/kv5x/Kconfig.defconfig.mkv56f24

@ -1,8 +0,0 @@ @@ -1,8 +0,0 @@
# Kinetis KV56F24 configuration options
# Copyright (c) 2019 SEAL AG
# SPDX-License-Identifier: Apache-2.0
config SOC
default "mkv56f24"
depends on SOC_MKV56F24

8
soc/soc_legacy/arm/nxp_kinetis/kv5x/Kconfig.defconfig.mkv58f24

@ -1,8 +0,0 @@ @@ -1,8 +0,0 @@
# Kinetis KV58F24 configuration options
# Copyright (c) 2019 SEAL AG
# SPDX-License-Identifier: Apache-2.0
config SOC
default "mkv58f24"
depends on SOC_MKV58F24

22
soc/soc_legacy/arm/nxp_kinetis/kwx/Kconfig.defconfig.mkw2xd512

@ -1,22 +0,0 @@ @@ -1,22 +0,0 @@
# Kinetis KW2xD SoC configuration options
# Copyright (c) 2017, Phytec Messtechnik GmbH
# SPDX-License-Identifier: Apache-2.0
if SOC_MKW22D5 || SOC_MKW24D5
config SOC
default "mkw22d5"
depends on SOC_MKW22D5
config SOC
default "mkw24d5"
depends on SOC_MKW24D5
config NUM_IRQS
default 65
config SPI
default y
endif # SOC_MKW2xD512

24
soc/soc_legacy/arm/nxp_kinetis/kwx/Kconfig.defconfig.mkw40z4

@ -1,24 +0,0 @@ @@ -1,24 +0,0 @@
# Kinetis KWx SoC configuration options
# SPDX-License-Identifier: Apache-2.0
if SOC_MKW40Z4
config SOC
default "mkw40z4"
config NUM_IRQS
default 32
choice CSPRNG_GENERATOR_CHOICE
default CTR_DRBG_CSPRNG_GENERATOR
endchoice
choice RNG_GENERATOR_CHOICE
default XOSHIRO_RANDOM_GENERATOR
endchoice
config TINYCRYPT
default y
endif # SOC_MKW40Z4

42
soc/soc_legacy/arm/nxp_kinetis/kwx/Kconfig.defconfig.mkw41z4

@ -1,42 +0,0 @@ @@ -1,42 +0,0 @@
# Kinetis KWx SoC configuration options
# Copyright (c) 2017, NXP
# SPDX-License-Identifier: Apache-2.0
if SOC_MKW41Z4
config SOC
default "mkw41z4"
config NUM_IRQS
default 32
if NETWORKING
config NET_L2_IEEE802154
default y
depends on !NET_L2_OPENTHREAD
endif # NETWORKING
choice CSPRNG_GENERATOR_CHOICE
default CTR_DRBG_CSPRNG_GENERATOR
endchoice
#
# MBEDTLS is larger but much faster than TinyCrypt so choose wisely
#
#config MBEDTLS
config TINYCRYPT
default y
depends on ENTROPY_GENERATOR
#
# KW41Z TRNG entropy source cannot be used as a Hardware RNG source so
# use XOSHIRO for PRNG
#
choice RNG_GENERATOR_CHOICE
default XOSHIRO_RANDOM_GENERATOR
endchoice
endif # SOC_MKW41Z4

13
soc/soc_legacy/arm/nxp_kinetis/kwx/Kconfig.defconfig.series

@ -1,13 +0,0 @@ @@ -1,13 +0,0 @@
# Kinetis KWx series configuration options
# Copyright (c) 2017, NXP
# SPDX-License-Identifier: Apache-2.0
if SOC_SERIES_KINETIS_KWX
config SOC_SERIES
default "kwx"
source "soc/soc_legacy/arm/nxp_kinetis/kwx/Kconfig.defconfig.mk*"
endif # SOC_SERIES_KINETIS_KWX

15
soc/soc_legacy/arm/nxp_kinetis/kwx/Kconfig.series

@ -1,15 +0,0 @@ @@ -1,15 +0,0 @@
# Kinetis KWx MCU series
# Copyright (c) 2017, NXP
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_KINETIS_KWX
bool "Kinetis KWx Series MCU"
select ARM
select SOC_FAMILY_KINETIS
select CPU_CORTEX_M_HAS_SYSTICK
select CPU_CORTEX_M_HAS_VTOR
select CLOCK_CONTROL
select PLATFORM_SPECIFIC_INIT
help
Enable support for Kinetis KWx MCU series
Loading…
Cancel
Save