@@ -267,8 +267,9 @@ int misc_init_r(void)
dspwake();
-#ifdef CONFIG_MAC_ADDR_IN_SPIFLASH
+#if defined(CONFIG_MAC_ADDR_IN_SPIFLASH) || defined(CONFIG_MAC_ADDR_IN_EEPROM)
if (!eth_getenv_enetaddr("ethaddr", buff)) {
+#ifdef CONFIG_MAC_ADDR_IN_SPIFLASH
ret = get_mac_addr(buff);
if (ret != 0)
return -EINVAL;
@@ -282,6 +283,12 @@ int misc_init_r(void)
sprintf((char *)enetaddr, "%pM", buff);
eth_setenv_enetaddr("ethaddr", enetaddr);
+#else
+ /* Read Ethernet MAC address from EEPROM */
+ if (dvevm_read_mac_address(enetaddr))
+ /* Set Ethernet MAC address from EEPROM */
+ davinci_sync_env_enetaddr(enetaddr);
+#endif
}
#endif
return 0;
@@ -93,6 +93,12 @@
#define CONFIG_SYS_I2C_EXPANDER_ADDR 0x20
/*
+ * I2C EEPROM definitions EEPROM chip
+ */
+#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 2
+#define CONFIG_SYS_I2C_EEPROM_ADDR 0x50
+
+/*
* Flash & Environment
*/
#ifdef CONFIG_USE_NAND
@@ -173,6 +179,7 @@
#define CONFIG_SYS_LONGHELP
#define CONFIG_CRC32_VERIFY
#define CONFIG_MX_CYCLIC
+#define CONFIG_MAC_ADDR_IN_EEPROM
/*
* Linux Information