# 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 I2S
config I2S_SAM_SSC
	default y

config I2S_SAM_SSC_0_DMA_RX_CHANNEL
	default 22

config I2S_SAM_SSC_0_DMA_TX_CHANNEL
	default 23
endif # I2S

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"

config ETH_SAM_GMAC_MAC_I2C_EEPROM
	bool
	select I2C

endif # ETH_SAM_GMAC

if I2C

config I2C_SAM_TWIHS
	default y

config I2C_0
	default y

endif # I2C

endif # BOARD_SAM_E70_XPLAINED
