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

if BOARD_HEXIWEAR_K64

config BOARD
	default "hexiwear_k64"

config OSC_XTAL0_FREQ
	default 12000000

config MCG_PRDIV0
	default 0x02

config MCG_VDIV0
	default 0x06

config MCG_FCRDIV
	default 1

if UART_MCUX

config UART_MCUX_0
	def_bool y if UART_CONSOLE

config UART_MCUX_4
	def_bool y if BT_UART

endif # UART_MCUX

if PINMUX_MCUX

config PINMUX_MCUX_PORTA
	def_bool y if MAX30101

config PINMUX_MCUX_PORTB
	def_bool y if UART_MCUX_0

config PINMUX_MCUX_PORTC
	def_bool y

config PINMUX_MCUX_PORTD
	def_bool y

config PINMUX_MCUX_PORTE
	def_bool y if UART_MCUX_4

endif # PINMUX_MCUX

if GPIO_MCUX

config GPIO_MCUX_PORTA
	def_bool y if MAX30101

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 y

endif # I2C

if ADC

config ADC_0
	def_bool y

config BATTERY_SENSE
	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 NET_L2_ETHERNET

config ETH_MCUX_0
	def_bool y

endif # NET_L2_ETHERNET

endif # BOARD_HEXIWEAR_K64
