Embedded module TQMLX2160A - YOCTO Linux BSP documentation

Buttons

There are two GPIO buttons on the MBLX2160A. They are bound to the gpio-keys driver, and can be tested with the evtest tool.

GPIO Button Overview

Reference Button
S8 Key F1
S9 Key F2

GPIO Button Location

The buttons are available in the sysfs via the device /dev/input/event0 and can be tested with the evtest tool.

evtest /dev/input/event0

CAN

The MBLX2160A provides the CAN interfaces CAN0 and CAN1.

CAN configuration

DIP switches SW2 and SW3 are used to configure the CAN interfaces CAN0 and CAN1.

Function SWx-1 SWx-2
CAN-Bus not terminated OFF OFF
not defined (illegal state) OFF ON
not defined (illegal state) ON OFF
CAN-Bus terminated with 120 Ohm ON ON

CAN Loopback

CAN FD can not be automatically configured by systemd machine units due to a limitation in the systemd version in Yocto Zeus.

CAN FD can be enabled by the following commands in the shell:

ip link set can0 down
ip link set can0 up type can bitrate 500000 sample-point 0.75 dbitrate 4000000 dsample-point 0.8 fd on
ip link set can1 down
ip link set can1 up type can bitrate 500000 sample-point 0.75 dbitrate 4000000 dsample-point 0.8 fd on

CAN0 -> CAN1

candump can0&
cansend can1 5A1#11.2233.44556677.88

CAN1 -> CAN0

candump can1&
cansend can0 5A1#11.2233.44556677.88

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
DPMAC12 DPMAC18 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
DPMAC12 DPMAC18 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 

I2C

An overview of the onboard i2c devices is available here

U-Boot

Select i2c bus device

i2c dev [0,4,8,9,10]

Show all devices connected to the i2c bus currently selected:

i2c probe

Linux

Detect all devices connected to a i2c bus:

i2cdetect [0,1,5,9,10]

RTC

To set the hardware clock to the actual time and date use the following commands:

date -s [YYYY.]MM.DD-hh:mm[:ss]
hwclock -w

Temperature Sensors

The STKLX2160A has one temperature sensor, located on the TQMLX2160 SOM.

Device I²C Address
TQMLX2160A 0x1F

Read TQMLX2160A Temperature Sensor

cat /sys/devices/platform/soc/2000000.i2c/i2c-0/0-001f/hwmon/hwmon0/temp1_input

Read CPU internal Temperature Sensor
The QorIQ® Layerscape LX2160A CPU has an internal TMU that supports seven thermal zones, all can be read by the commands below:

Thermal zone0

cat /sys/devices/virtual/thermal/thermal_zone0/temp

Thermal zone1

cat /sys/devices/virtual/thermal/thermal_zone1/temp

Thermal zone2

cat /sys/devices/virtual/thermal/thermal_zone2/temp

Thermal zone3

cat /sys/devices/virtual/thermal/thermal_zone3/temp

Thermal zone4

cat /sys/devices/virtual/thermal/thermal_zone4/temp

Thermal zone5

cat /sys/devices/virtual/thermal/thermal_zone5/temp

Thermal zone6

cat /sys/devices/virtual/thermal/thermal_zone6/temp
The temperature is shown in millidegrees Celsius.

USB

With lsusb you can see all connected usb devices. To mount a partition of an usb stick you can excute mount /dev/<partition> <mount dir> (e.g. mount /dev/sdb1 /mnt). This will mount the first partition of sdb to /mnt. To unmount the device execute umount <mount dir> (e.g. umount /mnt).

User LED

The MBLX2160A has two user controllable LEDs, the behavior of these LEDs can be selected by several triggers.

User LED Overview

Reference LED name color linux filesystem
V41 led:user1 blue /sys/class/leds/led\:user1/trigger
V42 led:user2 blue /sys/class/leds/led\:user2/trigger

User LED Location

The user LED's are located in /sys/devices/platform/leds/leds/.
To change the behaviour a specific LED, the value in the file trigger must be overwritten.

The following values are valid:

For example set the trigger of led:user1 to heartbeat

echo heartbeat > /sys/class/leds/led\:user1/trigger

  • Last modified: 2024/03/13 08:59