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 @@
# Copyright (c) 2016 Intel Corporation # Copyright (c) 2016 Intel Corporation
# Copyright (c) 2016, Freescale Semiconductor, Inc. # Copyright (c) 2016, Freescale Semiconductor, Inc.
# Copyright 2024 NXP
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
config SOC_FAMILY_KINETIS config SOC_FAMILY_KINETIS
bool
select HAS_SEGGER_RTT if ZEPHYR_SEGGER_MODULE select HAS_SEGGER_RTT if ZEPHYR_SEGGER_MODULE
if SOC_FAMILY_KINETIS 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 config HAS_OSC
bool bool
help help
@ -165,4 +150,7 @@ config WDOG_INIT
bool bool
default WDOG_ENABLE_AT_BOOT default WDOG_ENABLE_AT_BOOT
rsource "*/Kconfig"
endif # SOC_FAMILY_KINETIS endif # SOC_FAMILY_KINETIS

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

@ -1,5 +1,8 @@
# Copyright 2024 NXP
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
if SOC_FAMILY_KINETIS
config SERIAL_INIT_PRIORITY config SERIAL_INIT_PRIORITY
default 55 default 55
depends on SERIAL depends on SERIAL
@ -8,4 +11,6 @@ config ADC_INIT_PRIORITY
default 80 if ADC_MCUX_ADC16_ENABLE_EDMA default 80 if ADC_MCUX_ADC16_ENABLE_EDMA
depends on ADC 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 @@
# 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 @@
# #
# Copyright (c) 2018 Prevas A/S # Copyright (c) 2018 Prevas A/S
# Copyright 2024 NXP
# #
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
# #
@ -14,4 +14,6 @@ if(DEFINED CONFIG_ARM_MPU AND DEFINED CONFIG_CPU_HAS_NXP_MPU)
zephyr_sources(nxp_mpu_regions.c) zephyr_sources(nxp_mpu_regions.c)
endif() endif()
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 "")

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

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

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

@ -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(
nxp_mpu_regions.c nxp_mpu_regions.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 "")

59
soc/nxp/kinetis/k6x/Kconfig

@ -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 @@
# Kinetis K6x series configuration options # Kinetis K6x series default configurations
# Copyright (c) 2014-2016 Wind River Systems, Inc. # Copyright (c) 2014-2016 Wind River Systems, Inc.
# Copyright 2024 NXP
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
if SOC_SERIES_KINETIS_K6X if SOC_SERIES_KINETIS_K6X
config SOC_SERIES
default "k6x"
config CPU_HAS_CUSTOM_FIXED_SOC_MPU_REGIONS config CPU_HAS_CUSTOM_FIXED_SOC_MPU_REGIONS
default y 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 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 @@
# Kinetis K6X MCU line # Kinetis K6X MCU line
# Copyright (c) 2016 Open-RnD Sp. z o.o. # Copyright (c) 2016 Open-RnD Sp. z o.o.
# Copyright 2024 NXP
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
choice config SOC_SERIES_KINETIS_K6X
prompt "Kinetis K6x MCU Selection" bool
depends on SOC_SERIES_KINETIS_K6X select SOC_FAMILY_KINETIS
config SOC_SERIES
default "k6x" if SOC_SERIES_KINETIS_K6X
config SOC_MK64F12 config SOC_MK64F12
bool "SOC_MK64F12" bool
select HAS_MCUX select SOC_SERIES_KINETIS_K6X
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 config SOC_MK66F18
bool "SOC_MK66F18" bool
select HAS_MCUX select SOC_SERIES_KINETIS_K6X
select HAS_MCUX_ADC16
select HAS_MCUX_ENET config SOC
select HAS_MCUX_FLEXCAN default "mk64f12" if SOC_MK64F12
select HAS_MCUX_FTFX default "mk66f18" if SOC_MK66F18
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
config SOC_PART_NUMBER_MK64FN1M0CAJ12 config SOC_PART_NUMBER_MK64FN1M0CAJ12
bool bool
@ -81,8 +56,7 @@ config SOC_PART_NUMBER_MK66FN2M0VMD18
config SOC_PART_NUMBER_MK66FN2M0VLQ18 config SOC_PART_NUMBER_MK66FN2M0VLQ18
bool bool
config SOC_PART_NUMBER_KINETIS_K6X config SOC_PART_NUMBER
string
default "MK64FN1M0CAJ12" if SOC_PART_NUMBER_MK64FN1M0CAJ12 default "MK64FN1M0CAJ12" if SOC_PART_NUMBER_MK64FN1M0CAJ12
default "MK64FN1M0VDC12" if SOC_PART_NUMBER_MK64FN1M0VDC12 default "MK64FN1M0VDC12" if SOC_PART_NUMBER_MK64FN1M0VDC12
default "MK64FN1M0VLL12" if SOC_PART_NUMBER_MK64FN1M0VLL12 default "MK64FN1M0VLL12" if SOC_PART_NUMBER_MK64FN1M0VLL12
@ -94,17 +68,3 @@ config SOC_PART_NUMBER_KINETIS_K6X
default "MK64FX512VMD12" if SOC_PART_NUMBER_MK64FX512VMD12 default "MK64FX512VMD12" if SOC_PART_NUMBER_MK64FX512VMD12
default "MK66FN2M0VMD18" if SOC_PART_NUMBER_MK66FN2M0VMD18 default "MK66FN2M0VMD18" if SOC_PART_NUMBER_MK66FN2M0VMD18
default "MK66FN2M0VLQ18" if SOC_PART_NUMBER_MK66FN2M0VLQ18 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(
nxp_mpu_regions.c nxp_mpu_regions.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 "")

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

