DESK-MX6-L/Pheripherals/Ethernet

From DAVE Developer's Wiki
Jump to: navigation, search
History
Version Issue Date Notes
1.0.0 Oct 2020 First DESK release


Peripheral Ethernet[edit | edit source]

The ethernet interface is made available through the i.MX6 fec interface which should be initialized on the device tree.

Device tree configuration[edit | edit source]

Here below an example of device tree configuration used on standard DAVE's kit for the AXEL Lite SOM:

From imx6qdl-axelcommon.dtsi :

&fec {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_enet_axel>;
    phy-mode = "rgmii";
    phy-handle = <&ethphy>;
    status = "okay";

    mdio {
        #address-cells = <1>;
        #size-cells = <0>;

        ethphy: ethernet-phy@7 {
            compatible = "ethernet-phy-ieee802.3-c22";
            reg = <7>;
        };
    };
};

&iomuxc {
...
...
    enet {
        pinctrl_enet_axel: enetgrp-1 {
            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
                MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK  0x1b0b0
                MX6QDL_PAD_RGMII_RXC__RGMII_RXC       0x1b0b0
                MX6QDL_PAD_RGMII_RD0__RGMII_RD0       0x1b0b0
                MX6QDL_PAD_RGMII_RD1__RGMII_RD1       0x1b0b0
                MX6QDL_PAD_RGMII_RD2__RGMII_RD2       0x1b0b0
                MX6QDL_PAD_RGMII_RD3__RGMII_RD3       0x1b0b0
                MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b0b0
                MX6QDL_PAD_ENET_TX_EN__GPIO1_IO28     0xb0b1
                MX6QDL_PAD_SD4_DAT3__GPIO2_IO11        0xb0b1
                MX6QDL_PAD_SD4_DAT2__GPIO2_IO10        0xb0b1
            >;
        };
    };
...
...
};

Accessing the peripheral[edit | edit source]

AXEL LITE SOM provides the network interface mapped at eth0.

Linux messages at boot time[edit | edit source]

...
...
[    2.373438] fec 2188000.ethernet: 2188000.ethernet supply phy not found, using dummy regulator
[    2.393396] fec 2188000.ethernet eth0: registered PHC device 0
...
...
[    5.235075] Micrel KSZ9031 Gigabit PHY 2188000.ethernet-1:07: attached PHY driver [Micrel KSZ9031 Gigabit PHY] (mii_bus:phy_addr=2188000.ethernet-1:07, irq=POLL)
[    5.249686] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready

Cable connection:

...
...
[    7.364256] fec 2188000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
[    7.383799] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[    7.417007]      device=eth0, hwaddr=fa:2a:07:88:45:42, ipaddr=192.168.0.90, mask=255.255.255.0, gw=255.255.255.255

Check the interface with ifconfig[edit | edit source]

root@imx6qdlxelk:~# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr fa:2a:07:88:45:42
          inet addr:192.168.0.90  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::f82a:7ff:fe88:4542/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:126363 errors:0 dropped:0 overruns:0 frame:0
          TX packets:64259 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:103276957 (98.4 MiB)  TX bytes:19090409 (18.2 MiB)

root@imx6qdlxelk:~#

Test with iperf[edit | edit source]

root@imx6qdlxelk:~#  iperf3 -t 5 -c 192.168.0.125
Connecting to host 192.168.0.125, port 5201
[  5] local 192.168.0.90 port 45808 connected to 192.168.0.125 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  11.5 MBytes  96.4 Mbits/sec    0    156 KBytes
[  5]   1.00-2.00   sec  11.2 MBytes  93.8 Mbits/sec    0    191 KBytes
[  5]   2.00-3.00   sec  11.2 MBytes  93.8 Mbits/sec    0    212 KBytes
[  5]   3.00-4.00   sec  11.2 MBytes  93.8 Mbits/sec    0    212 KBytes
[  5]   4.00-5.00   sec  11.3 MBytes  94.9 Mbits/sec    0    242 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-5.00   sec  56.4 MBytes  94.6 Mbits/sec    0             sender
[  5]   0.00-5.00   sec  55.7 MBytes  93.5 Mbits/sec                  receiver

iperf Done.
root@imx6qdlxelk:~#