# Kconfig - FRDM-K64F board
#
# Copyright (c) 2016, Freescale Semiconductor, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#

if BOARD_FRDM_K64F

config BOARD
	default "frdm_k64f"

config OSC_XTAL0_FREQ
	default 50000000

config MCG_PRDIV0
	default 0x13

config MCG_VDIV0
	default 0x18

config MCG_FCRDIV
	default 1

if UART_MCUX

config UART_MCUX_0
	def_bool y if UART_CONSOLE

config UART_MCUX_3
	def_bool y if BT_UART

endif # UART_MCUX

if PINMUX_MCUX

config PINMUX_MCUX_PORTA
	def_bool y

config PINMUX_MCUX_PORTB
	def_bool y

config PINMUX_MCUX_PORTC
	def_bool y

config PINMUX_MCUX_PORTD
	def_bool y if SPI_0

config PINMUX_MCUX_PORTE
	def_bool y

endif # PINMUX_MCUX

if GPIO_MCUX

config GPIO_MCUX_PORTA
	def_bool y

config GPIO_MCUX_PORTB
	def_bool y

config GPIO_MCUX_PORTC
	def_bool y

config GPIO_MCUX_PORTD
	def_bool y

config GPIO_MCUX_PORTE
	def_bool y

endif # GPIO_MCUX

if I2C

config I2C_0
	def_bool y

config I2C_1
	def_bool n

endif # I2C

if ADC

config ADC_1
	def_bool y

endif # ADC

if PWM_MCUX_FTM

config PWM_3
	def_bool y

endif # PWM_MCUX_FTM

if SPI

config SPI_0
	def_bool y

config SPI_1
	def_bool n

config SPI_2
	def_bool n

endif # SPI

if NETWORKING

config NET_L2_ETHERNET
	def_bool y

config ETH_MCUX_0
	def_bool y if NET_L2_ETHERNET

endif # NETWORKING

endif # BOARD_FRDM_K64F