@ -1,46 +1,35 @@
# Kinetis K8x series MCU # Kinetis K8x series MCU
# Copyright (c) 2019 SEAL AG # Copyright (c) 2019 SEAL AG
# Copyright 2024 NXP
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
choice config SOC_SERIES_KINETIS_K8X
prompt "Kinetis K8x MCU Selection" select ARM
depends on SOC_SERIES_KINETIS_K8X select CPU_CORTEX_M4
select CPU_CORTEX_M_HAS_DWT
config SOC_MK80F25615 select CPU_HAS_NXP_MPU
bool "MK80F25615" select CPU_HAS_FPU
select CLOCK_CONTROL
config SOC_MK82F25615 select HAS_MCUX
bool "MK82F25615" select HAS_MCUX_ADC16
select HAS_MCUX_FTFX
endchoice 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 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 config K8X_CORE_CLOCK_DIVIDER
int "Freescale K8x core clock divider" int "Freescale K8x core clock divider"
default 1 default 1

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

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

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

@ -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(
) )
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 "")
zephyr_include_directories(.)

68
soc/nxp/kinetis/ke1xf/Kconfig

@ -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 @@
# Kinetis KE1xF series configuration options # Kinetis KE1xF series configuration options
# Copyright (c) 2019-2021 Vestas Wind Systems A/S # Copyright (c) 2019-2021 Vestas Wind Systems A/S
# Copyright 2024 NXP
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
if SOC_SERIES_KINETIS_KE1XF if SOC_SERIES_KINETIS_KE1XF
config SOC_SERIES
default "ke1xf"
config MCUX_LPTMR_TIMER config MCUX_LPTMR_TIMER
default y if PM default y if PM
@ -36,6 +34,4 @@ config PWM_MCUX_PWT
config GPIO config GPIO
default y default y
source "soc/soc_legacy/arm/nxp_kinetis/ke1xf/Kconfig.defconfig.mke*"
endif # SOC_SERIES_KINETIS_KE1XF 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 @@
# Kinetis KE1xF MCU line # Kinetis KE1xF MCU line
# Copyright (c) 2019 Vestas Wind Systems A/S # Copyright (c) 2019 Vestas Wind Systems A/S
# Copyright 2024 NXP
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
choice config SOC_SERIES_KINETIS_KE1XF
prompt "Kinetis KE1xF MCU Selection" bool
depends on SOC_SERIES_KINETIS_KE1XF select SOC_FAMILY_KINETIS
config SOC_SERIES
default "ke1xf" if SOC_SERIES_KINETIS_KE1XF
config SOC_MKE14F16 config SOC_MKE14F16
bool "MKE14F16" bool
select SOC_SERIES_KINETIS_KE1XF
config SOC_MKE16F16 config SOC_MKE16F16
bool "MKE16F16" bool
select HAS_MCUX_FLEXCAN select SOC_SERIES_KINETIS_KE1XF
config SOC_MKE18F16 config SOC_MKE18F16
bool "MKE18F16" bool
select HAS_MCUX_FLEXCAN select SOC_SERIES_KINETIS_KE1XF
endchoice
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 config SOC_PART_NUMBER_MKE14F256VLH16
bool bool
@ -58,8 +64,7 @@ config SOC_PART_NUMBER_MKE18F512VLH16
config SOC_PART_NUMBER_MKE18F512VLL16 config SOC_PART_NUMBER_MKE18F512VLL16
bool bool
config SOC_PART_NUMBER_KINETIS_KE1XF config SOC_PART_NUMBER
string
default "MKE14F256VLH16" if SOC_PART_NUMBER_MKE14F256VLH16 default "MKE14F256VLH16" if SOC_PART_NUMBER_MKE14F256VLH16
default "MKE14F256VLL16" if SOC_PART_NUMBER_MKE14F256VLL16 default "MKE14F256VLL16" if SOC_PART_NUMBER_MKE14F256VLL16
default "MKE14F512VLH16" if SOC_PART_NUMBER_MKE14F512VLH16 default "MKE14F512VLH16" if SOC_PART_NUMBER_MKE14F512VLH16
@ -72,32 +77,3 @@ config SOC_PART_NUMBER_KINETIS_KE1XF
default "MKE18F256VLL16" if SOC_PART_NUMBER_MKE18F256VLL16 default "MKE18F256VLL16" if SOC_PART_NUMBER_MKE18F256VLL16
default "MKE18F512VLH16" if SOC_PART_NUMBER_MKE18F512VLH16 default "MKE18F512VLH16" if SOC_PART_NUMBER_MKE18F512VLH16
default "MKE18F512VLL16" if SOC_PART_NUMBER_MKE18F512VLL16 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 @@
zephyr_sources(soc.c) zephyr_sources(soc.c)
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 "")
zephyr_include_directories(.)

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

