Embedded module TQMLS102xA





Hardware

Hardware Issues

Linux BSP

Feature BSP Revision Remarks
TQ Product Chip Interface Function 0102 0109 0110 0111
TQMLS102xA LS102xA eSDHC eMMC / SD-Card mutually exclusive (cf user's manual)
TQMLS102xA LS102xA ETSEC RGMII / SGMII For SGMII MBLS102xA Rev. ≥ 0200 required
TQMLS102xA LS102xA I2C1 EEPROM / PMC
(System Reset Request)
TQMLS102xA LS102xA QSPI QSPI NOR Flash up to 2 Devices
TQMLS102xA LS102xA SATA SSD/HDD
TQMLS102xA LS102xA UART1 RS232 default console
TQMLS102xA LS102xA USB XHCI USB 3.0/2.0 USB Storage Device


Boot device BSP Revision Remarks
0102 0109 0110 0111
eMMC / SD mutually exclusive
QSPI NOR-Flash

Supported Features

Please note that BSP Rev. 0100 is intended to be used on a MBLS102xA Rev. 02xx and higher.

When using BSP Rev. 0100 on a MBLS102xA Rev.01xx, please see How to Use BSP Rev.0100 on MBLS102xA Rev.01xx.

Feature BSP Revision Remarks
TQ Product Chip Interface Function(s) Prerelease
7a3ec3d
0004 0005 0100 0102 0109 0110 0111
TQMLS102xA LS102x 2D-ACE 24 Bit RGB Pin header X17 on MBLS102xA
LS102x 2D-ACE SiI9022A HDMI
LS102x 2D-ACE SN75LVDS83B LVDS
LS102x CAN1 CAN 2.0 B
LS102x CAN2 CAN 2.0 B
LS102x eSDHC eMMC mutually exclusive (cf user's manual)
LS102x eSDHC SD card
LS102x eTSEC0 RGMII (10/100/1000 Mbit/s)
LS102x eTSEC1 SGMII (10/100/1000 Mbit/s) MBLS102xA Rev. ≥ 0200 required
LS102x eTSEC2 RGMII (10/100/1000 Mbit/s)
LS102x GPIO Digital I/O
LS102x I2C1 Bus access
LS102x I2C1 EEPROM (M24C64) EEPROM
LS102x I2C1 RTC (PCF85063) RTC
LS102x I2C1 TEMP-Sensor (SA56004X) TEMP-Sensor
LS102x LPUART1 TTL
LS102x PCIe PCI Express™ Base Specification, Revision 3.0 PCIe slot (X35) on MBLS102xA
Mini-PCIe slot (X24) on MBLS102xA
LS102x QSPI QSPI NOR Flash
LS102x SATA Serial ATA Revision 3.0
LS102x UART1 TTL
LS102x USB1 USB 3.0 OTG
LS102x USB2 USB2517 on MBLS102xA
MBLS102xA MBED/OpenSDA miniUSB Console Console available on X43 xor X5 (LPUART)
TLV320AIC3204 SAI1 Audio Codec U-Boot image with SAI muxing in RCW and SAI CPLD configuration required
SiI9022A HDMI Ext. Monitor MBLS102xA REV.0202
and
TQMLS102xA ≥ REV.0203 required
SN75LVDS83B LVDS Ext. Display X10 / X32
SP3222E UART1 RS232
SP491E LPUART1 RS485
STMPE811 I2C1 Touch planned for future revision
USB2517 USB2_H4 Host
USB2517 USB2_H5 Host
USB2517 USB2_H6 Host assembly option:
Safenet HL Chip Sentinel

2018/06/21 - REV.0111

2019/03/14 - REV.0110

2018/06/14 - REV.0109

2016/11/23 - REV.0102

2016/05/19 - REV.0100

2016/03/23 - REV.0005

we suggest to read the following pages before you proceed with this page

The BSP was developed for the starterkit TQMLS102xA. To use it in a product with special needs or a different basebord we suggest to define an own platform. To start with it make a copy of the platform definition and select the new platform definition

$ cd <BSPROOT>
$ cp -r <BSPROOT>/configs/platform-tq-@mb_name_code@ to <BSPROOT>/configs/<your-cool-platform>
$ ptxdist platform <BSPROOT>/configs/<your-cool-platform>/platformconfig

To start configuring your new platform type

$ ptxdist platformconfig

The first thing to change should be the platform name. Adapt things like kernel configuration, image creation etc. to your needs.

The new system will be built under <BSPROOT>/platform-<platformname_from_platformconfig>

Please read the build system documentation howto go further. Keep in mind that custom mainboards may need changes in bootloader and device tree. Give the new bootloader config and device tree a new name to cleanly distinguish them from the starterkit mainboard configuration.

If creating BSP for a new motherboard, make sure to create new configurations for bootloaders and device tree.

PTXdist uses release tar balls for software it loads from the net. You have to work with patches, if you need to make changes to the source code. Follow the instructions of the developers section in the PTXdist manual.

Changes that are made in the build directories will be deleted, when PTXdist needs to redo a buildstep.

PTXdist needs a package for every bit you need in your root FS to guarantee reproducible builds. To add your software, files etc. you have to provide local packages. Follow the instructions of the developers section in the PTXdist manual. PTXdist provides templates as starting point for own packages. Type

$ ptxdist newpackage

to see what package templates exist.

PTXdist images

we suggest to read the following pages before you proceed with this page

Finally, you will find the built images in platform-<platformname>/images.

Complete system images:

  • uboot-sd.img

The complete system images are intend for:

  • development system initialisation
  • deployment

Bootloader images:

  • u-boot.bin
  • u-boot-with-spl-pbl-mmcsd-2017.07.bin
  • u-boot-with-spl-pbl-ecc-mmcsd-2017.07.bin
  • u-boot-pbl.bin.bswap
  • u-boot-pbl.bin.ecc.bswap
  • u-boot-pbl.bin.ae.ecc.bswap

Linux images:

  • linuximage : Kernel (zImage)
  • ls1021a-tqmls1021a-mbls102x.dtb : device tree blob for TQMLS102xA on MBLS102xA

Rootfs images:

  • root.tgz : Root file system archive (for NFS etc.)
  • root.ext2 : Root file system partition image (for system update)
  • root.ubi : ubi partition for QSPI NOR
  • root.ubifs : ubifs image for QSPI NOR

Firmware images:

  • firmware.tgz : firmware image contains all devicetree blobs and linux kernel image
  • firmware.img : firmware image archive (for firmware image creation)

To install a new firmware use SD cards. To copy the built images on the host system to a connected card type:

$ cd <BSP project>/platform-<platform_name>/images
$ sudo dd if=@mod_name_code@_hd.img of=/dev/sdf bs=1M conv=fsync #Assuming the SD card is assigned to /dev/sdf

To find out what device file the SD card has, type “dmesg” after you connect the card to see the system messages. At the bottom you'll see some “Attached scsi …” messages along with something like:

[ 8197.588395]  sdf: sdf1


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 from eMMC or SD and stop autoboot in U-Boot

Hit any key to stop autoboot:  0
=>

2. Set U-Boot variable mmcdev according to the drive you want to write to

=> setenv mmcdev <Nr.>

mmcdev depends on the placement of eMMC on TQMLS102xA module

Device assignment:
mmcdev 0 = SD Card (if eMMC ist not placed)
mmcdev 0 = eMMC (if eMMC ist placed)

3. Connect device via ethernet to a tftp server supplying the image
4. Provide the correct network configuration in U-Boot:

  • ⇒ 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)


5. Provide U-Boot the file name of the desired image on the tftp server:

  • For U-Boot update on eMMC/SD Card : ⇒ setenv uboot <filename>
  • For U-Boot update on QSPI NOR : ⇒ setenv uboot-qspi <filename>
  • For Device Tree update on eMMC/SD Card and QSPI NOR : ⇒ setenv fdt_file <filename>
  • For Kernel update on eMMC/SD Card and QSPI NOR : ⇒ setenv zimage <filename>


6. Perform Update:

  • U-Boot update on eMMC /SD Card : ⇒ run update_uboot
  • U-Boot update on QSPI NOR : ⇒ run update_uboot-qspi
  • Device Tree update on eMMC /SD Card : ⇒ run update_fdt
  • Device Tree update on QSPI NOR : ⇒ run update_fdt-qspi
  • Kernel update on eMMC /SD Card : ⇒ run update_kernel
  • Kernel update on QSPI NOR : ⇒ run update_kernel-qspi

The u-boot update scripts automatically implement the selection of the primary copy to boot.



Prerequisites

To boot the TQMLS102xA from network you need a working bootloader in eMMC/SD-card or SPI-NOR (placement option on TQMLS102xA) which is able to get the kernel image over tftp and to provide the kernel with commandline settings for NFS.
The dtb-file and kernel image have to be provided via tftp and the rootfs via nfs.

Configuration of U-Boot Environment

The bootloader environment needs to be modified to work with your tftp-server and your nfs-server.

  • setenv autoload no
  • setenv serverip <serverip> (e.g.: setenv serverip 192.168.100.1)
  • setenv ipaddr <ipaddr> (e.g.: setenv ipaddr 192.168.0.10)
  • setenv netmask <netmask> (e.g.: setenv netmask 255.255.255.0)
  • setenv rootpath <rootpath> (NFS share has to set in /etc/exports on the Computer that runs the NFS server first)
  • setenv fdt_file <fdt_file> (name of devicetree file to be downloaded from the tftp server)
  • setenv zimage <zimage> (name of the Linux kernel image to be downloaded from the tftp server)

device assignment

update commands uboot

  • U-Boot update: ⇒ run update_uboot
  • Device Tree update: ⇒ run update_fdt
  • Kernel update: ⇒ run update_kernel

serial downloader

Usage of serial downloader tool

Downloads

Build System / Toolchains

PTXdist version XXXX.YY.0 is required to compile an OSELAS Toolchain XXXX.YY.Z.
The version of PTXdist and toolchain required to build a given BSP revision is shown in the version matrix.


Build System PTXdist 2016.04

Build System PTXdist 2015.05

Build System PTXdist 2015.02

OSELAS Toolchain 2013.12.2

PTXdist projects for compiling OSELAS toolchains

Downloads

TQ Board Support Packages

The Board Support Packages (BSPs) usually provide source code as well as precompiled images for one or more platforms.
Please see the version matrix for details of each BSP revision.

TQMLS102xA BSP Rev.0111☚ current revision
MD5SUM: 965464329762A1634C739678F36EB765

TQMLS102xA BSP Rev.0110
MD5SUM: 265CD64894ECF83DA600AC99BD5DECC6

TQMLS102xA BSP Rev.0109
MD5SUM: CFAFA4F29B4C427E82EA7544F90A7AD9

TQMLS102xA BSP Rev.0102
MD5SUM: 1F6BB7DC98E2E10AEB5C528382187971

Linux BSP Rev.0102 for TQMLS102xA - Hotfix QSPI Boot
MD5SUM: 699E8B791D9E25CA3C0CEC31A43200E6

TQMLS102xA BSP Rev.0100
MD5SUM: FA1BDF3A2E42725709DD6F6A61323D7F

TQMLS102xA BSP Prerelease Rev.0005
MD5SUM: 8F8D58F445107A031883ACB222C9875C

TQMLS102xA BSP Prerelease Rev.0004
MD5SUM: B8361BCA27933080939CFF98120EE204

Build System / Toolchains

PTXdist version XXXX.YY.0 is required to compile an OSELAS Toolchain XXXX.YY.Z.
The version of PTXdist and toolchain required to build a given BSP revision is shown in the version matrix.


Build System PTXdist 2018.09

Build System PTXdist 2016.04

Build System PTXdist 2015.05

Build System PTXdist 2015.02

OSELAS Toolchain 2018.02.0

OSELAS Toolchain 2013.12.2

PTXdist projects for compiling OSELAS toolchains


In BSP Rev.0106 the second QSPI NOR chip has been removed from the default BSP configuration.
If a second device is placed on the TQMLS102xA module please apply the following changes in the
devicetree source file ls1021a-tqmls1021a.dtsi.

 &qspi {
+       fsl,qspi-has-second-chip;
        status = "okay";
 
        qflash0: mt25ql512@0 {
@@ -139,12 +138,4 @@
                        };
                };
        };

