[U-Boot] [PATCH v4 3/3] board: sama5d4_xplained: Set mac address from eeprom
Wenyou Yang
wenyou.yang at microchip.com
Fri Sep 1 08:26:18 UTC 2017
Add the code to set the ethernet mac address from eeprom by using
the common code from the common folder.
Signed-off-by: Wenyou Yang <wenyou.yang at microchip.com>
---
Changes in v4:
- Rebase the latest commit(8b3cec7da) on uboot/master.
Changes in v3:
- remove CONFIG_SPL_I2C_SUPPORT=y from the default configuration files.
- rebase on [PATCH] misc: Makefile: Add condition on build i2c_eeprom.
https://lists.denx.de/pipermail/u-boot/2017-August/300783.html
Changes in v2:
- Add a new patch to create board/$(VENDOR)/common folder to
accommodate the common code and put the code to set the ethernet
mac address from eeprom here.
- Use the i2c_eeprom driver to read the mac address, instead of
the dm i2c API directly.
arch/arm/dts/at91-sama5d4_xplained.dts | 5 +++++
board/atmel/sama5d4_xplained/sama5d4_xplained.c | 12 ++++++++++++
configs/sama5d4_xplained_mmc_defconfig | 3 +++
configs/sama5d4_xplained_nandflash_defconfig | 3 +++
configs/sama5d4_xplained_spiflash_defconfig | 3 +++
include/configs/sama5d4_xplained.h | 2 ++
6 files changed, 28 insertions(+)
diff --git a/arch/arm/dts/at91-sama5d4_xplained.dts b/arch/arm/dts/at91-sama5d4_xplained.dts
index ca6aff28e5..0592b31b91 100644
--- a/arch/arm/dts/at91-sama5d4_xplained.dts
+++ b/arch/arm/dts/at91-sama5d4_xplained.dts
@@ -88,6 +88,11 @@
i2c0: i2c at f8014000 {
status = "okay";
+
+ i2c_eeprom: i2c_eeprom at 5c {
+ compatible = "atmel,24mac402";
+ reg = <0x5c>;
+ };
};
macb0: ethernet at f8020000 {
diff --git a/board/atmel/sama5d4_xplained/sama5d4_xplained.c b/board/atmel/sama5d4_xplained/sama5d4_xplained.c
index 854afcb622..248a31b8c4 100644
--- a/board/atmel/sama5d4_xplained/sama5d4_xplained.c
+++ b/board/atmel/sama5d4_xplained/sama5d4_xplained.c
@@ -192,6 +192,18 @@ int board_early_init_f(void)
}
#endif
+#define AT24MAC_MAC_OFFSET 0x9a
+
+#ifdef CONFIG_MISC_INIT_R
+int misc_init_r(void)
+{
+#ifdef CONFIG_I2C_EEPROM
+ at91_set_ethaddr(AT24MAC_MAC_OFFSET);
+#endif
+ return 0;
+}
+#endif
+
int board_init(void)
{
/* adress of boot parameters */
diff --git a/configs/sama5d4_xplained_mmc_defconfig b/configs/sama5d4_xplained_mmc_defconfig
index de0ce40a56..792d011718 100644
--- a/configs/sama5d4_xplained_mmc_defconfig
+++ b/configs/sama5d4_xplained_mmc_defconfig
@@ -47,6 +47,9 @@ CONFIG_AT91_UTMI=y
CONFIG_AT91_H32MX=y
CONFIG_DM_GPIO=y
CONFIG_AT91_GPIO=y
+CONFIG_DM_I2C=y
+CONFIG_SYS_I2C_AT91=y
+CONFIG_I2C_EEPROM=y
CONFIG_DM_MMC=y
CONFIG_GENERIC_ATMEL_MCI=y
CONFIG_DM_SPI_FLASH=y
diff --git a/configs/sama5d4_xplained_nandflash_defconfig b/configs/sama5d4_xplained_nandflash_defconfig
index cba3c8b640..3b0af5bf00 100644
--- a/configs/sama5d4_xplained_nandflash_defconfig
+++ b/configs/sama5d4_xplained_nandflash_defconfig
@@ -44,6 +44,9 @@ CONFIG_AT91_UTMI=y
CONFIG_AT91_H32MX=y
CONFIG_DM_GPIO=y
CONFIG_AT91_GPIO=y
+CONFIG_DM_I2C=y
+CONFIG_SYS_I2C_AT91=y
+CONFIG_I2C_EEPROM=y
CONFIG_DM_MMC=y
CONFIG_GENERIC_ATMEL_MCI=y
CONFIG_DM_SPI_FLASH=y
diff --git a/configs/sama5d4_xplained_spiflash_defconfig b/configs/sama5d4_xplained_spiflash_defconfig
index 174e2bc5ba..26eb00598c 100644
--- a/configs/sama5d4_xplained_spiflash_defconfig
+++ b/configs/sama5d4_xplained_spiflash_defconfig
@@ -46,6 +46,9 @@ CONFIG_AT91_UTMI=y
CONFIG_AT91_H32MX=y
CONFIG_DM_GPIO=y
CONFIG_AT91_GPIO=y
+CONFIG_DM_I2C=y
+CONFIG_SYS_I2C_AT91=y
+CONFIG_I2C_EEPROM=y
CONFIG_DM_MMC=y
CONFIG_GENERIC_ATMEL_MCI=y
CONFIG_DM_SPI_FLASH=y
diff --git a/include/configs/sama5d4_xplained.h b/include/configs/sama5d4_xplained.h
index c8462b0b64..08f865016d 100644
--- a/include/configs/sama5d4_xplained.h
+++ b/include/configs/sama5d4_xplained.h
@@ -12,6 +12,8 @@
#include "at91-sama5_common.h"
+#define CONFIG_MISC_INIT_R
+
/* SDRAM */
#define CONFIG_NR_DRAM_BANKS 1
#define CONFIG_SYS_SDRAM_BASE ATMEL_BASE_DDRCS
--
2.13.0
More information about the U-Boot
mailing list