Embedded module TQMLS10xxA - YOCTO Linux BSP documentation


In order to use the two 10 Gbit ethernet interfaces on the STKLS1046, the U-Boot bootloader has to be rebuilt with a new RCW configuration.
By default RCW 3333 (SerDes1) and 5559 (SerDes2) are configured in the TQMLS1046 U-Boot. This RCW configuration does not support 10Gbit ethernet.

In one of the next updates a U-Boot binary with a proper configuration for 10Gbit ethernet will be build by default.

As an example the RCW configuration 1133(SerDes1) and 5559(SerDes2) has been chosen for this how to.
See the tables below for further information about the RCW configuration.

SerDes1 - RCW 1133
Lane D Lane C Lane B Lane A PCIe GEN1/2
PLL Mapping
PCIe GEN3
PLL Mapping
XFI.9 XFI.10 SGMII.5 SGMII.6 2211 N/A
SerDes2 - RCW 5559
Lane D Lane C Lane B Lane A PCIe GEN1/2
PLL Mapping
PCIe GEN3
PLL Mapping
Unused PCIe.2 x1 PCIe.3 x1 SATA 2221 N/A
  1. After building the Yocto Image, following line has to be added to configuration file local.conf
    UBOOT_RCW_CONFIG = "TQMLS1046A_RCW_1133_5559"
  2. Create a new Image with the following command:
    bitbake core-image-minimal

According to the RCW 1133_5559 the DIP switches on STKLS1046 DIP must be set as follows:

S7 S8 S6 S5 S10
DIP 4 3 2 1 4 3 2 1 4 3 2 1 4 3 2 1 2 1
OFF
ON

1 2 3 4 5 6 7 8 9 10 11 12
RGMII.3 RGMII.4 SGMII.5 SGMII.6 XFI.10 XFI.9



To update bootloader / kernel / devicetree in a running system you have to copy the images to a tftp directory and upload them to the eMMC or SD Card.

Please see How to setup TFTP Server

1. Boot Starterkit and interrupt boot process in U-Boot

Hit any key to stop autoboot:
=>

3. Connect device via ethernet to the TFTP server which supplies the image

4. Provide the correct network configuration in U-Boot:

The manual network configuration must be done if no DHCP server is available, otherwise the configuration can be done via DHCP.

Manual network configuration
  • ⇒ setenv autoload no
  • ⇒ setenv serverip <serverip> (e.g.: setenv serverip 192.168.100.110)
  • ⇒ setenv ipaddr <ipaddr> (e.g.: setenv ipaddr 192.168.100.111)
  • ⇒ setenv netmask <netmask> (e.g.: setenv netmask 255.255.255.0)
Network configuration via DHCP
  • ⇒ setenv autoload no
  • ⇒ dhcp


5. Set U-Boot environment variables according to the image file name stored on the tftp server:

  • For U-Boot update on eMMC/SD Card : ⇒ setenv uboot_mmc <filename> (e.g.: setenv uboot_mmc u-boot-with-spl-pbl.bin)
  • For U-Boot update on QSPI NOR : ⇒ setenv uboot_qspi <filename> (e.g.: setenv uboot_qspi u-boot-pbl.bin.bswap )
  • For Device Tree update on eMMC/SD Card and QSPI NOR : ⇒ setenv fdt_file <filename> (e.g.: setenv fdt_file fsl-tqmls1043a-mbls10xxa.dtb)
  • For Kernel update on eMMC/SD Card and QSPI NOR : ⇒ setenv kernel <filename> (e.g.: setenv kernel linuximage)


6. Perform Update:

* U-Boot update on eMMC /SD Card : => run update_uboot_mmc
* U-Boot update on QSPI NOR : => run update_uboot_qspi
  • Device Tree update on eMMC /SD Card : ⇒ run update_fdt_mmc
  • Device Tree update on QSPI NOR : ⇒ run update_fdt_qspi
  • Kernel update on eMMC /SD Card : ⇒ run update_kernel_mmc
  • Kernel update on QSPI NOR : ⇒ run update_kernel_qspi