Tool/software:
We are working on am437x based custom board, Migrating from 4.19 to 6.1 kernel. I updated the dts changes specific to ethernet & cpsw switch taking am437x-sk dts as reference.
After updating my dts ethernet phy's are not working.
dmesg gives error messages.
root@picv6-1:~# dmesg | grep "cpsw"
[ 3.391245] cpsw-switch 4a100000.switch: /ocp@44000000/interconnect@4a000000/segment@0/target-module@100000/switch@0/ethernet-ports/port@1 read phy-mode err -19
root@picv6-1:~#
root@picv6-1:~# dmesg | grep "mdio"
[ 3.363963] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6, bus freq 1000000
[ 3.374624] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver unknown
[ 3.382696] davinci_mdio 4a101000.mdio: phy[1]: device 4a101000.mdio:01, driver unknown
Updated dts ethernet nodes with 6.1 kernel.
&mac_sw {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&cpsw_default>;
pinctrl-1 = <&cpsw_sleep>;
status = "okay";
};
&davinci_mdio_sw {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&davinci_mdio_default>;
pinctrl-1 = <&davinci_mdio_sleep>;
ethphy0: ethernet-phy@0 {
reg = <0>;
};
ethphy1: ethernet-phy@1 {
reg = <1>;
};
};
&cpsw_port1 {
phy-handle = <ðphy0>;
phy-mode = "rmii-rxid";
ti,dual-emac-pvid = <1>;
};
&cpsw_port2 {
phy-handle = <ðphy1>;
phy-mode = "rmii-rxid";
ti,dual-emac-pvid = <2>;
};
please review my changes and let me know if i miss anything.