# Kconfig - 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
	string
	default sam_e70_xplained

if ETH_SAM_GMAC

# Read MAC address from AT24MAC402 EEPROM

choice ETH_SAM_GMAC_MAC_SELECT
	default ETH_SAM_GMAC_MAC_I2C_EEPROM
endchoice

config ETH_SAM_GMAC_MAC_I2C_SLAVE_ADDRESS
	hex
	default 0x5F

config ETH_SAM_GMAC_MAC_I2C_INT_ADDRESS
	hex
	default 0x9A

config ETH_SAM_GMAC_MAC_I2C_INT_ADDRESS_SIZE
	int
	default 1

config ETH_SAM_GMAC_MAC_I2C_DEV_NAME
	string
	default "I2C_0"

# Configure I2C bus driver

config ETH_SAM_GMAC_MAC_I2C_EEPROM
	bool
	select I2C
	select TWIHS_SAM
	select I2C_0

config I2C_0_DEFAULT_CFG
	hex
	default 0x12

config I2C_0_IRQ_PRI
	int
	default 0

endif # ETH_SAM_GMAC

endif # BOARD_SAM_E70_XPLAINED
