From 34e2819d31bb3512e723ae775b8e3eab8cff29ad Mon Sep 17 00:00:00 2001 From: Wenyou Yang Date: Fri, 1 Sep 2017 16:26:17 +0800 Subject: [PATCH] board: sama5d2_xplained: Replace code to set mac address Replace the code to set the ethernet mac address with the code from the common folder. Signed-off-by: Wenyou Yang Reviewed-by: Simon Glass --- arch/arm/dts/at91-sama5d2_xplained.dts | 5 ++ .../atmel/sama5d2_xplained/sama5d2_xplained.c | 46 ++----------------- configs/sama5d2_xplained_mmc_defconfig | 1 + configs/sama5d2_xplained_spiflash_defconfig | 1 + include/configs/sama5d2_xplained.h | 4 -- 5 files changed, 11 insertions(+), 46 deletions(-) diff --git a/arch/arm/dts/at91-sama5d2_xplained.dts b/arch/arm/dts/at91-sama5d2_xplained.dts index 3e624f142c..b00aaa2c79 100644 --- a/arch/arm/dts/at91-sama5d2_xplained.dts +++ b/arch/arm/dts/at91-sama5d2_xplained.dts @@ -102,6 +102,11 @@ pinctrl-names = "default"; pinctrl-0 = <&pinctrl_i2c1_default>; status = "okay"; + + i2c_eeprom: i2c_eeprom@5c { + compatible = "atmel,24mac402"; + reg = <0x5c>; + }; }; pioA: gpio@fc038000 { diff --git a/board/atmel/sama5d2_xplained/sama5d2_xplained.c b/board/atmel/sama5d2_xplained/sama5d2_xplained.c index 3f0860c555..7e0cb4228f 100644 --- a/board/atmel/sama5d2_xplained/sama5d2_xplained.c +++ b/board/atmel/sama5d2_xplained/sama5d2_xplained.c @@ -8,8 +8,6 @@ #include #include #include -#include -#include #include #include #include @@ -161,50 +159,14 @@ int dram_init(void) return 0; } -#ifdef CONFIG_CMD_I2C -static int set_ethaddr_from_eeprom(void) -{ - const int ETH_ADDR_LEN = 6; - unsigned char ethaddr[ETH_ADDR_LEN]; - const char *ETHADDR_NAME = "ethaddr"; - struct udevice *bus, *dev; - - if (env_get(ETHADDR_NAME)) - return 0; - - if (uclass_get_device_by_seq(UCLASS_I2C, 1, &bus)) { - printf("Cannot find I2C bus 1\n"); - return -1; - } - - if (dm_i2c_probe(bus, AT24MAC_ADDR, 0, &dev)) { - printf("Failed to probe I2C chip\n"); - return -1; - } - - if (dm_i2c_read(dev, AT24MAC_REG, ethaddr, ETH_ADDR_LEN)) { - printf("Failed to read ethernet address from EEPROM\n"); - return -1; - } - - if (!is_valid_ethaddr(ethaddr)) { - printf("The ethernet address read from EEPROM is not valid!\n"); - return -1; - } - - return eth_env_set_enetaddr(ETHADDR_NAME, ethaddr); -} -#else -static int set_ethaddr_from_eeprom(void) -{ - return 0; -} -#endif +#define AT24MAC_MAC_OFFSET 0x9a #ifdef CONFIG_MISC_INIT_R int misc_init_r(void) { - set_ethaddr_from_eeprom(); +#ifdef CONFIG_I2C_EEPROM + at91_set_ethaddr(AT24MAC_MAC_OFFSET); +#endif return 0; } diff --git a/configs/sama5d2_xplained_mmc_defconfig b/configs/sama5d2_xplained_mmc_defconfig index dc4d991512..01c60e8fa1 100644 --- a/configs/sama5d2_xplained_mmc_defconfig +++ b/configs/sama5d2_xplained_mmc_defconfig @@ -51,6 +51,7 @@ CONFIG_DM_GPIO=y CONFIG_ATMEL_PIO4=y CONFIG_DM_I2C=y CONFIG_SYS_I2C_AT91=y +CONFIG_I2C_EEPROM=y CONFIG_DM_MMC=y CONFIG_MMC_SDHCI=y CONFIG_MMC_SDHCI_ATMEL=y diff --git a/configs/sama5d2_xplained_spiflash_defconfig b/configs/sama5d2_xplained_spiflash_defconfig index c64b8b8e3b..2ecedd98f5 100644 --- a/configs/sama5d2_xplained_spiflash_defconfig +++ b/configs/sama5d2_xplained_spiflash_defconfig @@ -49,6 +49,7 @@ CONFIG_DM_GPIO=y CONFIG_ATMEL_PIO4=y CONFIG_DM_I2C=y CONFIG_SYS_I2C_AT91=y +CONFIG_I2C_EEPROM=y CONFIG_DM_MMC=y CONFIG_MMC_SDHCI=y CONFIG_MMC_SDHCI_ATMEL=y diff --git a/include/configs/sama5d2_xplained.h b/include/configs/sama5d2_xplained.h index 9ceb91924d..891218d83e 100644 --- a/include/configs/sama5d2_xplained.h +++ b/include/configs/sama5d2_xplained.h @@ -35,10 +35,6 @@ #define CONFIG_SF_DEFAULT_SPEED 30000000 #endif -/* I2C */ -#define AT24MAC_ADDR 0x5c -#define AT24MAC_REG 0x9a - /* LCD */ #ifdef CONFIG_LCD -- 2.25.1