+       qflash1: mt25ql512@1 {
+               compatible = "micron,n25q512ax3", "cfi-flash";
+               #address-cells = <1>;
+               #size-cells = <1>;
+               spi-max-frequency = <20000000>;
+               reg = <1>;
+       };
 };

BSP Rev.0100 was designed to be run on Rev.0200 of the MBLS012xA.

On Rev.0200 of the MBLS102xA a different package type of the ethernet PHY is used than on Rev.01xx.
This results in different PHY addresses:

Connector Controller MBLS102xA Rev.01xx MBLS102xA Rev.02xx
X12 EC1 0x0D 0x0C
X13 EC2 0x13 0x03
X11 EC3 0x05 0x04

In order to use BSP Rev.0100 on MBLS102xA Rev.01xx the following patches must not be applied:

  • U-Boot
    • 0010-tqmls102xa-set-phy-addresses-for-mbls1021a.0200.patch
    • 0011-phy_ti-adapt-hard-coded-skew-to-custom-values.patch
  • Linux
    • 0110-arm-dt-mbls102xa-set-phy-addresses-for-rev.0200.patch
    • 0111-dt-mbls102xa-adapt-phy-timing-to-rev0200.patch

To “disable” these patches, simply comment them out in the corresponding series file:

  • U-Boot: configs/platform-tq-mbls102xa/patches/u-boot-2016.05/series
  • Linux: configs/platform-tq-mbls102xa/patches/linux-4.4/series

Please note that the following interfaces cannot be used when using Rev.01xx of the MBLS102xA:

  • EC2
  • SATA


BSP Rev.0100 was designed to be run on Rev.0200 of the MBLS012xA.

On Rev.0200 of the MBLS102xA a different package type of the ethernet PHY is used than on Rev.01xx.
This results in different PHY addresses:

Connector Controller MBLS102xA Rev.01xx MBLS102xA Rev.02xx
X12 EC1 0x0D 0x0C
X13 EC2 0x13 0x03
X11 EC3 0x05 0x04

In order to use BSP Rev.0100 on MBLS102xA Rev.01xx the following patches must not be applied:

  • U-Boot
    • 0010-tqmls102xa-set-phy-addresses-for-mbls1021a.0200.patch
    • 0011-phy_ti-adapt-hard-coded-skew-to-custom-values.patch
  • Linux
    • 0110-arm-dt-mbls102xa-set-phy-addresses-for-rev.0200.patch
    • 0111-dt-mbls102xa-adapt-phy-timing-to-rev0200.patch

To “disable” these patches, simply comment them out in the corresponding series file:

  • U-Boot: configs/platform-tq-mbls102xa/patches/u-boot-2016.05/series
  • Linux: configs/platform-tq-mbls102xa/patches/linux-4.4/series





Devicetree can be edit with the fdt commands under U-Boot.

For testing purpose only. For bigger changes, please compile the Devicetree.
Therefore you can have a look at the following tutorial.
Tested with TQMLS102xA BSP Rev.0102

1) At first the fdt file has to be loaded from the current boot medium (mmc) into RAM.

=> run loadfdt

2) Next step is to set the predefined U-Boot environment variable fdt_addr through the fdt addr command.

=> fdt addr $fdt_addr

3) Afterwards the size of the fdt has to be increased (to the next 4K divider) in order to have some space for modifications. This is simply done by entering:

=> fdt resize 

4) List device in the tree you want to change to have a look at the default settings.

Example

5) To modify a value of a propertie use the fdt set command.

=> fdt set <path> <property> <value> 

Example

6) Optional: If you want to save your modified Devicetree back to mmc you'll have to run the following command:

=> mmc dev $mmcdev; mmc write $fdt_addr $fdt_start $fdt_size

* BSP Rev. >0102 <code>⇒ fatwrite mmc $mmcdev:$firmwarepart $fdt_addr $fdt_file <totalsize></code> You can find out <totalsize> of the modified fdt by entering the command fdt header Otherwise you can boot your module with the changed Devicetree right after the modification.



Affects TQMLS102xA with eMMC assembled
Issue Sporadic kernel messages from eMMC driver:
mmc0: Got data interrupt 0x00000002 even though no data operation was in progress
Effect No known effect regarding usability and performance of the eMMC
Solution / Workaround add patch emmc-remove-interrupt-0x00000002-message.zip
Affects EC2, HDMI, SATA on MBLS102xA Rev.01xx
Issue EC2, HDMI, SATA are not useable on MBLS102xA Rev.01xx
Effect EC2, HDMI, SATA are not useable on MBLS102xA Rev.01xx
Solution / Workaround Due to a hardware issue there is no workaround
Affects JTAG interface on MBLS102xA Rev.01xx and Rev.0200
Issue Some Debuggers might require VREF voltage at X37_1
Effect Some Debuggers can't establish a connection to the LS102xA
Solution / Workaround Place resistor R646 (100R, 0402) on MBLS102xA

Affects MBLS102xA Rev.0200 and Rev.0201
Issue JTAG interface does not work due to an issue with the signal CPU_3V3_TRST#
Solution / Workaround Remove D40 on MBLS102xA Rev.0200 and Rev.0201

Affects MBLS102xA Rev.01xx and TQMLS102xA Rev.02xx
Issue Booting from SD Card/eMMC is not possible
Solution / Workaround Replace resistor R167 (10K, 0402) with (1K, 0402) on MBLS102xA REV.01xx

Affects 2nd CPU Core LS102x
Issue 2nd CPU Core Linux Kernel does not start the 2nd CPU Core
Effect only one CPU Core is useable
Solution / Workaround Kernel option CONFIG_ARM_PSCI must be selected in the ptxdist kernelconfig

QNX BSP

VxWorks BSP

Downloads for TQMLS102xA

Starterkit STKLS102xA

Quick start guide


Third-Party Add-Ons

Hardware

Hardware Issues

Linux BSP

