Linux. sam9x25. запуск 2 PHY micrel ksz9021 на mdio-gpio. Задача такая есть плата(разводили сами) на sam9x25. К ножкам 2-го MAC(MDC MDIO) подключено 2 PHY Micrel ksz9021. Интерфейс RGMII заведен на ALTERA и реализован там.
Чип селект на плате запаян резисторами.
Так как MAC в этом процессоре только 100mb, то его нельзя использовать.
В Linux есть драйвер mdio-gpio.
В .dts файле mdio-gpio инициализировал вот так:
mdio0: mdio@0{ compatible = "virtual,mdio-gpio"; #address-cells = <1>; #size-cells = <0>; gpios = <&pioC 30 GPIO_ACTIVE_HIGH &pioC 31 GPIO_ACTIVE_HIGH >; phy0: ethernet-phy@0 { compatible = "ethernet-phy-ieee802.3-c22"; reg = <0>; rxc-skew-ps = <3000>; rxdv-skew-ps = <0>; txc-skew-ps = <3000>; txen-skew-ps = <0>; }; phy1: ethernet-phy@1 { compatible = "ethernet-phy-ieee802.3-c22"; reg = <1>; rxc-skew-ps = <3000>; rxdv-skew-ps = <0>; txc-skew-ps = <3000>; txen-skew-ps = <0>; }; }; ethernet@0{ phy = <&phy0>; phy-mode = "rgmii"; status = "okay"; }; ethernet@1{ phy = <&phy1>; phy-mode = "rgmii"; status = "okay"; };Появляются устройства, id PHY вычитаны:
/sys/devices/ahb.3/apb.4/mdio.6/gpio-0:00/phy_id /sys/devices/ahb.3/apb.4/mdio.6/gpio-0:00/phy_interface /sys/devices/ahb.3/apb.4/mdio.6/gpio-0:00/phy_has_fixups /sys/devices/ahb.3/apb.4/mdio.6/gpio-0:01/phy_id /sys/devices/ahb.3/apb.4/mdio.6/gpio-0:01/phy_interface /sys/devices/ahb.3/apb.4/mdio.6/gpio-0:01/phy_has_fixups root@epg:~# cat /sys/devices/ahb.3/apb.4/mdio.6/gpio-0:00/phy_id 0x00221611Но сетевых интерфейсов нет, да и сами PHY не инициализированы. Может кто знает как это сделать?