mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-07-06 03:06:16 +09:00
ARM64: zynqmp: Add support for reading MAC from eeprom
Add support for on board eeprom with programmed MAC for using in u-boot to have uniq address for every board. Most of the time uniq MAC address is on a label on the board. If address is not programmed use these command to program it. On zcu102: ZynqMP> mm.b 0 00000000: 00 ? 00 00000001: a0 ? 0a 00000002: 35 ? 35 00000003: 02 ? 02 00000004: 00 ? ef 00000005: 00 ? 67 00000006: 00 ? q i2c dev 5 i2c write 0 54 20 6 i2c md 54 20 Signed-off-by: Michal Simek <michal.simek@xilinx.com>
This commit is contained in:
parent
a1207de0e6
commit
6919b4bf36
|
@ -15,6 +15,7 @@
|
||||||
#include <asm/io.h>
|
#include <asm/io.h>
|
||||||
#include <usb.h>
|
#include <usb.h>
|
||||||
#include <dwc3-uboot.h>
|
#include <dwc3-uboot.h>
|
||||||
|
#include <i2c.h>
|
||||||
|
|
||||||
DECLARE_GLOBAL_DATA_PTR;
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
|
@ -50,6 +51,22 @@ int board_early_init_r(void)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int zynq_board_read_rom_ethaddr(unsigned char *ethaddr)
|
||||||
|
{
|
||||||
|
#if defined(CONFIG_ZYNQ_GEM_EEPROM_ADDR) && \
|
||||||
|
defined(CONFIG_ZYNQ_GEM_I2C_MAC_OFFSET) && \
|
||||||
|
defined(CONFIG_ZYNQ_EEPROM_BUS)
|
||||||
|
i2c_set_bus_num(CONFIG_ZYNQ_EEPROM_BUS);
|
||||||
|
|
||||||
|
if (eeprom_read(CONFIG_ZYNQ_GEM_EEPROM_ADDR,
|
||||||
|
CONFIG_ZYNQ_GEM_I2C_MAC_OFFSET,
|
||||||
|
ethaddr, 6))
|
||||||
|
printf("I2C EEPROM MAC address read failed\n");
|
||||||
|
#endif
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
#if !defined(CONFIG_SYS_SDRAM_BASE) && !defined(CONFIG_SYS_SDRAM_SIZE)
|
#if !defined(CONFIG_SYS_SDRAM_BASE) && !defined(CONFIG_SYS_SDRAM_SIZE)
|
||||||
/*
|
/*
|
||||||
* fdt_get_reg - Fill buffer by information from DT
|
* fdt_get_reg - Fill buffer by information from DT
|
||||||
|
|
|
@ -48,6 +48,12 @@
|
||||||
|
|
||||||
#define CONFIG_IDENT_STRING " Xilinx ZynqMP ZCU102"
|
#define CONFIG_IDENT_STRING " Xilinx ZynqMP ZCU102"
|
||||||
|
|
||||||
|
#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1
|
||||||
|
#define CONFIG_CMD_EEPROM
|
||||||
|
#define CONFIG_ZYNQ_EEPROM_BUS 5
|
||||||
|
#define CONFIG_ZYNQ_GEM_EEPROM_ADDR 0x54
|
||||||
|
#define CONFIG_ZYNQ_GEM_I2C_MAC_OFFSET 0x20
|
||||||
|
|
||||||
#define CONFIG_KERNEL_FDT_OFST_SIZE \
|
#define CONFIG_KERNEL_FDT_OFST_SIZE \
|
||||||
"kernel_offset=0x180000\0" \
|
"kernel_offset=0x180000\0" \
|
||||||
"fdt_offset=0x100000\0" \
|
"fdt_offset=0x100000\0" \
|
||||||
|
|
Loading…
Reference in New Issue
Block a user