Other Parts Discussed in Thread: AM3352
Tool/software:
In a Custom [ref: am3358] board, for Linux kernel 6.1.33, facing issue in ethernet.
out of two ethernet ports one is working fine, and the other is not working.
The below are the dts changes
dts changes are:
&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>;
status = "okay";
reset-gpios = <
&gpio2 2 GPIO_ACTIVE_LOW /* GPIO2_2 (ETH0_RESETn) */
&gpio2 3 GPIO_ACTIVE_LOW /* GPIO2_3 (ETH1_RESETn) */
>;
reset-delay-us = <30>; /* PHY datasheet states 25uS min */
ethernetphy0: ethernet-phy@0 {
// compatible = "ethernet-phy-id2000.a140", "ethernet-phy-ieee802.3-c22", "ethernet-phy-ieee802.3-c45";
reg = <0>;
/* Commenting to resolve kernel panic
interrupt-parent = <&gpio2>;
interrupts = <6 IRQ_TYPE_EDGE_FALLING>; */
};
ethernetphy1: ethernet-phy@1 {
// compatible = "ethernet-phy-id2000.a140", "ethernet-phy-ieee802.3-c22", "ethernet-phy-ieee802.3-c45";
reg = <1>;
/* Commenting to resolve kernel panic
interrupt-parent = <&gpio2>;
interrupts = <7 IRQ_TYPE_EDGE_FALLING>; */
};
};
/* ETH0 */
&cpsw_port1 {
phy-mode = "rmii";
phy_id = <&davinci_mdio_sw>, <0>;
phy-handle = <ðernetphy0>;
status = "okay";
};
/* ETH1 */
&cpsw_port2 {
phy-mode = "rmii";
phy_id = <&davinci_mdio_sw>, <1>;
phy-handle = <ðernetphy1>;
status = "okay";
};
Kernel Log: