====== Network interface ======
''i.MX6UL'' contains Dual-Megabit Ethernet Controller. Below you can see how this peripheral is configured for [[litesom:liteboard|the liteboard]].
===== PHY device =====
{{ :litesom:devicetree:liteboard_phy.png?direct&600 }}
[[litesom:liteboard|Liteboard]] is using external [[https://www.microchip.com/wwwproducts/en/LAN8720A|LAN8720A]] 10BASE-T/100BASE-TX transceiver connected with [[:liteSOM]] via RMII™ interface.
Following signals are required to connect [[:liteSOM ]] with [[https://www.microchip.com/wwwproducts/en/LAN8720A|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 [[https://www.microchip.com/wwwproducts/en/LAN8720A|LAN8720A]] and [[:liteSOM]] are connected via SMI signals:
* ''ETH_MDIO'' - SMI data input/output,
* ''ETH_MDC'' - SMI clock.
===== Device Tree configuration =====
fec1: ethernet@02188000 {
compatible = "fsl,imx6ul-fec", "fsl,imx6q-fec";
reg = <0x02188000 0x4000>;
interrupts = ,
;
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 [[https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts/imx6ul.dtsi|imx6ul.dtsi]] file.
Documentation for this //device-tree// node you can find in [[https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/net/fsl-fec.txt|fsl-fec.txt]] file.
&fec1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_enet1>;
phy-mode = "rmii";
phy-handle = <ðphy0>;
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 [[litesom::liteboard|the liteboard]] is defined in [[https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts/imx6ul-liteboard.dts|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)
===== Network configuration =====
Default [[litesom:buildroot|Buildroot]] configuration for [[litesom:liteboard|the liteboard]] is using DHCP to configure internet connection.
This behavior can be changed via ''BR2_SYSTEM_DHCP'' configuration item.
**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 [[https://wiki.debian.org/NetworkConfiguration|Network Configuration]] howto from [[https://wiki.debian.org|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: 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