# Kinetis K6X MCU line

# Copyright (c) 2016 Open-RnD Sp. z o.o.
# SPDX-License-Identifier: Apache-2.0

choice
	prompt "Kinetis K6x MCU Selection"
	depends on 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

endchoice

if SOC_SERIES_KINETIS_K6X

config SOC_PART_NUMBER_MK64FN1M0CAJ12
	bool

config SOC_PART_NUMBER_MK64FN1M0VDC12
	bool

config SOC_PART_NUMBER_MK64FN1M0VLL12
	bool

config SOC_PART_NUMBER_MK64FN1M0VLQ12
	bool

config SOC_PART_NUMBER_MK64FN1M0VMD12
	bool

config SOC_PART_NUMBER_MK64FX512VDC12
	bool

config SOC_PART_NUMBER_MK64FX512VLL12
	bool

config SOC_PART_NUMBER_MK64FX512VLQ12
	bool

config SOC_PART_NUMBER_MK64FX512VMD12
	bool

config SOC_PART_NUMBER_KINETIS_K6X
	string
	default "MK64FN1M0CAJ12" if SOC_PART_NUMBER_MK64FN1M0CAJ12
	default "MK64FN1M0VDC12" if SOC_PART_NUMBER_MK64FN1M0VDC12
	default "MK64FN1M0VLL12" if SOC_PART_NUMBER_MK64FN1M0VLL12
	default "MK64FN1M0VLQ12" if SOC_PART_NUMBER_MK64FN1M0VLQ12
	default "MK64FN1M0VMD12" if SOC_PART_NUMBER_MK64FN1M0VMD12
	default "MK64FX512VDC12" if SOC_PART_NUMBER_MK64FX512VDC12
	default "MK64FX512VLL12" if SOC_PART_NUMBER_MK64FX512VLL12
	default "MK64FX512VLQ12" if SOC_PART_NUMBER_MK64FX512VLQ12
	default "MK64FX512VMD12" if SOC_PART_NUMBER_MK64FX512VMD12
	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 K64_CORE_CLOCK_DIVIDER
	int "Freescale K64 core clock divider"
	default 1
	help
	  This option specifies the divide value for the K64 processor core clock
	  from the system clock.

config K64_BUS_CLOCK_DIVIDER
	int "Freescale K64 bus clock divider"
	default 2
	help
	  This option specifies the divide value for the K64 bus clock from the
	  system clock.

config K64_FLEXBUS_CLOCK_DIVIDER
	int "Freescale K64 FlexBus clock divider"
	default 3
	help
	  This option specifies the divide value for the K64 FlexBus clock from the
	  system clock.

config K64_FLASH_CLOCK_DIVIDER
	int "Freescale K64 flash clock divider"
	default 5
	help
	  This option specifies the divide value for the K64 flash clock from the
	  system clock.

config WDOG_INIT
	def_bool y
	help
	  This processor enables the watchdog timer with a short timeout
	  upon reset. Therefore, this requires that the watchdog be configured
	  during reset handling.

endif # SOC_SERIES_KINETIS_K6X
