Quantcast
Channel: Processors forum - Recent Threads
Viewing all articles
Browse latest Browse all 17527

AM5726: Eth1 not working on AM572x

$
0
0

Part Number: AM5726

Hello,
When starting Linux the Ethernet PHY`s are recognized:

[    2.311347] libphy: Fixed MDIO Bus: probed
[    2.381059] davinci_mdio 48485000.mdio: davinci mdio revision 1.6, bus freq 1000000
[    2.388757] libphy: 48485000.mdio: probed
[    2.398182] davinci_mdio 48485000.mdio: phy[0]: device 48485000.mdio:00, driver SMSC LAN8710/LAN8720
[    2.407394] davinci_mdio 48485000.mdio: phy[1]: device 48485000.mdio:01, driver SMSC LAN8710/LAN8720
[    2.417497] cpsw-phy-sel 4a002554.cpsw-phy-sel: invalid resource
[    2.423595] cpsw-phy-sel: probe of 4a002554.cpsw-phy-sel failed with error -22
[    2.431722] cpsw 48484000.ethernet: Detected MACID = 18:62:e4:6f:58:52
[    2.438432] cpsw 48484000.ethernet: initialized cpsw ale version 1.4
[    2.444822] cpsw 48484000.ethernet: ALE Table size 1024
[    2.450173] cpsw 48484000.ethernet: cpts: overflow check period 500 (jiffies)
[    2.459430] cpsw 48484000.ethernet: cpsw: Detected MACID = 18:62:e4:6f:58:53


If I add an Ethernet cable to a switch I get a message at Eth0 and Eth1 that the links are detected.
However, a ping only works for ETH0 and at "wiresharc" I can see that no data comes out of the ETH1 interface. Can you help me with this problem? Probably only something is wrong with the DTS.

The PHY addresses there are 0x00 (eth0) and 0x01 (eth1).

    cpsw_pins_default: cpsw_pins_default {
        pinctrl-single,pins = <
            /* Clock at slave 0/1 */
            DRA7XX_CORE_IOPAD(0x3644, PIN_INPUT_PULLDOWN | MUX_MODE0)    /* u3 rmii_mhz_50_clk.rmii_mhz_50_clk */

            /* Slave at addr 0x0 */
            DRA7XX_CORE_IOPAD(0x3658, PIN_INPUT | MUX_MODE1)    /* v7 rgmii0_txd3.rmii0_crs */
            DRA7XX_CORE_IOPAD(0x365c, PIN_INPUT | MUX_MODE1)    /* u7 rgmii0_txd2.rmii0_rxer */
            DRA7XX_CORE_IOPAD(0x3660, PIN_INPUT | MUX_MODE1)    /* v6 rgmii0_txd1.rmii0_rxd1 */
            DRA7XX_CORE_IOPAD(0x3664, PIN_INPUT | MUX_MODE1)    /* u6 rgmii0_txd0.rmii0_rxd0 */

            DRA7XX_CORE_IOPAD(0x3674, PIN_OUTPUT | MUX_MODE1)    /* v3 rgmii0_rxd2.rmii0_txen */
            DRA7XX_CORE_IOPAD(0x3678, PIN_OUTPUT | MUX_MODE1)    /* y2 rgmii0_rxd1.rmii0_txd1 */
            DRA7XX_CORE_IOPAD(0x367c, PIN_OUTPUT | MUX_MODE1)    /* w2 rgmii0_rxd0.rmii0_txd0 */

            /* Slave at addr 0x1 */
            DRA7XX_CORE_IOPAD(0x3648, PIN_INPUT | MUX_MODE2)    /* v2 uart3_rxd.rmii1_crs */
            DRA7XX_CORE_IOPAD(0x364c, PIN_INPUT | MUX_MODE2)    /* y1 uart3_txd.rmii1_rxer */
            DRA7XX_CORE_IOPAD(0x3650, PIN_INPUT | MUX_MODE2)    /* w9 rgmii0_txc.rmii1_rxd1 */
            DRA7XX_CORE_IOPAD(0x3654, PIN_INPUT | MUX_MODE2)    /* v9 rgmii0_txcl.rmii1_rxd0 */

            DRA7XX_CORE_IOPAD(0x3668, PIN_OUTPUT | MUX_MODE2)    /* u5 rgmii0_rxc.rmii1_txen */
            DRA7XX_CORE_IOPAD(0x366C, PIN_OUTPUT | MUX_MODE2)    /* v5 rgmii0_rxctl.rmii1_txd1 */
            DRA7XX_CORE_IOPAD(0x3670, PIN_OUTPUT | MUX_MODE2)    /* v4 rgmii0_rxd3.rmii1_txd0 */
        >;
    };

    cpsw_pins_sleep: cpsw_pins_sleep {
        pinctrl-single,pins = <
            /* Slave at addr 0x0 */
            DRA7XX_CORE_IOPAD(0x3658, PIN_INPUT | MUX_MODE15)    /* v7 rgmii0_txd3.disabled */
            DRA7XX_CORE_IOPAD(0x365c, PIN_INPUT | MUX_MODE15)    /* u7 rgmii0_txd2.disabled */
            DRA7XX_CORE_IOPAD(0x3660, PIN_INPUT | MUX_MODE15)    /* v6 rgmii0_txd1.disabled */
            DRA7XX_CORE_IOPAD(0x3664, PIN_INPUT | MUX_MODE15)    /* u6 rgmii0_txd0.disabled */

            DRA7XX_CORE_IOPAD(0x3674, PIN_INPUT | MUX_MODE15)    /* v3 rgmii0_rxd2.disabled */
            DRA7XX_CORE_IOPAD(0x3678, PIN_INPUT | MUX_MODE15)    /* y2 rgmii0_rxd1.disabled */
            DRA7XX_CORE_IOPAD(0x367c, PIN_INPUT | MUX_MODE15)    /* w2 rgmii0_rxd0.disabled */

            /* Slave at addr 0x1 */
            DRA7XX_CORE_IOPAD(0x3648, PIN_INPUT | MUX_MODE15)    /* v2 uart3_rxd.disabled */
            DRA7XX_CORE_IOPAD(0x364c, PIN_INPUT | MUX_MODE15)    /* y1 uart3_txd.disabled */
            DRA7XX_CORE_IOPAD(0x3650, PIN_INPUT | MUX_MODE15)    /* w9 rgmii0_txc.disabled */
            DRA7XX_CORE_IOPAD(0x3654, PIN_INPUT | MUX_MODE15)    /* v9 rgmii0_txcl.disabled */

            DRA7XX_CORE_IOPAD(0x3668, PIN_INPUT | MUX_MODE15)    /* u5 rgmii0_rxc.disabled */
            DRA7XX_CORE_IOPAD(0x366C, PIN_INPUT | MUX_MODE15)    /* v5 rgmii0_rxctl.disabled */
            DRA7XX_CORE_IOPAD(0x3670, PIN_INPUT | MUX_MODE15)    /* v4 rgmii0_rxd3.disabled */
        >;
    };

    davinci_mdio_pins_default: davinci_mdio_pins_default {
        pinctrl-single,pins = <
            /* MDIO */
            DRA7XX_CORE_IOPAD(0x363c, PIN_OUTPUT_PULLUP | MUX_MODE0) /* V1 mdio_mclk.mdio_mclk */
            DRA7XX_CORE_IOPAD(0x3640, PIN_INPUT_PULLUP | MUX_MODE0)    /* U4 mdio_d.mdio_d */
        >;
    };

    davinci_mdio_pins_sleep: davinci_mdio_pins_sleep {
        pinctrl-single,pins = <
            DRA7XX_CORE_IOPAD(0x363c, PIN_INPUT | MUX_MODE15) /* V1 mdio_mclk.disabled */
            DRA7XX_CORE_IOPAD(0x3640, PIN_INPUT | MUX_MODE15)    /* U4 mdio_d.disabled */
        >;
    };
};

&mac {
    status = "okay";
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&cpsw_pins_default>;
    pinctrl-1 = <&cpsw_pins_sleep>;
    rx_descs = <64>; /* Was removed from am33xx.dtsi but is needed by the CPSW driver */
    dual_emac;
};

&cpsw_emac0 {
    phy_id = <&davinci_mdio>, <0>;
    phy-mode = "rmii";
    dual_emac_res_vlan = <0>;
};

&cpsw_emac1 {
    phy_id = <&davinci_mdio>, <1>;
    phy-mode = "rmii";
    dual_emac_res_vlan = <1>;
};

&davinci_mdio {
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&davinci_mdio_pins_default>;
    pinctrl-1 = <&davinci_mdio_pins_sleep>;
};

&davinci_mdio {
    phy0: ethernet-phy@1 {
        reg = <0>;
        max-speed = <100>;
    };

    phy1: ethernet-phy@2 {
        reg = <1>;
        max-speed = <100>;
    };
};




Viewing all articles
Browse latest Browse all 17527

Trending Articles