MAC-адреса в модулях Q7 Baikal

MAC-адреса в модулях устанавливаются двумя способами:

Через переменные окружения U-boot

Вычитываются из I2C EEPROM 24AA025E48T-I/OT с прошитым EUI-48.

В розничных модулях по умолчанию используется 2-й способ.

Переменные окружения

В варианте, когда U-boot

I2C EEPROM с EUI-48

На модуле установлены 2 I2C EEPROM 24AA025E48T-I/OT.

Они работают на I2С-шине с контроллером 0x1f047000. На шине так же висит RTC, STM32 WD. Шина только на модуле, на разъем Q7 не выведена.

U-boot вычитывает EUI из EEPROM и устанавливает их в переменные U-boot ethaddr и eth1addr. Переопределять эти переменные нельзя.

EEPROM прописаны в DTS, поэтому драйвер atmel,24c02 добавляет их в sysfs.

[root@baikal_t1_uq7 ~]# hexdump -C /sys/bus/i2c/devices/1-0052/eeprom
00000000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
*
000000f0 ff ff ff ff ff ff ff ff ff ff 80 1f 12 30 0b d8 |.............0..|
00000100
[root@baikal_t1_uq7 ~]# hexdump -C /sys/bus/i2c/devices/1-0053/eeprom
00000000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
*
000000f0 ff ff ff ff ff ff ff ff ff ff 80 1f 12 30 73 8d |.............0s.|
00000100
[root@baikal_t1_uq7 ~]# i2cdetect -y -r 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- 1a -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- UU UU -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- UU -- 6a -- -- -- -- --
70: -- -- -- -- -- -- -- --
[root@baikal_t1_uq7 ~]#