Other Parts Discussed in Thread: AM3352, TPS65910, SYSCONFIG
-------------------------------------------------------Ethtool check------------------------------------------------ am335x-evm login: root root@am335x-evm:~# [ 28.408359] cpsw 4a100000.ethernet eth1: Link is Up - 1Gbps/Full - flow control off [ 28.416245] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready ethtool -s eth1 speed 1000 duplex full autoneg off root@am335x-evm:~# [ 35.687090] cpsw 4a100000.ethernet eth1: Link is Down ethtool -s eth1 speed 100 duplex full autoneg off root@am335x-evm:~# [ 46.087063] cpsw 4a100000.ethernet eth1: Link is Up - 100Mbps/Full - flow control off root@am335x-evm:~# ethtool -s eth1 speed 1000 duplex full autoneg off root@am335x-evm:~# [ 58.567097] cpsw 4a100000.ethernet eth1: Link is Down ethtool -s eth1 speed 100 duplex full autoneg off root@am335x-evm:~# [ 78.327091] cpsw 4a100000.ethernet eth1: Link is Up - 100Mbps/Full - flow control off ethtool -s eth1 speed 100 duplex full autoneg off Note:After booting 1gbps(highlighted in yellow) line is showing Up but once if we check with ethtool we are getting Link is down always. ---------------------------------------------Dts configuration for PHY---------------------------------------------- cpsw_default: cpsw_default { pinctrl-single,pins = < /* Slave 1 */ AM33XX_IOPAD(0x914, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txen.rgmii1_tctl */ AM33XX_IOPAD(0x918, PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxdv.rgmii1_rctl */ AM33XX_IOPAD(0x91c, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd3.rgmii1_td3 */ AM33XX_IOPAD(0x920, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd2.rgmii1_td2 */ AM33XX_IOPAD(0x924, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd1.rgmii1_td1 */ AM33XX_IOPAD(0x928, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd0.rgmii1_td0 */ AM33XX_IOPAD(0x92c, PIN_OUTPUT_PULLUP | MUX_MODE2) /* mii1_txclk.rgmii1_tclk */ AM33XX_IOPAD(0x930, PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxclk.rgmii1_rclk */ AM33XX_IOPAD(0x934, PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd3.rgmii1_rd3 */ AM33XX_IOPAD(0x938, PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd2.rgmii1_rd2 */ AM33XX_IOPAD(0x93c, PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd1.rgmii1_rd1 */ AM33XX_IOPAD(0x940, PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd0.rgmii1_rd0 */ /*AM33XX_IOPAD(0xA34, PIN_INPUT_PULLUP | MUX_MODE7) /* (F15) USB1_DRVVBUS.gpio3[13] */ >; }; cpsw_sleep: cpsw_sleep { pinctrl-single,pins = < AM33XX_IOPAD(0x914, (PIN_INPUT_PULLDOWN | MUX_MODE7) ) /* (J16) gmii1_txen.rgmii1_tctl */ AM33XX_IOPAD(0x918, (PIN_INPUT_PULLDOWN | MUX_MODE7) ) /* (J17) gmii1_rxdv.rgmii1_rctl */ AM33XX_IOPAD(0x92c, (PIN_OUTPUT_PULLUP | MUX_MODE7) ) /* (K18) gmii1_txclk.rgmii1_tclk */ AM33XX_IOPAD(0x930, (PIN_INPUT_PULLDOWN | MUX_MODE7) ) /* (L18) gmii1_rxclk.rgmii1_rclk */ AM33XX_IOPAD(0x928, (PIN_INPUT_PULLDOWN | MUX_MODE7) ) /* (K17) gmii1_txd0.rgmii1_td0 */ AM33XX_IOPAD(0x924, (PIN_INPUT_PULLDOWN | MUX_MODE7) ) /* (K16) gmii1_txd1.rgmii1_td1 */ AM33XX_IOPAD(0x920, (PIN_INPUT_PULLDOWN | MUX_MODE7) ) /* (K15) gmii1_txd2.rgmii1_td2 */ AM33XX_IOPAD(0x91c, (PIN_INPUT_PULLDOWN | MUX_MODE7) ) /* (J18) gmii1_txd3.rgmii1_td3 */ AM33XX_IOPAD(0x940, (PIN_INPUT_PULLDOWN | MUX_MODE7) ) /* (M16) gmii1_rxd0.rgmii1_rd0 */ AM33XX_IOPAD(0x93c, (PIN_INPUT_PULLDOWN | MUX_MODE7) ) /* (L15) gmii1_rxd1.rgmii1_rd1 */ AM33XX_IOPAD(0x938, (PIN_INPUT_PULLDOWN | MUX_MODE7) ) /* (L16) gmii1_rxd2.rgmii1_rd2 */ AM33XX_IOPAD(0x934, (PIN_INPUT_PULLDOWN | MUX_MODE7) ) /* (L17) gmii1_rxd3.rgmii1_rd3 */ >; }; &mac { pinctrl-names = "default", "sleep"; pinctrl-0 = <&cpsw_default>; pinctrl-1 = <&cpsw_sleep>; dual_emac; status = "okay"; }; &davinci_mdio { pinctrl-names = "default", "sleep"; compatible = "ti,cpsw-mdio", "ti,davinci_mdio"; pinctrl-0 = <&davinci_mdio_default>; pinctrl-1 = <&davinci_mdio_sleep>; status = "okay"; dp83867_3: ethernet-phy@3 { reg = <3>; ti,rx-internal-delay = <DP83867_RGMIIDCTL_3_50_NS>; ti,tx-internal-delay = <DP83867_RGMIIDCTL_4_00_NS>; ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_8_B_NIB>; ti,min-output-impedance; ti,dp83867-rxctrl-strap-quirk; max-speed=<1000>; }; dp83867_0: ethernet-phy@0 { reg = <0>; ti,rx-internal-delay = <DP83867_RGMIIDCTL_3_25_NS>; ti,tx-internal-delay = <DP83867_RGMIIDCTL_3_25_NS>; ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_8_B_NIB>; ti,min-output-impedance; ti,dp83867-rxctrl-strap-quirk; max-speed=<1000>; }; }; &cpsw_emac0 { phy-handle = <&dp83867_3>; phy_id = <&davinci_mdio>, <3>; phy-mode = "rgmii-id"; dual_emac_res_vlan = <1>; }; &cpsw_emac1 { phy-handle = <&dp83867_0>; phy_id = <&davinci_mdio>, <0>; phy-mode = "rgmii-id"; dual_emac_res_vlan = <2>; }; -------------------------------------------------------------------------------------------------------------------------------
We are bringing up a custom board based on am335x icev2 board.In our custom board we are using DP83867 PHY chipset it’s working on 10/100Mbps speed fine,but when we check 1000Mbps(1G) in ethtool we are getting link is down.what could be the reason and how to resolve this issue.
Here below i have attached boot logs and Dts configuration for RGMII interface please check and revert back us to resolve this issue.