Linux preempt-rt

Check our new training course

Real-Time Linux with PREEMPT_RT

Check our new training course
with Creative Commons CC-BY-SA
lecture and lab materials

Bootlin logo

Elixir Cross Referencer

# Kconfig - Kinetis K6X MCU line
#
# Copyright (c) 2016 Open-RnD Sp. z o.o.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

choice
prompt "Kinetis K6x MCU Selection"
depends on SOC_SERIES_KINETIS_K6X

config SOC_MK64F12
	bool "SOC_MK64F12"
	select HAS_KSDK
	select HAS_OSC
	select HAS_MCG
	select HAS_RNGA
	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
	prompt "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
	prompt "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
	prompt "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
	prompt "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
	# omit prompt to signify a "hidden" option
	help
	This processor enables the watchdog timer with a short timeout
	upon reset. Therefore, this requires that the watchdog be configured
	during reset handling.

config PRESERVE_JTAG_IO_PINS
	bool "Kinetis K6x JTAG pin usage"
	depends on PINMUX
	default y
	help
	The FRDM-K64F board routes the PTA0/1/2 pins as JTAG/SWD signals that
	are used for the OpenSDAv2 debug interface.  These pins are also routed to
	the Arduino header as D8, D3 and D5, respectively.
	Enable this option to preserve these pins for the debug interface.

endif # SOC_SERIES_KINETIS_K6X