attaboy 0 10 января, 2022 Опубликовано 10 января, 2022 · Жалоба Продолжая тему "изучения" ZYNQ. Установил Vivado 2021.2 и petalinux 2021.2 В Vivado сделал простой проект, скомпилировал, создал файл *.xsa. Железо - плата ZC706, но там вместо оригинального 7Z045 стоит pin-compatible 7Z035, поэтому готовый bsp для ZC706 использовать нельзя. В petalinux на основе ug1144 сконфигурировал проект, собрал, скопировал все необходимые загрузочные файлы на SD-карту: boot.scr BOOT.BIN image.ub Подключаю консоль, включаю питание. В принципе Linux грузится, появляется командная строка. По моргающим светодиодам я вижу, что моя прошивка загрузилась и работает. Не работает Ethernet. В сообщениях консоли во время загрузки я вижу: macb e000b000.ethernet eth0: Cadence GEM rev 0x00020118 at 0xe000b000 irq 35 (00:0a:35:00:1e:53) e1000e: Intel(R) PRO/1000 Network Driver То есть Linux видит контроллер MAC и в принципе правильно его распознает (указан именно такой MAC адрес, какой я задавал при конфигурации). Но далее появляется сообщение: Configuring network interfaces... macb e000b000.ethernet eth0: validation of rgmii-id with support 00000000,00000000,00006280 and advertisement 00000000,00000000,00004280 failed: -22 macb e000b000.ethernet eth0: Could not attach PHY (-22) И соответственно интерфейс eth0 неактивен и если после загрузки Linux я набираю команду: # ifconfig eth0 up то появляется примерно такое же сообщение. Похоже, что по какой-то причине не получается установить связь с PHY. В документации на плату указано, что PHY - Marvell Alaska 88E111R6 с адресом MDIO 0b00111. Теоретически я допускаю, что проблема физически с микросхемой PHY, но это маловероятно. Скорее всего проблема в конфигурации. В частности, в petalinux я не нашел, где можно настроить MDIO адрес для PHY, а похоже, что настраивать его нужно (иначе как к нему подключиться?). Если кто сталкивался с подобной проблемой, прошу поделиться опытом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
карамболь 0 10 января, 2022 Опубликовано 10 января, 2022 · Жалоба 3 hours ago, attaboy said: где можно настроить MDIO адрес для PHY, а похоже, что настраивать его нужно (иначе как к нему подключиться?). Если кто сталкивался с подобной проблемой, прошу поделиться опытом. в DTB обычно Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
attaboy 0 10 января, 2022 Опубликовано 10 января, 2022 · Жалоба 1 hour ago, карамболь said: в DTB обычно И что там нужно написать? У меня вот такая запись про ethernet: gem0: ethernet@e000b000 { compatible = "cdns,zynq-gem", "cdns,gem"; reg = <0xe000b000 0x1000>; status = "disabled"; interrupts = <0 22 4>; clocks = <&clkc 30>, <&clkc 30>, <&clkc 13>; clock-names = "pclk", "hclk", "tx_clk"; #address-cells = <1>; #size-cells = <0>; }; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 10 января, 2022 Опубликовано 10 января, 2022 · Жалоба 13 minutes ago, attaboy said: status = "disabled"; Где-то должно быть и &gem0 { ... } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
карамболь 0 10 января, 2022 Опубликовано 10 января, 2022 · Жалоба 50 minutes ago, attaboy said: И что там нужно написать? У меня вот такая запись про ethernet: типа такого gem0: ethernet@e000b000 { compatible = "cdns,gem"; reg = <0xe000b000 0x1000>; status = "disabled"; interrupt-parent = <&gic>; interrupts = <0 22 4>; clocks = <&clkc 30>, <&clkc 30>, <&clkc 13>; clock-names = "pclk", "hclk", "tx_clk"; #address-cells = <1>; #size-cells = <0>; phy-handle = <ðernet_phy>; phy-mode = "rgmii-id"; ethernet_phy: ethernet-phy@7{ reg = <7>; }; }; тут больше https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841740/Macb+Driver Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
attaboy 0 11 января, 2022 Опубликовано 11 января, 2022 · Жалоба 18 hours ago, карамболь said: типа такого Да, это помогло, спасибо. eth0 поднялся, ping проходит. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться