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