# Copyright 2023-2024 NXP
# SPDX-License-Identifier: Apache-2.0

if BOARD_MR_CANHUBK3

if SERIAL

config UART_CONSOLE
	default y

endif # SERIAL

if SPI

config SPI_INIT_PRIORITY
	default 50

if WDT_NXP_FS26

config WDT_NXP_FS26_INIT_PRIORITY
	default 51

endif # WDT_NXP_FS26
endif # SPI

if CAN

config GPIO
	default y

endif # CAN

if NETWORKING

config NET_L2_ETHERNET
	default y if !NET_LOOPBACK && !NET_TEST

config MDIO
	default y if NET_L2_ETHERNET

endif # NETWORKING

endif # BOARD_MR_CANHUBK3