Feature BSP Revision Remarks
TQ Product Chip Interface Function 0102 0109 0110 0111
TQMLS102xA LS102xA eSDHC eMMC / SD-Card mutually exclusive (cf user's manual)
TQMLS102xA LS102xA ETSEC RGMII / SGMII For SGMII MBLS102xA Rev. ≥ 0200 required
TQMLS102xA LS102xA I2C1 EEPROM / PMC
(System Reset Request)
TQMLS102xA LS102xA QSPI QSPI NOR Flash up to 2 Devices
TQMLS102xA LS102xA SATA SSD/HDD
TQMLS102xA LS102xA UART1 RS232 default console
TQMLS102xA LS102xA USB XHCI USB 3.0/2.0 USB Storage Device


Boot device BSP Revision Remarks
0102 0109 0110 0111
eMMC / SD mutually exclusive
QSPI NOR-Flash

Supported Features

Please note that BSP Rev. 0100 is intended to be used on a MBLS102xA Rev. 02xx and higher.

When using BSP Rev. 0100 on a MBLS102xA Rev.01xx, please see How to Use BSP Rev.0100 on MBLS102xA Rev.01xx.

Feature BSP Revision Remarks
TQ Product Chip Interface Function(s) Prerelease
7a3ec3d
0004 0005 0100 0102 0109 0110 0111
TQMLS102xA LS102x 2D-ACE 24 Bit RGB Pin header X17 on MBLS102xA
LS102x 2D-ACE SiI9022A HDMI
LS102x 2D-ACE SN75LVDS83B LVDS
LS102x CAN1 CAN 2.0 B
LS102x CAN2 CAN 2.0 B
LS102x eSDHC eMMC mutually exclusive (cf user's manual)
LS102x eSDHC SD card
LS102x eTSEC0 RGMII (10/100/1000 Mbit/s)
LS102x eTSEC1 SGMII (10/100/1000 Mbit/s) MBLS102xA Rev. ≥ 0200 required
LS102x eTSEC2 RGMII (10/100/1000 Mbit/s)
LS102x GPIO Digital I/O
LS102x I2C1 Bus access
LS102x I2C1 EEPROM (M24C64) EEPROM
LS102x I2C1 RTC (PCF85063) RTC
LS102x I2C1 TEMP-Sensor (SA56004X) TEMP-Sensor
LS102x LPUART1 TTL
LS102x PCIe PCI Express™ Base Specification, Revision 3.0 PCIe slot (X35) on MBLS102xA
Mini-PCIe slot (X24) on MBLS102xA
LS102x QSPI QSPI NOR Flash
LS102x SATA Serial ATA Revision 3.0
LS102x UART1 TTL
LS102x USB1 USB 3.0 OTG
LS102x USB2 USB2517 on MBLS102xA
MBLS102xA MBED/OpenSDA miniUSB Console Console available on X43 xor X5 (LPUART)
TLV320AIC3204 SAI1 Audio Codec U-Boot image with SAI muxing in RCW and SAI CPLD configuration required
SiI9022A HDMI Ext. Monitor MBLS102xA REV.0202
and
TQMLS102xA ≥ REV.0203 required
SN75LVDS83B LVDS Ext. Display X10 / X32
SP3222E UART1 RS232
SP491E LPUART1 RS485
STMPE811 I2C1 Touch planned for future revision
USB2517 USB2_H4 Host
USB2517 USB2_H5 Host
USB2517 USB2_H6 Host assembly option:
Safenet HL Chip Sentinel

2018/06/21 - REV.0111

2019/03/14 - REV.0110

2018/06/14 - REV.0109

2016/11/23 - REV.0102

2016/05/19 - REV.0100

2016/03/23 - REV.0005

we suggest to read the following pages before you proceed with this page

The BSP was developed for the starterkit TQMLS102xA. To use it in a product with special needs or a different basebord we suggest to define an own platform. To start with it make a copy of the platform definition and select the new platform definition

$ cd <BSPROOT>
$ cp -r <BSPROOT>/configs/platform-tq-@mb_name_code@ to <BSPROOT>/configs/<your-cool-platform>
$ ptxdist platform <BSPROOT>/configs/<your-cool-platform>/platformconfig

To start configuring your new platform type

$ ptxdist platformconfig

The first thing to change should be the platform name. Adapt things like kernel configuration, image creation etc. to your needs.

The new system will be built under <BSPROOT>/platform-<platformname_from_platformconfig>

Please read the build system documentation howto go further. Keep in mind that custom mainboards may need changes in bootloader and device tree. Give the new bootloader config and device tree a new name to cleanly distinguish them from the starterkit mainboard configuration.

If creating BSP for a new motherboard, make sure to create new configurations for bootloaders and device tree.

PTXdist uses release tar balls for software it loads from the net. You have to work with patches, if you need to make changes to the source code. Follow the instructions of the developers section in the PTXdist manual.

Changes that are made in the build directories will be deleted, when PTXdist needs to redo a buildstep.

PTXdist needs a package for every bit you need in your root FS to guarantee reproducible builds. To add your software, files etc. you have to provide local packages. Follow the instructions of the developers section in the PTXdist manual. PTXdist provides templates as starting point for own packages. Type

$ ptxdist newpackage

to see what package templates exist.

PTXdist images

we suggest to read the following pages before you proceed with this page

Finally, you will find the built images in platform-<platformname>/images.

Complete system images:

  • uboot-sd.img

The complete system images are intend for:

  • development system initialisation
  • deployment

Bootloader images:

  • u-boot.bin
  • u-boot-with-spl-pbl-mmcsd-2017.07.bin
  • u-boot-with-spl-pbl-ecc-mmcsd-2017.07.bin
  • u-boot-pbl.bin.bswap
  • u-boot-pbl.bin.ecc.bswap
  • u-boot-pbl.bin.ae.ecc.bswap

Linux images:

  • linuximage : Kernel (zImage)
  • ls1021a-tqmls1021a-mbls102x.dtb : device tree blob for TQMLS102xA on MBLS102xA

Rootfs images:

  • root.tgz : Root file system archive (for NFS etc.)
  • root.ext2 : Root file system partition image (for system update)
  • root.ubi : ubi partition for QSPI NOR
  • root.ubifs : ubifs image for QSPI NOR

Firmware images:

  • firmware.tgz : firmware image contains all devicetree blobs and linux kernel image
  • firmware.img : firmware image archive (for firmware image creation)

To install a new firmware use SD cards. To copy the built images on the host system to a connected card type:

$ cd <BSP project>/platform-<platform_name>/images
$ sudo dd if=@mod_name_code@_hd.img of=/dev/sdf bs=1M conv=fsync #Assuming the SD card is assigned to /dev/sdf

To find out what device file the SD card has, type “dmesg” after you connect the card to see the system messages. At the bottom you'll see some “Attached scsi …” messages along with something like:

[ 8197.588395]  sdf: sdf1


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 from eMMC or SD and stop autoboot in U-Boot

Hit any key to stop autoboot:  0
=>

2. Set U-Boot variable mmcdev according to the drive you want to write to

=> setenv mmcdev <Nr.>

mmcdev depends on the placement of eMMC on TQMLS102xA module

Device assignment:
mmcdev 0 = SD Card (if eMMC ist not placed)
mmcdev 0 = eMMC (if eMMC ist placed)

3. Connect device via ethernet to a tftp server supplying the image
4. Provide the correct network configuration in U-Boot:

  • ⇒ 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)


5. Provide U-Boot the file name of the desired image on the tftp server:

  • For U-Boot update on eMMC/SD Card : ⇒ setenv uboot <filename>
  • For U-Boot update on QSPI NOR : ⇒ setenv uboot-qspi <filename>
  • For Device Tree update on eMMC/SD Card and QSPI NOR : ⇒ setenv fdt_file <filename>
  • For Kernel update on eMMC/SD Card and QSPI NOR : ⇒ setenv zimage <filename>


6. Perform Update:

  • U-Boot update on eMMC /SD Card : ⇒ run update_uboot
  • U-Boot update on QSPI NOR : ⇒ run update_uboot-qspi
  • Device Tree update on eMMC /SD Card : ⇒ run update_fdt
  • Device Tree update on QSPI NOR : ⇒ run update_fdt-qspi
  • Kernel update on eMMC /SD Card : ⇒ run update_kernel
  • Kernel update on QSPI NOR : ⇒ run update_kernel-qspi

The u-boot update scripts automatically implement the selection of the primary copy to boot.



Prerequisites

To boot the TQMLS102xA from network you need a working bootloader in eMMC/SD-card or SPI-NOR (placement option on TQMLS102xA) which is able to get the kernel image over tftp and to provide the kernel with commandline settings for NFS.
The dtb-file and kernel image have to be provided via tftp and the rootfs via nfs.

Configuration of U-Boot Environment

The bootloader environment needs to be modified to work with your tftp-server and your nfs-server.

  • setenv autoload no
  • setenv serverip <serverip> (e.g.: setenv serverip 192.168.100.1)
  • setenv ipaddr <ipaddr> (e.g.: setenv ipaddr 192.168.0.10)
  • setenv netmask <netmask> (e.g.: setenv netmask 255.255.255.0)
  • setenv rootpath <rootpath> (NFS share has to set in /etc/exports on the Computer that runs the NFS server first)
  • setenv fdt_file <fdt_file> (name of devicetree file to be downloaded from the tftp server)
  • setenv zimage <zimage> (name of the Linux kernel image to be downloaded from the tftp server)

device assignment

update commands uboot

  • U-Boot update: ⇒ run update_uboot
  • Device Tree update: ⇒ run update_fdt
  • Kernel update: ⇒ run update_kernel

serial downloader

Usage of serial downloader tool

Downloads

Build System / Toolchains

PTXdist version XXXX.YY.0 is required to compile an OSELAS Toolchain XXXX.YY.Z.
The version of PTXdist and toolchain required to build a given BSP revision is shown in the version matrix.


Build System PTXdist 2016.04

Build System PTXdist 2015.05

Build System PTXdist 2015.02

OSELAS Toolchain 2013.12.2

PTXdist projects for compiling OSELAS toolchains

Downloads

TQ Board Support Packages

The Board Support Packages (BSPs) usually provide source code as well as precompiled images for one or more platforms.
Please see the version matrix for details of each BSP revision.

TQMLS102xA BSP Rev.0111☚ current revision
MD5SUM: 965464329762A1634C739678F36EB765

TQMLS102xA BSP Rev.0110
MD5SUM: 265CD64894ECF83DA600AC99BD5DECC6

TQMLS102xA BSP Rev.0109
MD5SUM: CFAFA4F29B4C427E82EA7544F90A7AD9

TQMLS102xA BSP Rev.0102
MD5SUM: 1F6BB7DC98E2E10AEB5C528382187971

Linux BSP Rev.0102 for TQMLS102xA - Hotfix QSPI Boot
MD5SUM: 699E8B791D9E25CA3C0CEC31A43200E6

TQMLS102xA BSP Rev.0100
MD5SUM: FA1BDF3A2E42725709DD6F6A61323D7F

TQMLS102xA BSP Prerelease Rev.0005
MD5SUM: 8F8D58F445107A031883ACB222C9875C

TQMLS102xA BSP Prerelease Rev.0004
MD5SUM: B8361BCA27933080939CFF98120EE204

Build System / Toolchains

PTXdist version XXXX.YY.0 is required to compile an OSELAS Toolchain XXXX.YY.Z.
The version of PTXdist and toolchain required to build a given BSP revision is shown in the version matrix.


Build System PTXdist 2018.09

Build System PTXdist 2016.04

Build System PTXdist 2015.05

Build System PTXdist 2015.02

OSELAS Toolchain 2018.02.0

OSELAS Toolchain 2013.12.2

PTXdist projects for compiling OSELAS toolchains


In BSP Rev.0106 the second QSPI NOR chip has been removed from the default BSP configuration.
If a second device is placed on the TQMLS102xA module please apply the following changes in the
devicetree source file ls1021a-tqmls1021a.dtsi.

 &qspi {
+       fsl,qspi-has-second-chip;
        status = "okay";
 
        qflash0: mt25ql512@0 {
@@ -139,12 +138,4 @@
                        };
                };
        };

