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>
This commit is contained in:
committed by
Carles Cufi
parent
89f0a6034b
commit
666a353409
@@ -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
|
||||
bool
|
||||
default WDOG_ENABLE_AT_BOOT
|
||||
|
||||
|
||||
rsource "*/Kconfig"
|
||||
|
||||
endif # SOC_FAMILY_KINETIS
|
||||
@@ -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
|
||||
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
Normal file
10
soc/nxp/kinetis/Kconfig.soc
Normal file
@@ -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"
|
||||
@@ -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)
|
||||
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 "")
|
||||
@@ -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
|
||||
# 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
|
||||
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
|
||||
@@ -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 @@
|
||||
|
||||
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
Normal file
40
soc/nxp/kinetis/k2x/Kconfig.soc
Normal file
@@ -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
|
||||
@@ -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
Normal file
59
soc/nxp/kinetis/k6x/Kconfig
Normal file
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
bool
|
||||
select SOC_SERIES_KINETIS_K6X
|
||||
|
||||
endchoice
|
||||
|
||||
if 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
|
||||
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
|
||||
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
|
||||
@@ -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 "")
|
||||
@@ -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
|
||||
@@ -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
|
||||
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
Normal file
42
soc/nxp/kinetis/k8x/Kconfig.soc
Normal file
@@ -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
|
||||
@@ -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
Normal file
68
soc/nxp/kinetis/ke1xf/Kconfig
Normal file
@@ -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
|
||||
@@ -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
|
||||
config GPIO
|
||||
default y
|
||||
|
||||
source "soc/soc_legacy/arm/nxp_kinetis/ke1xf/Kconfig.defconfig.mke*"
|
||||
|
||||
endif # SOC_SERIES_KINETIS_KE1XF
|
||||
@@ -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
|
||||
bool
|
||||
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
|
||||
bool
|
||||
@@ -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
|
||||
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
|
||||
@@ -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(.)
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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_SERIES
|
||||
default "kl2x" if SOC_SERIES_KINETIS_KL2X
|
||||
|
||||
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
|
||||
bool
|
||||
select SOC_SERIES_KINETIS_KL2X
|
||||
|
||||
endchoice
|
||||
|
||||
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
|
||||
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
|
||||
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
|
||||
@@ -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(.)
|
||||
@@ -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
|
||||
select HAS_MCG
|
||||
select HAS_MCUX_RCM
|
||||
select PLATFORM_SPECIFIC_INIT
|
||||
help
|
||||
Enable support for Kinetis KV5x MCU series
|
||||
@@ -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
|
||||
config GPIO
|
||||
default y
|
||||
|
||||
source "soc/soc_legacy/arm/nxp_kinetis/kv5x/Kconfig.defconfig.mkv*"
|
||||
|
||||
endif # SOC_SERIES_KINETIS_KV5X
|
||||
@@ -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"
|
||||
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
|
||||
bool
|
||||
@@ -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
|
||||
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
|
||||
@@ -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 "")
|
||||
@@ -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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
Normal file
34
soc/nxp/kinetis/kwx/Kconfig.defconfig
Normal file
@@ -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
Normal file
55
soc/nxp/kinetis/kwx/Kconfig.soc
Normal file
@@ -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
|
||||
31
soc/nxp/kinetis/soc.yml
Normal file
31
soc/nxp/kinetis/soc.yml
Normal file
@@ -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
|
||||
@@ -1,4 +0,0 @@
|
||||
# Copyright (c) 2016 Intel Corporation
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
source "soc/soc_legacy/arm/nxp_kinetis/*/Kconfig.series"
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user