# IP-K66F board

# Copyright (c) 2020 DENX Software Engineering GmbH
# SPDX-License-Identifier: Apache-2.0

if BOARD_IP_K66F

config BOARD
	default "ip_k66f"

config OSC_XTAL0_FREQ
	default 12000000

config MCG_PRDIV0
	default 0x0

config MCG_VDIV0
	default 0xe

config MCG_FCRDIV
	default 1

if NETWORKING

config NET_L2_ETHERNET
	default y

config ETH_MCUX
	default y if NET_L2_ETHERNET

config ETH_MCUX_0
	default y if ETH_MCUX

config ETH_MCUX_RMII_EXT_CLK
	default y if ETH_MCUX

config ETH_MCUX_NO_PHY_SMI
	default y if ETH_MCUX

endif # NETWORKING

if PINMUX_MCUX

config PINMUX_MCUX_PORTA
	default y

config PINMUX_MCUX_PORTB
	default y if "$(dt_nodelabel_enabled,spi1)" && SPI

config PINMUX_MCUX_PORTE
	default y if "$(dt_nodelabel_enabled,enet)" && NET_L2_ETHERNET

endif # PINMUX_MCUX

endif # BOARD_IP_K66F
