[U-Boot] [PATCH v3 2/3] board: sama5d2_xplained: Replace code to set mac address

Wenyou Yang wenyou.yang at microchip.com
Wed Aug 2 08:08:39 UTC 2017


Replace the code to set the ethernet mac address with the code from
the common folder.

Signed-off-by: Wenyou Yang <wenyou.yang at microchip.com>
---

Changes in v3: None
Changes in v2: None

 arch/arm/dts/at91-sama5d2_xplained.dts          |  5 +++
 board/atmel/sama5d2_xplained/sama5d2_xplained.c | 47 +++----------------------
 configs/sama5d2_xplained_mmc_defconfig          |  1 +
 configs/sama5d2_xplained_spiflash_defconfig     |  1 +
 include/configs/sama5d2_xplained.h              |  4 ---
 5 files changed, 11 insertions(+), 47 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 at 5c {
+					compatible = "atmel,24mac402";
+					reg = <0x5c>;
+				};
 			};
 
 			pioA: gpio at fc038000 {
diff --git a/board/atmel/sama5d2_xplained/sama5d2_xplained.c b/board/atmel/sama5d2_xplained/sama5d2_xplained.c
index 48f45b35ce..fce931d95f 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,51 +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 (getenv(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_setenv_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;
 }
 #endif
diff --git a/configs/sama5d2_xplained_mmc_defconfig b/configs/sama5d2_xplained_mmc_defconfig
index e9a65ccb9d..3667ddfd14 100644
--- a/configs/sama5d2_xplained_mmc_defconfig
+++ b/configs/sama5d2_xplained_mmc_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/configs/sama5d2_xplained_spiflash_defconfig b/configs/sama5d2_xplained_spiflash_defconfig
index 8b9c0ccd2a..343c96b92a 100644
--- a/configs/sama5d2_xplained_spiflash_defconfig
+++ b/configs/sama5d2_xplained_spiflash_defconfig
@@ -47,6 +47,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 42fb1e11d0..bcddd5b0fe 100644
--- a/include/configs/sama5d2_xplained.h
+++ b/include/configs/sama5d2_xplained.h
@@ -38,10 +38,6 @@
 /* NAND flash */
 #undef CONFIG_CMD_NAND
 
-/* I2C */
-#define AT24MAC_ADDR		0x5c
-#define AT24MAC_REG		0x9a
-
 /* LCD */
 
 #ifdef CONFIG_LCD
-- 
2.13.0



More information about the U-Boot mailing list