@ -1,16 +1,23 @@
# Kinetis KL2x MCU series # Kinetis KL2x MCU series
# Copyright (c) 2017, NXP # Copyright (c) 2017, 2024 NXP
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_KINETIS_KL2X config SOC_SERIES_KINETIS_KL2X
bool "Kinetis KL2x Series MCU"
select ARM select ARM
select CPU_CORTEX_M0PLUS select CPU_CORTEX_M0PLUS
select SOC_FAMILY_KINETIS
select CPU_CORTEX_M_HAS_SYSTICK select CPU_CORTEX_M_HAS_SYSTICK
select CPU_CORTEX_M_HAS_VTOR select CPU_CORTEX_M_HAS_VTOR
select CLOCK_CONTROL select CLOCK_CONTROL
select PLATFORM_SPECIFIC_INIT 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 @@
# Kinetis KL2x series configuration options # Kinetis KL2x series configuration options
# Copyright (c) 2017, NXP # Copyright 2017, 2024 NXP
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
if SOC_SERIES_KINETIS_KL2X if SOC_SERIES_KINETIS_KL2X
config SOC_SERIES config NUM_IRQS
default "kl2x" default 32 if SOC_MKL25Z4
source "soc/soc_legacy/arm/nxp_kinetis/kl2x/Kconfig.defconfig.mk*"
endif # SOC_SERIES_KINETIS_KL2X 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 @@
# Kinetis KL2x MCU series # Kinetis KL2x MCU series
# Copyright (c) 2017, NXP # Copyright 2017,2024 NXP
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
choice config SOC_SERIES_KINETIS_KL2X
prompt "Kinetis KL2x MCU Selection" bool
depends on SOC_SERIES_KINETIS_KL2X select SOC_FAMILY_KINETIS
config SOC_MKL25Z4 config SOC_SERIES
bool "SOC_MKL25Z4" default "kl2x" if SOC_SERIES_KINETIS_KL2X
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
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 config SOC_PART_NUMBER_MKL25Z32VFM4
bool bool
@ -59,8 +53,7 @@ config SOC_PART_NUMBER_MKL25Z64VLK4
config SOC_PART_NUMBER_MKL25Z128VLK4 config SOC_PART_NUMBER_MKL25Z128VLK4
bool bool
config SOC_PART_NUMBER_KINETIS_KL2X config SOC_PART_NUMBER
string
default "MKL25Z32VFM4" if SOC_PART_NUMBER_MKL25Z32VFM4 default "MKL25Z32VFM4" if SOC_PART_NUMBER_MKL25Z32VFM4
default "MKL25Z64VFM4" if SOC_PART_NUMBER_MKL25Z64VFM4 default "MKL25Z64VFM4" if SOC_PART_NUMBER_MKL25Z64VFM4
default "MKL25Z128VFM4" if SOC_PART_NUMBER_MKL25Z128VFM4 default "MKL25Z128VFM4" if SOC_PART_NUMBER_MKL25Z128VFM4
@ -73,9 +66,3 @@ config SOC_PART_NUMBER_KINETIS_KL2X
default "MKL25Z32VLK4" if SOC_PART_NUMBER_MKL25Z32VLK4 default "MKL25Z32VLK4" if SOC_PART_NUMBER_MKL25Z32VLK4
default "MKL25Z64VLK4" if SOC_PART_NUMBER_MKL25Z64VLK4 default "MKL25Z64VLK4" if SOC_PART_NUMBER_MKL25Z64VLK4
default "MKL25Z128VLK4" if SOC_PART_NUMBER_MKL25Z128VLK4 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(
) )
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 "")
zephyr_include_directories(.)

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

