# Kinetis K8x series MCU

# Copyright (c) 2019 SEAL AG
# 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

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
	help
	  This option specifies the divide value for the K8x processor core clock
	  from the system clock.

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

config K8X_FLEXBUS_CLOCK_DIVIDER
	int "Freescale K8x FlexBus clock divider"
	default 2
	help
	  This option specifies the divide value for the K8x FlexBus clock from the
	  system clock.

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

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

endif # SOC_SERIES_KINETIS_K8X
