Network interface

i.MX6UL contains Dual-Megabit Ethernet Controller. Below you can see how this peripheral is configured for the liteboard.

Liteboard is using external LAN8720A 10BASE-T/100BASE-TX transceiver connected with liteSOM via RMII™ interface.

Following signals are required to connect liteSOM with LAN8720A via RMII™:

  • ETH_TXD0/1 - transit data,
  • ETH_TXEN - transmit strobe,
  • ETH_RXD0/1 - receive data,
  • ETH_RXERR - receive error (optional),
  • ETH_CSR_DV - carrier sense,
  • ETH_REFCLK - reference clock.

In addition LAN8720A and liteSOM are connected via SMI signals:

  • ETH_MDIO - SMI data input/output,
  • ETH_MDC - SMI clock.
fec1: ethernet@02188000 {
    compatible = "fsl,imx6ul-fec", "fsl,imx6q-fec";
    reg = <0x02188000 0x4000>;
    interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
	        <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
    clocks = <&clks IMX6UL_CLK_ENET>,
	     <&clks IMX6UL_CLK_ENET_AHB>,
	     <&clks IMX6UL_CLK_ENET_PTP>,
	     <&clks IMX6UL_CLK_ENET_REF>,
	     <&clks IMX6UL_CLK_ENET_REF>;
    clock-names = "ipg", "ahb", "ptp",
	          "enet_clk_ref", "enet_out";
    fsl,num-tx-queues=<1>;
    fsl,num-rx-queues=<1>;
    status = "disabled";
};

Basic configuration for i.MX6UL Fast Ethernet Controller is defined in imx6ul.dtsi file.

Documentation for this device-tree node you can find in fsl-fec.txt file.

&fec1 {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_enet1>;
    phy-mode = "rmii";
    phy-handle = <&ethphy0>;
    status = "okay";

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

        ethphy0: ethernet-phy@0 {
	    reg = <0>;
        };
    };
};

&iomuxc {
    pinctrl_enet1: enet1grp {
    	fsl,pins = <
    	    MX6UL_PAD_GPIO1_IO07__ENET1_MDC          0x1b0b0
    	    MX6UL_PAD_GPIO1_IO06__ENET1_MDIO         0x1b0b0
    	    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   0x4001b031
    	>;
    };
};

PHY configuration for the liteboard is defined in imx6ul-liteboard.dts file.

To enable i.MX6UL Fast Ethernet Controller please build kernel with enabled CONFIG_FEC option.

-> Device Drivers
  -> Network device support
    -> Ethernet driver support
      -> Freescale device
        -> FEC ethernet controller (of ColdFire and some i.MX CPUs)

Default Buildroot configuration for the liteboard is using DHCP to configure internet connection. This behavior can be changed via BR2_SYSTEM_DHCP configuration item.

Show info about BR2_SYSTEM_DHCP

Location
-> System configuration
  -> Network interface to configure through DHCP

Help

Enter here the name of the network interface (E.G. eth0) to
automatically configure through DHCP at bootup.

If left empty, no automatic DHCP requests will take place.

For more complicated network setups use an overlay to overwrite
/etc/network/interfaces or add a networkd configuration file.

If you want to modify /etc/network/interfaces file please read Network Configuration howto from Debian Wiki.

Network status

Current network status you can verify by ifconfig eth0 command

# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 9E:EE:5F:94:B8:D3  
          inet addr:10.42.0.133  Bcast:10.42.0.255  Mask:255.255.255.0
          inet6 addr: fe80::9cee:5fff:fe94:b8d3/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:38 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:5906 (5.7 KiB)  TX bytes:1654 (1.6 KiB)

or ip address show eth0

# ip address show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 9e:ee:5f:94:b8:d3 brd ff:ff:ff:ff:ff:ff
    inet 10.42.0.133/24 brd 10.42.0.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::9cee:5fff:fe94:b8d3/64 scope link 
       valid_lft forever preferred_lft forever
  • litesom/devicetree/eth.txt
  • Last modified: 2017/05/16 19:03
  • by filug