@ -1,14 +1,13 @@
# Kinetis KV5x series MCU # Kinetis KV5x series MCU
# Copyright (c) 2019 SEAL AG # Copyright (c) 2019 SEAL AG
# Copyright 2024 NXP
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_KINETIS_KV5X config SOC_SERIES_KINETIS_KV5X
bool "Kinetis KV5x Series MCU"
select ARM select ARM
select CPU_CORTEX_M7 select CPU_CORTEX_M7
select CPU_CORTEX_M_HAS_DWT select CPU_CORTEX_M_HAS_DWT
select SOC_FAMILY_KINETIS
select CPU_HAS_ARM_MPU select CPU_HAS_ARM_MPU
select CPU_HAS_FPU select CPU_HAS_FPU
select CPU_HAS_ICACHE select CPU_HAS_ICACHE
@ -23,5 +22,3 @@ config SOC_SERIES_KINETIS_KV5X
select HAS_MCG select HAS_MCG
select HAS_MCUX_RCM select HAS_MCUX_RCM
select PLATFORM_SPECIFIC_INIT 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 @@
# Kinetis KV5x series configuration options # Kinetis KV5x series configuration options
# Copyright (c) 2019 SEAL AG # Copyright (c) 2019 SEAL AG
# Copyright 2024 NXP
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
if SOC_SERIES_KINETIS_KV5X if SOC_SERIES_KINETIS_KV5X
config SOC_SERIES
default "kv5x"
config NUM_IRQS config NUM_IRQS
# must be >= the highest interrupt number used # must be >= the highest interrupt number used
default 121 default 121
@ -15,6 +13,4 @@ config NUM_IRQS
config GPIO config GPIO
default y default y
source "soc/soc_legacy/arm/nxp_kinetis/kv5x/Kconfig.defconfig.mkv*"
endif # SOC_SERIES_KINETIS_KV5X 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 @@
# Kinetis KV5x series MCU # Kinetis KV5x series MCU
# Copyright (c) 2019 SEAL AG # Copyright (c) 2019 SEAL AG
# Copyright 2024 NXP
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
choice config SOC_SERIES_KINETIS_KV5X
prompt "Kinetis KV5x MCU Selection" bool
depends on SOC_SERIES_KINETIS_KV5X select SOC_FAMILY_KINETIS
config SOC_SERIES
default "kv5x" if SOC_SERIES_KINETIS_KV5X
config SOC_MKV56F24 config SOC_MKV56F24
bool "MKV56F24" bool
select SOC_SERIES_KINETIS_KV5X
config SOC_MKV58F24 config SOC_MKV58F24
bool "MKV58F24" bool
select SOC_SERIES_KINETIS_KV5X
endchoice
if SOC_SERIES_KINETIS_KV5X config SOC
default "mkv56f24" if SOC_MKV56F24
default "mkv58f24" if SOC_MKV58F24
config SOC_PART_NUMBER_MKV56F512VLL24 config SOC_PART_NUMBER_MKV56F512VLL24
bool bool
@ -41,8 +47,7 @@ config SOC_PART_NUMBER_MKV58F1M0VLL24
config SOC_PART_NUMBER_MKV58F1M0VLQ24 config SOC_PART_NUMBER_MKV58F1M0VLQ24
bool bool
config SOC_PART_NUMBER_KINETIS_KV5X config SOC_PART_NUMBER
string
default "MKV56F512VLL24" if SOC_PART_NUMBER_MKV56F512VLL24 default "MKV56F512VLL24" if SOC_PART_NUMBER_MKV56F512VLL24
default "MKV56F512VLQ24" if SOC_PART_NUMBER_MKV56F512VLQ24 default "MKV56F512VLQ24" if SOC_PART_NUMBER_MKV56F512VLQ24
default "MKV56F1M0VLL24" if SOC_PART_NUMBER_MKV56F1M0VLL24 default "MKV56F1M0VLL24" if SOC_PART_NUMBER_MKV56F1M0VLL24
@ -51,10 +56,3 @@ config SOC_PART_NUMBER_KINETIS_KV5X
default "MKV58F512VLQ24" if SOC_PART_NUMBER_MKV58F512VLQ24 default "MKV58F512VLQ24" if SOC_PART_NUMBER_MKV58F512VLQ24
default "MKV58F1M0VLL24" if SOC_PART_NUMBER_MKV58F1M0VLL24 default "MKV58F1M0VLL24" if SOC_PART_NUMBER_MKV58F1M0VLL24
default "MKV58F1M0VLQ24" if SOC_PART_NUMBER_MKV58F1M0VLQ24 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)
zephyr_sources_ifdef(CONFIG_SOC_MKW41Z4 soc_kw4xz.c) zephyr_sources_ifdef(CONFIG_SOC_MKW41Z4 soc_kw4xz.c)
zephyr_sources_ifdef(CONFIG_SOC_MKW40Z4 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 "") 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 @@
# Kinetis KWx MCU series # Kinetis KWx MCU series
# Copyright (c) 2017, NXP # Copyright (c) 2017, 2024 NXP
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
choice config SOC_SERIES_KINETIS_KWX
prompt "Kinetis KWx MCU Selection" select ARM
depends on SOC_SERIES_KINETIS_KWX select CPU_CORTEX_M_HAS_SYSTICK
select CPU_CORTEX_M_HAS_VTOR
select CLOCK_CONTROL
select PLATFORM_SPECIFIC_INIT
config SOC_MKW22D5 config SOC_MKW22D5
bool "SOC_MKW22D5"
select CPU_CORTEX_M4 select CPU_CORTEX_M4
select CPU_CORTEX_M_HAS_DWT select CPU_CORTEX_M_HAS_DWT
select HAS_MCUX select HAS_MCUX
@ -22,7 +24,6 @@ config SOC_MKW22D5
select HAS_MCUX_RCM select HAS_MCUX_RCM
config SOC_MKW24D5 config SOC_MKW24D5
bool "SOC_MKW24D5"
select CPU_CORTEX_M4 select CPU_CORTEX_M4
select CPU_CORTEX_M_HAS_DWT select CPU_CORTEX_M_HAS_DWT
select HAS_MCUX select HAS_MCUX
@ -36,7 +37,6 @@ config SOC_MKW24D5
select HAS_MCUX_RCM select HAS_MCUX_RCM
config SOC_MKW40Z4 config SOC_MKW40Z4
bool "SOC_MKW40Z4"
select CPU_CORTEX_M0PLUS select CPU_CORTEX_M0PLUS
select HAS_MCUX select HAS_MCUX
select HAS_MCUX_ADC16 select HAS_MCUX_ADC16
@ -48,7 +48,6 @@ config SOC_MKW40Z4
select HAS_MCUX_RCM select HAS_MCUX_RCM
config SOC_MKW41Z4 config SOC_MKW41Z4
bool "SOC_MKW41Z4"
select CPU_CORTEX_M0PLUS select CPU_CORTEX_M0PLUS
select HAS_MCUX select HAS_MCUX
select HAS_MCUX_ADC16 select HAS_MCUX_ADC16
@ -61,36 +60,3 @@ config SOC_MKW41Z4
select HAS_OSC select HAS_OSC
select HAS_MCG select HAS_MCG
select HAS_MCUX_RCM 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 @@
# 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 @@
# 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 @@
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 @@
# 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 @@
# 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 @@
# 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 @@
# 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 @@
# 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 @@
# 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 @@
# 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 @@
# 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 @@
# 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 @@
# 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 @@
# 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 @@
# 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 @@
# 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 @@
# 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 @@
# 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 @@
# 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 @@
# 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 @@
# 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 @@
# 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 @@
# 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 @@
# 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 @@
# 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