Добрый день!
Пытаюсь настроить u-boot для своей платы (Zynq).
На плате несколько ethernet.
Проблема в том, что, как я понял, u-boot доходит до первого (первого по адресу) ethernet. Т.к. я его пока не использую, то мне в терминал приходит сообщение:
Код
ethernet@e000b000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
И все, до следующего ethernet уже не идет. А я его как раз использую.
Собственно вопрос, как заставить u-boot использовать нужный мне ethernet?Инфа с терминала по u-boot
Код
U-Boot 2018.01-06474-g1c81b42-dirty (Jun 29 2018 - 16:41:07 +0300)
Board: Xilinx Zynq
Silicon: v3.1
DRAM: ECC disabled 1 GiB
MMC: sdhci@e0100000: 0 (SD)
Invalid bus 0 (err=-19)
*** Warning - spi_flash_probe_bus_cs() failed, using default environment
In: serial@e0000000
Out: serial@e0000000
Err: serial@e0000000
Net: ZYNQ GEM: e000b000, phyaddr 0, interface rgmii-id
eth0: ethernet@e000b000
reading uEnv.txt
166 bytes read in 11 ms (14.6 KiB/s)
Importing environment from SD ...
Hit any key to stop autoboot: 0
настройка dts (все что касается ethernet)
Код
aliases {
ethernet0 = &gem0;
...
...
};
&gem0 {
phy-mode = "rgmii-id";
status = "okay";
xlnx,ptp-enet-clock = <0x7f28150>;
phy-handle = <ðernet_phy>;
ethernet_phy: ethernet-phy@0 {
reg = <0>;
device_type = "ethernet-phy";
};
};
В ReadMe по U-boot нашел такую вещь как:
ethrotate - When set to "no" U-Boot does not go through all available network interfaces. It just stays at the currently selected interface.
Попробовал выставить его в "yes", что бы пробежаться по всем ethernet, но это ни к чему не привело.
mii info
Код
PHY 0x05: OUI = 0x0885, Model = 0x22, Rev = 0x02, 100baseT, FDX
PHY 0x07: OUI = 0x0885, Model = 0x22, Rev = 0x02, 10baseT, HDX
Тоже интересный момент. Ethernet должен быть 1000baseX.
Если есть какие-то идеи подкиньте плиз.