DESK-MX6UL-L/Peripherals/Ethernet

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



Peripheral Ethernet[edit | edit source]

The ethernet interface is made available through the i.MX6UL 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 ULite SOM:

From imx6ul-lynx-som0013.dtsi:

&fec1 {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_enet1>;
        phy-mode = "rmii";
        phy-handle = <&ethphy0>;
        phy-reset-gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>;
        phy-reset-post-delay = <500>;
        status = "okay";
        fsl,dev_id = <0>;

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

                ethphy0: ethernet-phy@3 {
                        compatible = "ethernet-phy-ieee802.3-c22";
                        reg = <0x03>;
                };
        };
};


&iomuxc {
...
...
                pinctrl_enet1: enet1grp {
                        fsl,pins = <
                                MX6UL_PAD_ENET1_RX_EN__ENET1_RX_EN      0x1b0b0
                                MX6UL_PAD_ENET1_RX_ER__ENET1_RX_ER      0x1b0b0
                                MX6UL_PAD_ENET1_RX_DATA0__ENET1_RDATA00 0x1b0b0
                                MX6UL_PAD_ENET1_RX_DATA1__ENET1_RDATA01 0x1b0b0
                                MX6UL_PAD_ENET1_TX_EN__ENET1_TX_EN      0x1b0b0
                                MX6UL_PAD_ENET1_TX_DATA0__ENET1_TDATA00 0x1b0b0
                                MX6UL_PAD_ENET1_TX_DATA1__ENET1_TDATA01 0x1b0b0
                                MX6UL_PAD_ENET1_TX_CLK__ENET1_REF_CLK1  0x4001b0a8
                                MX6UL_PAD_GPIO1_IO07__ENET1_MDC         0x1b0b0
                                MX6UL_PAD_GPIO1_IO06__ENET1_MDIO        0x1b0b0
                                MX6UL_PAD_SNVS_TAMPER1__GPIO5_IO01      0x1b0b0         /* ETH_PHY_RST */
                                MX6UL_PAD_SNVS_TAMPER2__GPIO5_IO02      0x1b0b0         /* ETH_INT */
                        >;
                };
...
...
};

Accessing the peripheral[edit | edit source]

AXEL ULite SOM provides the network interface mapped at eth0.

Linux messages at boot time[edit | edit source]

...
...
[    2.758105] fec 2188000.ethernet: 2188000.ethernet supply phy not found, using dummy regulator
[    3.284051] pps pps0: new PPS source ptp0
[    3.289349] libphy: fec_enet_mii_bus: probed
[    3.306604] fec 2188000.ethernet eth0: registered PHC device 0...
...
...
[    5.364364] Micrel KSZ8081 or KSZ8091 2188000.ethernet-1:03: attached PHY driver [Micrel KSZ8081 or KSZ8091] (mii_bus:phy_addr=2188000.ethernet-1:03, irq=POLL)
[    5.379786] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready

Cable connection:

...
...
[    8.484123] fec 2188000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
[    8.503416] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[    8.533451] IP-Config: Complete:
[    8.536868]      device=eth0, hwaddr=7a:f5:7c:86:e3:ac, ipaddr=192.168.0.90, mask=255.255.255.0, gw=255.255.255.255

Check the interface with ifconfig[edit | edit source]

ifconfroot@desk-mx6ul-axelulite:~# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 7a:f5:7c:86:e3:ac
          inet addr:192.168.0.90  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::78f5:7cff:fe86:e3ac/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:17910 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7633 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:18948844 (18.0 MiB)  TX bytes:1515852 (1.4 MiB)

root@desk-mx6ul-axelulite:~#

Test with iperf[edit | edit source]

root@desk-mx6ul-axelulite:~# iperf3 -c 192.168.0.125
Connecting to host 192.168.0.125, port 5201
[  5] local 192.168.0.120 port 41332 connected to 192.168.0.125 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  10.7 MBytes  90.0 Mbits/sec    0    127 KBytes
[  5]   1.00-2.00   sec  10.8 MBytes  90.2 Mbits/sec    0    154 KBytes
[  5]   2.00-3.00   sec  11.2 MBytes  93.5 Mbits/sec    0    175 KBytes
[  5]   3.00-4.00   sec  11.0 MBytes  92.6 Mbits/sec    0    185 KBytes
[  5]   4.00-5.00   sec  11.1 MBytes  93.1 Mbits/sec    0    195 KBytes
[  5]   5.00-6.00   sec  11.1 MBytes  93.2 Mbits/sec    0    195 KBytes
[  5]   6.00-7.00   sec  11.1 MBytes  93.4 Mbits/sec    0    212 KBytes
[  5]   7.00-8.00   sec  10.9 MBytes  91.4 Mbits/sec    0    212 KBytes
[  5]   8.00-9.00   sec  11.2 MBytes  94.3 Mbits/sec    0    212 KBytes
[  5]   9.00-10.00  sec  11.1 MBytes  92.8 Mbits/sec    0    212 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   110 MBytes  92.5 Mbits/sec    0             sender
[  5]   0.00-10.00  sec   110 MBytes  92.1 Mbits/sec                  receiver

iperf Done.
root@desk-mx6ul-axelulite:~#