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

if BOARD_FRDM_KL25Z

config BOARD
	default frdm_kl25z

config OSC_XTAL0_FREQ
	default 8000000

config MCG_PRDIV0
	default 0x01

config MCG_VDIV0
	default 0x00

config MCG_FRDIV
	default 5

config MCG_FCRDIV
	default 0

config PINMUX
	def_bool y

if PINMUX_MCUX

config PINMUX_MCUX_PORTA
	def_bool y

config PINMUX_MCUX_PORTB
	def_bool y

config PINMUX_MCUX_PORTC
	def_bool y if SPI_0

config PINMUX_MCUX_PORTD
	def_bool y

config PINMUX_MCUX_PORTE
	def_bool y if I2C_0

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 n

config GPIO_MCUX_PORTD
	def_bool y

config GPIO_MCUX_PORTE
	def_bool n

endif # GPIO_MCUX

if UART_MCUX_LPSCI

config UART_MCUX_LPSCI_0
	def_bool y if UART_CONSOLE

endif # UART_MCUX_LPSCI

if I2C

config I2C_0
	def_bool y

endif # I2C

if ADC

config ADC_0
	def_bool y

endif # ADC

if SPI

config SPI_0
	def_bool y

if SPI_0

config SPI_0_IRQ_PRI
	default 0

endif # SPI_0

endif # SPI


endif # BOARD_FRDM_KL25Z
