# Kconfig - FRDM-KW41Z board
#
# Copyright (c) 2017, NXP
#
# SPDX-License-Identifier: Apache-2.0
#

if BOARD_FRDM_KW41Z

config BOARD
	default frdm_kw41z

config OSC_XTAL0_FREQ
	default 32000000

config MCG_FRDIV
	default 5

config MCG_FCRDIV
	default 0

if PINMUX_MCUX

config PINMUX_MCUX_PORTA
	def_bool y

config PINMUX_MCUX_PORTB
	def_bool y if ADC_0

config PINMUX_MCUX_PORTC
	def_bool y

endif # PINMUX_MCUX

if GPIO_MCUX

config GPIO_MCUX_PORTA
	def_bool y

config GPIO_MCUX_PORTB
	def_bool n

config GPIO_MCUX_PORTC
	def_bool y

endif # GPIO_MCUX

if UART_MCUX_LPUART

config UART_MCUX_LPUART_0
	def_bool y if UART_CONSOLE

endif # UART_MCUX

if I2C

config I2C_1
	def_bool y

endif # I2C

if ADC

config ADC_0
	def_bool y

endif # ADC

if FXOS8700

config FXOS8700_DRDY_INT1
	def_bool y

endif # FXOS8700

if SPI

config SPI_0
	def_bool y

endif # SPI

endif # BOARD_FRDM_KW41Z
