I accidentally erased data from EEPROM when I was testing EEPROM. Now I start development board u-boot can't get ethaddr .
Detailed log follows:
U-Boot SPL 2016.092.0+g70d03aa (May 09 2017 - 10:28:52)
Initializing DDR....
Trying to boot from MMC1
U-Boot 2016.092.0+g70d03aa (May 09 2017 - 10:28:52 +0800)
SoC: unknown (0x87920410)
Clock Configuration:
CPU0(A53):1600 MHz CPU1(A53):1600 MHz CPU2(A53):1600 MHz
CPU3(A53):1600 MHz
Bus: 400 MHz DDR: 1600 MT/s FMAN: 500 MHz
Reset Configuration Word (RCW):
00000000: 08100010 0a000000 00000000 00000000
00000010: 14550002 80004012 80040000 c1002000
00000020: 00000000 00000000 00000000 0003c802
00000030: 00000040 00001100 00000096 00000001
Model: LS1043A MGW Board
I2C: ready
DRAM: Detected UDIMM Fixed DDR on board
2 GiB (DDR4, 32-bit, CL=11, ECC off)
SEC0: RNG instantiated
PSCI: PSCI does not exist.
Waking secondary cores to start from ffd1f000
All (4) cores are up.
Using SERDES1 Protocol: 5205 (0x1455)
MMC: FSL_SDHC: 0
*** Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial
ls1043amgw Net:
ls1043amgw MMC read: dev # 0, block # 2080, count 128 ...
Fman1: Uploading microcode version 108.4.5
ls1043amgw PCIe0: pcie@3400000 disabled
ls1043amgw PCIe1: pcie@3500000 Root Complex: no link
ls1043amgw PCIe2: pcie@3600000 Root Complex: no link
FM1@DTSEC1
ls1043amgw Error: FM1@DTSEC1 address not set.
, FM1@DTSEC2
ls1043amgw Error: FM1@DTSEC2 address not set.
, FM1@DTSEC3 [PRIME]
ls1043amgw Error: FM1@DTSEC3 address not set.
, FM1@DTSEC4
ls1043amgw Error: FM1@DTSEC4 address not set.
, FM1@DTSEC5
ls1043amgw Error: FM1@DTSEC5 address not set.
, FM1@DTSEC6
ls1043amgw Error: FM1@DTSEC6 address not set.
, FM1@TGEC1
ls1043amgw Error: FM1@TGEC1 address not set.
Hit any key to stop autoboot: 0
=>
How do I write my MAC?
MAC addresses are stored as U-Boot environment variables.
To create/update ethernet address it is needed to execute U-Boot commands like:
setenv ethaddr 00:11:22:33:44:55
...
saveenv
Further addresses are: eth1addr, eth2addr, etc.
Thank you reply my question.
But I want know how to write MAC address to EEPROM.
> LS1043A MGW Board
What is the MGW board?
“MGW” is only my u-boot log.
I still use ls1043ardb development board.
> I accidentally erased data from EEPROM
Which EEPROM you have erased? What is its schematics name?
I erased SPD EEPROM, schematic diagram as follows:
The SPD EEPROM contains SPD data - it does not contain MAC addresses.
As I wrote previously, the MAC addresses are stored as U-Boot environment variables.
You can do an experiment:
1. Erased U-boot environment,than start you development board.
2. Input "print" command ,see u-boot environment.
Is there an MAC address?
Persistent storage of the MACs is implemented in the I2C EEPROM with address 0x53.
It has the following structure:
Header:
0000: 4e 58 49 44 54 52 31 35 33 32 30 30 30 35 00 00 NXIDTR15320005..
0010: 31 2e 30 00 00 15 08 11 18 06 18 ff 00 00 00 01 1.0.............
Number of MACs (1 byte):
0040:
MACs (6 bytes each):
0042:
0048:
etc.
CRC32 (4 bytes):
00fc:
To calculate CRC32 for the data bytes it is needed to execute U-Boot command:
=> i2c crc32 53 0 fc