TQMLX2160A - YOCTO Linux BSP documentation


Ethernet

The STKLX2160A provides ten 10/100/1000 Ethernet Interfaces, two 10 Gbit Ethernet Interfaces and one 100 Gbit Ethernet Interface.

RCW-SerDes Configuration

The RCW Configuration specifies the Ethernet Configuration. The following SerDes Protocols are configured in the default Image.

SerDes Block SerDes Protocol
1 14
2 11
3 2

Ethernet Interface Assignment

For the default SerDes (14-11-x) configuration, the Ethernet interfaces are assigned as follows:

X14 X29 X6/X8 X10 X11 X12 X13
DPMAC17 DPMAC16 DPMAC14
DPMAC18 DPMAC12 DPMAC13

For the default SerDes (12-7-x) configuration, the Ethernet interfaces are assigned as follows:

X14 X29 X6/X8 X10 X11 X12 X13
DPMAC17 DPMAC16 DPMAC10
DPMAC18 DPMAC12 DPMAC9

Ethernet Interface Configuration

The Ethernet interfaces are managed via DPAA2 and not configured by default. The interfaces have to be configured in Linux:

ls-addni dpmac.X

Example configuration of DPMAC17:

ls-addni dpmac.17

Afterwards you can save the configuration to a dts file with:

restool dprc generate-dpl dprc.1 > <my_dpl>.dts

To generate a dtb file you have to use

dtc -I dts -O dtb <my_dpl>.dts -o <my_dpl>.dtb

Copy the generated dtb file to the boot partition (/dev/mmcblk0p1) and change in U-Boot the name of the dts_file variable to your dtb file name with

setenv dpl_file <my_dpl>.dtb
saveenv

To check which DPMAC device is routed to which ETH device the following command can be used:

ls-listni

U-Boot

In U-Boot eth0 is configured as default interface. The IP configuration can be done statically or by a DHCP server in the network.

IP configuration via DHCP

For a configuration via a DHCP server, use the dhcp command in U-Boot.

Static IP configuration For a static IP configuration the following, U-Boot environment variables must be set:

setenv ipaddr <ipaddr> 
(e.g.: setenv ipaddr 192.168.100.111)
setenv netmask <netmask> 
(e.g.: setenv netmask 255.255.255.0)

Linux

The ethernet configuration in Linux is determined by the DPL file. The ethernet interfaces are activated in Linux.

For a temporary static configuration the ip command can be used, below some useful ip commands are listed:

Activate a specific interface
e.g. eth0

ip link set eth0 up


Disable a specific interace
e.g. eth0

ip link set eth0 down


Show ip address for a specific interface
e.g. eth0

ip addr show eth0


Show statistic for a specific interface
e.g. eth0

 
ip -s link show eth0 


Set ip address for a specific interface
e.g. eth0

ip addr add 192.168.1.100/24 dev eth0


Show statistic of all interfaces

ip -s link


Set default gateway for a specific interfaces
e.g. set gateway ip 192.168.1.1 for eth0

ip route add default via 192.168.1.1 dev eth0

If a DHCP server is available in the network environment the ip configuration can be received from it. To do so execute the udhcpc command, by default eth0 is used.
To configure another interface via dhcp the parameter -i followed by the interface name e.g. eth1 must be given.
e.g. eth1

udhcpc -i eth1