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 не инициализированы. Может кто знает как это сделать?