+       qflash1: mt25ql512@1 {
+               compatible = "micron,n25q512ax3", "cfi-flash";
+               #address-cells = <1>;
+               #size-cells = <1>;
+               spi-max-frequency = <20000000>;
+               reg = <1>;
+       };
 };

BSP Rev.0100 was designed to be run on Rev.0200 of the MBLS012xA.

On Rev.0200 of the MBLS102xA a different package type of the ethernet PHY is used than on Rev.01xx.
This results in different PHY addresses:

Connector Controller MBLS102xA Rev.01xx MBLS102xA Rev.02xx
X12 EC1 0x0D 0x0C
X13 EC2 0x13 0x03
X11 EC3 0x05 0x04

In order to use BSP Rev.0100 on MBLS102xA Rev.01xx the following patches must not be applied:

  • U-Boot
    • 0010-tqmls102xa-set-phy-addresses-for-mbls1021a.0200.patch
    • 0011-phy_ti-adapt-hard-coded-skew-to-custom-values.patch
  • Linux
    • 0110-arm-dt-mbls102xa-set-phy-addresses-for-rev.0200.patch
    • 0111-dt-mbls102xa-adapt-phy-timing-to-rev0200.patch

To “disable” these patches, simply comment them out in the corresponding series file:

  • U-Boot: configs/platform-tq-mbls102xa/patches/u-boot-2016.05/series
  • Linux: configs/platform-tq-mbls102xa/patches/linux-4.4/series

Please note that the following interfaces cannot be used when using Rev.01xx of the MBLS102xA:

  • EC2
  • SATA


BSP Rev.0100 was designed to be run on Rev.0200 of the MBLS012xA.

On Rev.0200 of the MBLS102xA a different package type of the ethernet PHY is used than on Rev.01xx.
This results in different PHY addresses:

Connector Controller MBLS102xA Rev.01xx MBLS102xA Rev.02xx
X12 EC1 0x0D 0x0C
X13 EC2 0x13 0x03
X11 EC3 0x05 0x04

In order to use BSP Rev.0100 on MBLS102xA Rev.01xx the following patches must not be applied:

  • U-Boot
    • 0010-tqmls102xa-set-phy-addresses-for-mbls1021a.0200.patch
    • 0011-phy_ti-adapt-hard-coded-skew-to-custom-values.patch
  • Linux
    • 0110-arm-dt-mbls102xa-set-phy-addresses-for-rev.0200.patch
    • 0111-dt-mbls102xa-adapt-phy-timing-to-rev0200.patch

To “disable” these patches, simply comment them out in the corresponding series file:

  • U-Boot: configs/platform-tq-mbls102xa/patches/u-boot-2016.05/series
  • Linux: configs/platform-tq-mbls102xa/patches/linux-4.4/series





Devicetree can be edit with the fdt commands under U-Boot.

For testing purpose only. For bigger changes, please compile the Devicetree.
Therefore you can have a look at the following tutorial.
Tested with TQMLS102xA BSP Rev.0102

1) At first the fdt file has to be loaded from the current boot medium (mmc) into RAM.

=> run loadfdt

2) Next step is to set the predefined U-Boot environment variable fdt_addr through the fdt addr command.

=> fdt addr $fdt_addr

3) Afterwards the size of the fdt has to be increased (to the next 4K divider) in order to have some space for modifications. This is simply done by entering:

=> fdt resize 

4) List device in the tree you want to change to have a look at the default settings.

Example

5) To modify a value of a propertie use the fdt set command.

=> fdt set <path> <property> <value> 

Example

6) Optional: If you want to save your modified Devicetree back to mmc you'll have to run the following command:

=> mmc dev $mmcdev; mmc write $fdt_addr $fdt_start $fdt_size

