AnsweredAssumed Answered

About AR8035 PHY issuse

Question asked by bordon kuo on Nov 16, 2016
Latest reply on Nov 17, 2016 by bordon kuo

Dear all

 

 

I use the AR8035 phy for imx6dl based on Android 6.0.1_2.0.1. But it always cannot working.

 

When I plug-in RJ45, I can show the information

 

root@sabresd_6dq:/ # ifconfig eth0 up
fec 2188000.ethernet eth0: Freescale FEC PHY driver [Atheros 8035 ethernet] (mii_bus:phy_addr=2188000.ethernet:01, irq=-1)
IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
root@sabresd_6dq:/ # fec 2188000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

 

 

It seems work. But when I use the ping command, it always show

 

root@sabresd_6dq:/ # ping 192.168.253.1
PING 192.168.253.1 (192.168.253.1) 56(84) bytes of data.
From 192.168.253.4: icmp_seq=1 Destination Host Unreachable
From 192.168.253.4: icmp_seq=2 Destination Host Unreachable
From 192.168.253.4: icmp_seq=3 Destination Host Unreachable
From 192.168.253.4: icmp_seq=4 Destination Host Unreachable
From 192.168.253.4: icmp_seq=5 Destination Host Unreachable

 

 

The connection LED always off

 

I modify dtsi file

 

        pinctrl_enet: enetgrp {
            fsl,pins = <
                MX6QDL_PAD_ENET_MDIO__ENET_MDIO        0x1b0b0
                MX6QDL_PAD_ENET_MDC__ENET_MDC        0x1b0b0

 

                MX6QDL_PAD_RGMII_TXC__RGMII_TXC        0x1b0b0
                MX6QDL_PAD_RGMII_TD0__RGMII_TD0        0x1b0b0
                MX6QDL_PAD_RGMII_TD1__RGMII_TD1        0x1b0b0
                MX6QDL_PAD_RGMII_TD2__RGMII_TD2        0x1b0b0
                MX6QDL_PAD_RGMII_TD3__RGMII_TD3        0x1b0b0
                MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL    0x1b0b0
                /* AR8035 CLK_25M --> ENET_REF_CLK (V22) */
                /*
                MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK    0x0a0b1
                */

 

                MX6QDL_PAD_RGMII_RXC__RGMII_RXC        0x130b0
                MX6QDL_PAD_RGMII_RD0__RGMII_RD0        0x1b0b0
                MX6QDL_PAD_RGMII_RD1__RGMII_RD1        0x130b0
                MX6QDL_PAD_RGMII_RD2__RGMII_RD2        0x1b0b0
                MX6QDL_PAD_RGMII_RD3__RGMII_RD3        0x1b0b0
                MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL    0x130b0
                /*                
                MX6QDL_PAD_GPIO_16__ENET_REF_CLK    0xC0000000
                */
                /*
                 * As the RMII pins are also connected to RGMII
                 * so that an AR8030 can be placed, set these
                 * to high-z with the same pulls as above.
                 * Use the GPIO settings to avoid changing the
                 * input select registers.
                */
                //MX6QDL_PAD_ENET_CRS_DV__GPIO1_IO25      0x03000
                MX6QDL_PAD_ENET_CRS_DV__GPIO1_IO25            0x80000000
                MX6QDL_PAD_ENET_RXD0__GPIO1_IO27        0x03000
                MX6QDL_PAD_ENET_RXD1__GPIO1_IO26        0x03000
                MX6QDL_PAD_SD1_CMD__GPIO1_IO18             0x130b0
            >;
        };

 

        pinctrl_enet_irq: enetirqgrp {
            fsl,pins = <
                /* AR8035 interrupt */
                MX6QDL_PAD_SD1_DAT1__GPIO1_IO17        0x000b1
            >;
        };

 

 

I used the external clock 25MHz, but TX, RX clock always 0.

 

 

Thanks,

Outcomes