# Atmel SMART SAM E70 Xplained Board configuration

# Copyright (c) 2016 Piotr Mienkowski
# SPDX-License-Identifier: Apache-2.0

if BOARD_SAM_E70_XPLAINED

config BOARD
	default "sam_e70_xplained"

if ETH_SAM_GMAC

# Read MAC address from AT24MAC402 EEPROM

config ETH_SAM_GMAC_MAC_I2C_INT_ADDRESS
	default 0x9A

config ETH_SAM_GMAC_MAC_I2C_INT_ADDRESS_SIZE
	default 1

config ETH_SAM_GMAC_MAC_I2C_EEPROM
	default y
	select I2C

endif # ETH_SAM_GMAC

if NETWORKING

config NET_L2_ETHERNET
	default y

config ETH_SAM_GMAC
	default y if NET_L2_ETHERNET

endif # NETWORKING

endif # BOARD_SAM_E70_XPLAINED