* BSP Rev. >0102 <code>⇒ fatwrite mmc $mmcdev:$firmwarepart $fdt_addr $fdt_file <totalsize></code> You can find out <totalsize> of the modified fdt by entering the command fdt header Otherwise you can boot your module with the changed Devicetree right after the modification.



Affects TQMLS102xA with eMMC assembled
Issue Sporadic kernel messages from eMMC driver:
mmc0: Got data interrupt 0x00000002 even though no data operation was in progress
Effect No known effect regarding usability and performance of the eMMC
Solution / Workaround add patch emmc-remove-interrupt-0x00000002-message.zip
Affects EC2, HDMI, SATA on MBLS102xA Rev.01xx
Issue EC2, HDMI, SATA are not useable on MBLS102xA Rev.01xx
Effect EC2, HDMI, SATA are not useable on MBLS102xA Rev.01xx
Solution / Workaround Due to a hardware issue there is no workaround
Affects JTAG interface on MBLS102xA Rev.01xx and Rev.0200
Issue Some Debuggers might require VREF voltage at X37_1
Effect Some Debuggers can't establish a connection to the LS102xA
Solution / Workaround Place resistor R646 (100R, 0402) on MBLS102xA

Affects MBLS102xA Rev.0200 and Rev.0201
Issue JTAG interface does not work due to an issue with the signal CPU_3V3_TRST#
Solution / Workaround Remove D40 on MBLS102xA Rev.0200 and Rev.0201

Affects MBLS102xA Rev.01xx and TQMLS102xA Rev.02xx
Issue Booting from SD Card/eMMC is not possible
Solution / Workaround Replace resistor R167 (10K, 0402) with (1K, 0402) on MBLS102xA REV.01xx

Affects 2nd CPU Core LS102x
Issue 2nd CPU Core Linux Kernel does not start the 2nd CPU Core
Effect only one CPU Core is useable
Solution / Workaround Kernel option CONFIG_ARM_PSCI must be selected in the ptxdist kernelconfig

QNX BSP

VxWorks BSP

Hardware

Hardware Issues

Linux BSP

