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>
This commit is contained in:
parent
d9b23e26f0
commit
34e2819d31
@ -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 {
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -35,10 +35,6 @@
|
||||
#define CONFIG_SF_DEFAULT_SPEED 30000000
|
||||
#endif
|
||||
|
||||
/* I2C */
|
||||
#define AT24MAC_ADDR 0x5c
|
||||
#define AT24MAC_REG 0x9a
|
||||
|
||||
/* LCD */
|
||||
|
||||
#ifdef CONFIG_LCD
|
||||
|
Loading…
Reference in New Issue
Block a user