# 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
	default y

config PINMUX_MCUX_PORTB
	default y if ADC_0

config PINMUX_MCUX_PORTC
	default y

endif # PINMUX_MCUX

if GPIO_MCUX

config GPIO_MCUX_PORTA
	default y

config GPIO_MCUX_PORTB
	default n

config GPIO_MCUX_PORTC
	default y

endif # GPIO_MCUX

config UART_MCUX_LPUART_0
	default y if UART_CONSOLE
	depends on UART_MCUX_LPUART

config I2C_1
	default y
	depends on I2C

config ADC_0
	default y
	depends on ADC

config FXOS8700_DRDY_INT1
	default y
	depends on FXOS8700

config SPI_0
	default y
	depends on SPI

choice ADC_MCUX_ADC16_VREF
	default ADC_MCUX_ADC16_VREF_ALTERNATE
endchoice

endif # BOARD_FRDM_KW41Z