Feature BSP Revision Remarks
TQ Product Chip Interface Function 0102 0109 0110 0111
TQMLS102xA LS102xA eSDHC eMMC / SD-Card mutually exclusive (cf user's manual)
TQMLS102xA LS102xA ETSEC RGMII / SGMII For SGMII MBLS102xA Rev. ≥ 0200 required
TQMLS102xA LS102xA I2C1 EEPROM / PMC
(System Reset Request)
TQMLS102xA LS102xA QSPI QSPI NOR Flash up to 2 Devices
TQMLS102xA LS102xA SATA SSD/HDD
TQMLS102xA LS102xA UART1 RS232 default console
TQMLS102xA LS102xA USB XHCI USB 3.0/2.0 USB Storage Device


Boot device BSP Revision Remarks
0102 0109 0110 0111
eMMC / SD mutually exclusive
QSPI NOR-Flash

Supported Features

Please note that BSP Rev. 0100 is intended to be used on a MBLS102xA Rev. 02xx and higher.

When using BSP Rev. 0100 on a MBLS102xA Rev.01xx, please see How to Use BSP Rev.0100 on MBLS102xA Rev.01xx.

Feature BSP Revision Remarks
TQ Product Chip Interface Function(s) Prerelease
7a3ec3d
0004 0005 0100 0102 0109 0110 0111
TQMLS102xA LS102x 2D-ACE 24 Bit RGB Pin header X17 on MBLS102xA
LS102x 2D-ACE SiI9022A HDMI
LS102x 2D-ACE SN75LVDS83B LVDS
LS102x CAN1 CAN 2.0 B
LS102x CAN2 CAN 2.0 B
LS102x eSDHC eMMC mutually exclusive (cf user's manual)
LS102x eSDHC SD card
LS102x eTSEC0 RGMII (10/100/1000 Mbit/s)
LS102x eTSEC1 SGMII (10/100/1000 Mbit/s) MBLS102xA Rev. ≥ 0200 required
LS102x eTSEC2 RGMII (10/100/1000 Mbit/s)
LS102x GPIO Digital I/O
LS102x I2C1 Bus access
LS102x I2C1 EEPROM (M24C64) EEPROM
LS102x I2C1 RTC (PCF85063) RTC
LS102x I2C1 TEMP-Sensor (SA56004X) TEMP-Sensor
LS102x LPUART1 TTL
LS102x PCIe PCI Express™ Base Specification, Revision 3.0 PCIe slot (X35) on MBLS102xA
Mini-PCIe slot (X24) on MBLS102xA
LS102x QSPI QSPI NOR Flash
LS102x SATA Serial ATA Revision 3.0
LS102x UART1 TTL
LS102x USB1 USB 3.0 OTG
LS102x USB2 USB2517 on MBLS102xA
MBLS102xA MBED/OpenSDA miniUSB Console Console available on X43 xor X5 (LPUART)
TLV320AIC3204 SAI1 Audio Codec U-Boot image with SAI muxing in RCW and SAI CPLD configuration required
SiI9022A HDMI Ext. Monitor MBLS102xA REV.0202
and
TQMLS102xA ≥ REV.0203 required
SN75LVDS83B LVDS Ext. Display X10 / X32
SP3222E UART1 RS232
SP491E LPUART1 RS485
STMPE811 I2C1 Touch planned for future revision
USB2517 USB2_H4 Host
USB2517 USB2_H5 Host
USB2517 USB2_H6 Host assembly option:
Safenet HL Chip Sentinel

2018/06/21 - REV.0111

2019/03/14 - REV.0110

2018/06/14 - REV.0109

2016/11/23 - REV.0102

2016/05/19 - REV.0100

2016/03/23 - REV.0005

we suggest to read the following pages before you proceed with this page

The BSP was developed for the starterkit TQMLS102xA. To use it in a product with special needs or a different basebord we suggest to define an own platform. To start with it make a copy of the platform definition and select the new platform definition

$ cd <BSPROOT>
$ cp -r <BSPROOT>/configs/platform-tq-@mb_name_code@ to <BSPROOT>/configs/<your-cool-platform>
$ ptxdist platform <BSPROOT>/configs/<your-cool-platform>/platformconfig

To start configuring your new platform type

$ ptxdist platformconfig

The first thing to change should be the platform name. Adapt things like kernel configuration, image creation etc. to your needs.

The new system will be built under <BSPROOT>/platform-<platformname_from_platformconfig>

Please read the build system documentation howto go further. Keep in mind that custom mainboards may need changes in bootloader and device tree. Give the new bootloader config and device tree a new name to cleanly distinguish them from the starterkit mainboard configuration.

If creating BSP for a new motherboard, make sure to create new configurations for bootloaders and device tree.

PTXdist uses release tar balls for software it loads from the net. You have to work with patches, if you need to make changes to the source code. Follow the instructions of the developers section in the PTXdist manual.

Changes that are made in the build directories will be deleted, when PTXdist needs to redo a buildstep.

PTXdist needs a package for every bit you need in your root FS to guarantee reproducible builds. To add your software, files etc. you have to provide local packages. Follow the instructions of the developers section in the PTXdist manual. PTXdist provides templates as starting point for own packages. Type

$ ptxdist newpackage

to see what package templates exist.

PTXdist images

we suggest to read the following pages before you proceed with this page

Finally, you will find the built images in platform-<platformname>/images.

Complete system images:

  • uboot-sd.img

The complete system images are intend for:

  • development system initialisation
  • deployment

Bootloader images:

  • u-boot.bin
  • u-boot-with-spl-pbl-mmcsd-2017.07.bin
  • u-boot-with-spl-pbl-ecc-mmcsd-2017.07.bin
  • u-boot-pbl.bin.bswap
  • u-boot-pbl.bin.ecc.bswap
  • u-boot-pbl.bin.ae.ecc.bswap

Linux images:

  • linuximage : Kernel (zImage)
  • ls1021a-tqmls1021a-mbls102x.dtb : device tree blob for TQMLS102xA on MBLS102xA

Rootfs images:

  • root.tgz : Root file system archive (for NFS etc.)
  • root.ext2 : Root file system partition image (for system update)
  • root.ubi : ubi partition for QSPI NOR
  • root.ubifs : ubifs image for QSPI NOR

Firmware images:

  • firmware.tgz : firmware image contains all devicetree blobs and linux kernel image
  • firmware.img : firmware image archive (for firmware image creation)

To install a new firmware use SD cards. To copy the built images on the host system to a connected card type:

$ cd <BSP project>/platform-<platform_name>/images
$ sudo dd if=@mod_name_code@_hd.img of=/dev/sdf bs=1M conv=fsync #Assuming the SD card is assigned to /dev/sdf

To find out what device file the SD card has, type “dmesg” after you connect the card to see the system messages. At the bottom you'll see some “Attached scsi …” messages along with something like:

[ 8197.588395]  sdf: sdf1


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 from eMMC or SD and stop autoboot in U-Boot

Hit any key to stop autoboot:  0
=>

2. Set U-Boot variable mmcdev according to the drive you want to write to

=> setenv mmcdev <Nr.>

mmcdev depends on the placement of eMMC on TQMLS102xA module

Device assignment:
mmcdev 0 = SD Card (if eMMC ist not placed)
mmcdev 0 = eMMC (if eMMC ist placed)

3. Connect device via ethernet to a tftp server supplying the image
4. Provide the correct network configuration in U-Boot:

  • ⇒ 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)


5. Provide U-Boot the file name of the desired image on the tftp server:

  • For U-Boot update on eMMC/SD Card : ⇒ setenv uboot <filename>
  • For U-Boot update on QSPI NOR : ⇒ setenv uboot-qspi <filename>
  • For Device Tree update on eMMC/SD Card and QSPI NOR : ⇒ setenv fdt_file <filename>
  • For Kernel update on eMMC/SD Card and QSPI NOR : ⇒ setenv zimage <filename>


6. Perform Update:

  • U-Boot update on eMMC /SD Card : ⇒ run update_uboot
  • U-Boot update on QSPI NOR : ⇒ run update_uboot-qspi
  • Device Tree update on eMMC /SD Card : ⇒ run update_fdt
  • Device Tree update on QSPI NOR : ⇒ run update_fdt-qspi
  • Kernel update on eMMC /SD Card : ⇒ run update_kernel
  • Kernel update on QSPI NOR : ⇒ run update_kernel-qspi

The u-boot update scripts automatically implement the selection of the primary copy to boot.



Prerequisites

To boot the TQMLS102xA from network you need a working bootloader in eMMC/SD-card or SPI-NOR (placement option on TQMLS102xA) which is able to get the kernel image over tftp and to provide the kernel with commandline settings for NFS.
The dtb-file and kernel image have to be provided via tftp and the rootfs via nfs.

Configuration of U-Boot Environment

The bootloader environment needs to be modified to work with your tftp-server and your nfs-server.

  • setenv autoload no
  • setenv serverip <serverip> (e.g.: setenv serverip 192.168.100.1)
  • setenv ipaddr <ipaddr> (e.g.: setenv ipaddr 192.168.0.10)
  • setenv netmask <netmask> (e.g.: setenv netmask 255.255.255.0)
  • setenv rootpath <rootpath> (NFS share has to set in /etc/exports on the Computer that runs the NFS server first)
  • setenv fdt_file <fdt_file> (name of devicetree file to be downloaded from the tftp server)
  • setenv zimage <zimage> (name of the Linux kernel image to be downloaded from the tftp server)

device assignment

update commands uboot

  • U-Boot update: ⇒ run update_uboot
  • Device Tree update: ⇒ run update_fdt
  • Kernel update: ⇒ run update_kernel

serial downloader

Usage of serial downloader tool

Downloads

Build System / Toolchains

PTXdist version XXXX.YY.0 is required to compile an OSELAS Toolchain XXXX.YY.Z.
The version of PTXdist and toolchain required to build a given BSP revision is shown in the version matrix.


Build System PTXdist 2016.04

Build System PTXdist 2015.05

Build System PTXdist 2015.02

OSELAS Toolchain 2013.12.2

PTXdist projects for compiling OSELAS toolchains

Downloads

TQ Board Support Packages

The Board Support Packages (BSPs) usually provide source code as well as precompiled images for one or more platforms.
Please see the version matrix for details of each BSP revision.

TQMLS102xA BSP Rev.0111☚ current revision
MD5SUM: 965464329762A1634C739678F36EB765

TQMLS102xA BSP Rev.0110
MD5SUM: 265CD64894ECF83DA600AC99BD5DECC6

TQMLS102xA BSP Rev.0109
MD5SUM: CFAFA4F29B4C427E82EA7544F90A7AD9

TQMLS102xA BSP Rev.0102
MD5SUM: 1F6BB7DC98E2E10AEB5C528382187971

Linux BSP Rev.0102 for TQMLS102xA - Hotfix QSPI Boot
MD5SUM: 699E8B791D9E25CA3C0CEC31A43200E6

TQMLS102xA BSP Rev.0100
MD5SUM: FA1BDF3A2E42725709DD6F6A61323D7F

TQMLS102xA BSP Prerelease Rev.0005
MD5SUM: 8F8D58F445107A031883ACB222C9875C

TQMLS102xA BSP Prerelease Rev.0004
MD5SUM: B8361BCA27933080939CFF98120EE204

Build System / Toolchains

PTXdist version XXXX.YY.0 is required to compile an OSELAS Toolchain XXXX.YY.Z.
The version of PTXdist and toolchain required to build a given BSP revision is shown in the version matrix.


Build System PTXdist 2018.09

Build System PTXdist 2016.04

Build System PTXdist 2015.05

Build System PTXdist 2015.02

OSELAS Toolchain 2018.02.0

OSELAS Toolchain 2013.12.2

PTXdist projects for compiling OSELAS toolchains


In BSP Rev.0106 the second QSPI NOR chip has been removed from the default BSP configuration.
If a second device is placed on the TQMLS102xA module please apply the following changes in the
devicetree source file ls1021a-tqmls1021a.dtsi.

 &qspi {
+       fsl,qspi-has-second-chip;
        status = "okay";
 
        qflash0: mt25ql512@0 {
@@ -139,12 +138,4 @@
                        };
                };
        };

