LS1043ARDB development board how to get MAC

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

LS1043ARDB development board how to get MAC

2,304 Views
zhoujianyun19
Contributor III

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?

0 Kudos
Reply
9 Replies

1,908 Views
ufedor
NXP Employee
NXP Employee

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.

0 Kudos
Reply

1,908 Views
zhoujianyun19
Contributor III

Thank you reply my question.

But I want know how to  write MAC address to EEPROM.

0 Kudos
Reply

1,908 Views
ufedor
NXP Employee
NXP Employee

> LS1043A MGW Board

What is the MGW board?

0 Kudos
Reply

1,908 Views
zhoujianyun19
Contributor III

    “MGW” is only my u-boot log.

    I still use ls1043ardb development board.

0 Kudos
Reply

1,908 Views
ufedor
NXP Employee
NXP Employee

> I accidentally erased data from EEPROM

Which EEPROM you have erased? What is its schematics name?

0 Kudos
Reply

1,908 Views
zhoujianyun19
Contributor III

   I erased SPD EEPROM,  schematic diagram as follows:

pastedImage_1.png

0 Kudos
Reply

1,908 Views
ufedor
NXP Employee
NXP Employee

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.

0 Kudos
Reply

1,908 Views
zhoujianyun19
Contributor III

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?

0 Kudos
Reply

1,908 Views
ufedor
NXP Employee
NXP Employee

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