Part Number: AM6422
Hello,
We found that When the PHY DP83822 is configured in interrupt mode, after repeated plugging and unplugging multiple times, the eth port fails to link up, and subsequent plugging and unplugging also cannot restore the link. Checking /proc/interrupts shows no increase in interrupt counts. However, the issue can be recovered by running sudo ip link set eth1 down and then sudo ip link set eth1 up
DTS file:
cpsw3g_phy1_irq_pins_default: cpsw3g-phy1-irq-pins-default {
pinctrl-single,pins = <
AM64X_IOPAD(0x0114, PIN_INPUT, 7) /* (Y12) PRG1_PRU1_GPO3.GPIO0_68 */
>;
};
&cpsw3g_mdio {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&mdio1_pins_default>; cpsw3g_phy1: ethernet-phy@1 {
/* RMII1 -- 01 */
reg = <1>;
pinctrl-names = "default";
pinctrl-0 = <&cpsw3g_phy1_irq_pins_default>;
interrupt-parent = <&main_gpio0>;
interrupts = <68 IRQ_TYPE_EDGE_FALLING>;
};
};
log:
AUGOS/arm64: aug@aug in ~
$ cat /proc/interrupts | grep 'Edge'
337: 23 0 GPIO 0 Edge -davinci_gpio spi1.0
351: 23 0 GPIO 14 Edge -davinci_gpio spi2.0
434: 5 0 GPIO 68 Edge -davinci_gpio 8000f00.mdio:01
445: 9 0 GPIO 79 Edge -davinci_gpio 8000f00.mdio:00
AUGOS/arm64: aug@aug in ~
$ cat /proc/interrupts | grep 'Edge'
337: 23 0 GPIO 0 Edge -davinci_gpio spi1.0
351: 23 0 GPIO 14 Edge -davinci_gpio spi2.0
434: 5 0 GPIO 68 Edge -davinci_gpio 8000f00.mdio:01
445: 9 0 GPIO 79 Edge -davinci_gpio 8000f00.mdio:00
AUGOS/arm64: aug@aug in ~
$ cat /proc/interrupts | grep 'Edge'
337: 23 0 GPIO 0 Edge -davinci_gpio spi1.0
351: 25 0 GPIO 14 Edge -davinci_gpio spi2.0
434: 5 0 GPIO 68 Edge -davinci_gpio 8000f00.mdio:01
445: 9 0 GPIO 79 Edge -davinci_gpio 8000f00.mdio:00
AUGOS/arm64: aug@aug in ~
$ cat /proc/interrupts | grep 'Edge'
337: 23 0 GPIO 0 Edge -davinci_gpio spi1.0
351: 25 0 GPIO 14 Edge -davinci_gpio spi2.0
434: 5 0 GPIO 68 Edge -davinci_gpio 8000f00.mdio:01
445: 9 0 GPIO 79 Edge -davinci_gpio 8000f00.mdio:00
AUGOS/arm64: aug@aug in ~
$ cat /proc/interrupts | grep 'Edge'
337: 23 0 GPIO 0 Edge -davinci_gpio spi1.0
351: 25 0 GPIO 14 Edge -davinci_gpio spi2.0
434: 5 0 GPIO 68 Edge -davinci_gpio 8000f00.mdio:01
445: 9 0 GPIO 79 Edge -davinci_gpio 8000f00.mdio:00
SDK Version: 09.00.00.006 with 'gpio: davinci: fix lazy disable' patch