# FRDM-K82F board

# Copyright (c) 2019 SEAL AG
# SPDX-License-Identifier: Apache-2.0

if BOARD_FRDM_K82F

config BOARD
	default "frdm_k82f"

config OSC_XTAL0_FREQ
	default 12000000

config MCG_PRDIV0
	default 0x0

config MCG_VDIV0
	default 0x4

config MCG_FCRDIV
	default 1

if FLASH

config SPI
	default y

config SPI_NOR
	default y

endif # FXOS8700

config FXOS8700_DRDY_INT1
	default y
	depends on FXOS8700

if PINMUX_MCUX

config PINMUX_MCUX_PORTA
	default y

config PINMUX_MCUX_PORTB
	default y

config PINMUX_MCUX_PORTC
	default y

config PINMUX_MCUX_PORTD
	default y

config PINMUX_MCUX_PORTE
	default y

endif # PINMUX_MCUX

config SPI_1
	default y
	depends on SPI

endif # BOARD_FRDM_K82F