+       qflash1: mt25ql512@1 {
+               compatible = "micron,n25q512ax3", "cfi-flash";
+               #address-cells = <1>;
+               #size-cells = <1>;
+               spi-max-frequency = <20000000>;
+               reg = <1>;
+       };
 };

BSP Rev.0100 was designed to be run on Rev.0200 of the MBLS012xA.

On Rev.0200 of the MBLS102xA a different package type of the ethernet PHY is used than on Rev.01xx.
This results in different PHY addresses:

Connector Controller MBLS102xA Rev.01xx MBLS102xA Rev.02xx
X12 EC1 0x0D 0x0C
X13 EC2 0x13 0x03
X11 EC3 0x05 0x04

In order to use BSP Rev.0100 on MBLS102xA Rev.01xx the following patches must not be applied:

  • U-Boot
    • 0010-tqmls102xa-set-phy-addresses-for-mbls1021a.0200.patch
    • 0011-phy_ti-adapt-hard-coded-skew-to-custom-values.patch
  • Linux
    • 0110-arm-dt-mbls102xa-set-phy-addresses-for-rev.0200.patch
    • 0111-dt-mbls102xa-adapt-phy-timing-to-rev0200.patch

To “disable” these patches, simply comment them out in the corresponding series file:

  • U-Boot: configs/platform-tq-mbls102xa/patches/u-boot-2016.05/series
  • Linux: configs/platform-tq-mbls102xa/patches/linux-4.4/series

Please note that the following interfaces cannot be used when using Rev.01xx of the MBLS102xA:

  • EC2
  • SATA


BSP Rev.0100 was designed to be run on Rev.0200 of the MBLS012xA.

On Rev.0200 of the MBLS102xA a different package type of the ethernet PHY is used than on Rev.01xx.
This results in different PHY addresses:

Connector Controller MBLS102xA Rev.01xx MBLS102xA Rev.02xx
X12 EC1 0x0D 0x0C
X13 EC2 0x13 0x03
X11 EC3 0x05 0x04

In order to use BSP Rev.0100 on MBLS102xA Rev.01xx the following patches must not be applied:

  • U-Boot
    • 0010-tqmls102xa-set-phy-addresses-for-mbls1021a.0200.patch
    • 0011-phy_ti-adapt-hard-coded-skew-to-custom-values.patch
  • Linux
    • 0110-arm-dt-mbls102xa-set-phy-addresses-for-rev.0200.patch
    • 0111-dt-mbls102xa-adapt-phy-timing-to-rev0200.patch

To “disable” these patches, simply comment them out in the corresponding series file:

  • U-Boot: configs/platform-tq-mbls102xa/patches/u-boot-2016.05/series
  • Linux: configs/platform-tq-mbls102xa/patches/linux-4.4/series





Devicetree can be edit with the fdt commands under U-Boot.

For testing purpose only. For bigger changes, please compile the Devicetree.
Therefore you can have a look at the following tutorial.
Tested with TQMLS102xA BSP Rev.0102

1) At first the fdt file has to be loaded from the current boot medium (mmc) into RAM.

=> run loadfdt

2) Next step is to set the predefined U-Boot environment variable fdt_addr through the fdt addr command.

=> fdt addr $fdt_addr

3) Afterwards the size of the fdt has to be increased (to the next 4K divider) in order to have some space for modifications. This is simply done by entering:

=> fdt resize 

4) List device in the tree you want to change to have a look at the default settings.

Example

5) To modify a value of a propertie use the fdt set command.

=> fdt set <path> <property> <value> 

Example

6) Optional: If you want to save your modified Devicetree back to mmc you'll have to run the following command:

=> mmc dev $mmcdev; mmc write $fdt_addr $fdt_start $fdt_size

* BSP Rev. >0102 <code>⇒ fatwrite mmc $mmcdev:$firmwarepart $fdt_addr $fdt_file <totalsize></code> You can find out <totalsize> of the modified fdt by entering the command fdt header Otherwise you can boot your module with the changed Devicetree right after the modification.



Affects TQMLS102xA with eMMC assembled
Issue Sporadic kernel messages from eMMC driver:
mmc0: Got data interrupt 0x00000002 even though no data operation was in progress
Effect No known effect regarding usability and performance of the eMMC
Solution / Workaround add patch emmc-remove-interrupt-0x00000002-message.zip
Affects EC2, HDMI, SATA on MBLS102xA Rev.01xx
Issue EC2, HDMI, SATA are not useable on MBLS102xA Rev.01xx
Effect EC2, HDMI, SATA are not useable on MBLS102xA Rev.01xx
Solution / Workaround Due to a hardware issue there is no workaround
Affects JTAG interface on MBLS102xA Rev.01xx and Rev.0200
Issue Some Debuggers might require VREF voltage at X37_1
Effect Some Debuggers can't establish a connection to the LS102xA
Solution / Workaround Place resistor R646 (100R, 0402) on MBLS102xA

Affects MBLS102xA Rev.0200 and Rev.0201
Issue JTAG interface does not work due to an issue with the signal CPU_3V3_TRST#
Solution / Workaround Remove D40 on MBLS102xA Rev.0200 and Rev.0201

Affects MBLS102xA Rev.01xx and TQMLS102xA Rev.02xx
Issue Booting from SD Card/eMMC is not possible
Solution / Workaround Replace resistor R167 (10K, 0402) with (1K, 0402) on MBLS102xA REV.01xx

Affects 2nd CPU Core LS102x
Issue 2nd CPU Core Linux Kernel does not start the 2nd CPU Core
Effect only one CPU Core is useable
Solution / Workaround Kernel option CONFIG_ARM_PSCI must be selected in the ptxdist kernelconfig

QNX BSP

VxWorks BSP


Deployment

Place to prepare additional content

Disclaimer
TQ-Systems GmbH provides the Board Support Packages (BSP) free of charge. The software included in the shipment has been configured individually for the starter kits. The software is only intended to evaluate the module. The use of the Board Support Packages (BSP) is only allowed within the scope of functionality described by TQ-Systems GmbH. TQ-Systems GmbH does not accept any liability for all further changes of the Board Support Package and for any damage resulting from its use.