summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWenyou Yang <wenyou.yang@microchip.com>2017-09-01 16:26:17 +0800
committerTom Rini <trini@konsulko.com>2017-09-11 16:23:07 -0400
commit34e2819d31bb3512e723ae775b8e3eab8cff29ad (patch)
tree3f0b056742bf7e46b3e46c7ecf67f9314ca3d3e1
parentd9b23e26f0b663752e915763d6e2da2fd12fe4b2 (diff)
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 <wenyou.yang@microchip.com> Reviewed-by: Simon Glass <sjg@chromium.org>
-rw-r--r--arch/arm/dts/at91-sama5d2_xplained.dts5
-rw-r--r--board/atmel/sama5d2_xplained/sama5d2_xplained.c46
-rw-r--r--configs/sama5d2_xplained_mmc_defconfig1
-rw-r--r--configs/sama5d2_xplained_spiflash_defconfig1
-rw-r--r--include/configs/sama5d2_xplained.h4
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 <common.h>
#include <atmel_hlcdc.h>
#include <debug_uart.h>
-#include <dm.h>
-#include <i2c.h>
#include <lcd.h>
#include <version.h>
#include <asm/io.h>
@@ -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