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 | • | • | • |
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 |
BSP revision | Prerelease 7a3ec3d | 0004 | 0005 | 0100 | 0102 | 0109 | 0110 | 0111 |
---|---|---|---|---|---|---|---|---|
PTXdist | 2015.02 | 2015.05 | 2015.05 | 2015.05 | 2016.04 | 2016.04 | 2018.09 | 2018.09 |
OSELAS Toolchain | 2013.12.2 | 2013.12.2 | 2013.12.2 | 2013.12.2 | 2013.12.2 | 2013.12.2 | 2018.02 | 2018.02 |
Platform | MBLS102xA | MBLS102xA | MBLS102xA | MBLS102xA | MBLS102xA | MBLS102xA | MBLS102xA | MBLS102xA |
U-boot | 2015.04 | 2015.04 | 2015.04 | 2016.05 | 2016.05 | 2017.07 | 2017.11 | 2017.11 |
Linux Kernel | 3.12 | 3.12 | 4.4 | 4.4 | 4.4 | 4.4 | 4.14 | 4.14 |
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.
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:
The complete system images are intend for:
Bootloader images:
Linux images:
Rootfs images:
Firmware images:
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:
5. Provide U-Boot the file name of the desired image on the tftp server:
6. Perform Update:
The u-boot update scripts automatically implement the selection of the primary copy to boot.
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.
The bootloader environment needs to be modified to work with your tftp-server and your nfs-server.
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.
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
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.
PTXdist manual "How to become a PTXdist Guru" ☚ worthwhile reading
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:
To “disable” these patches, simply comment them out in the corresponding series file:
Please note that the following interfaces cannot be used when using Rev.01xx of the MBLS102xA:
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:
To “disable” these patches, simply comment them out in the corresponding series file:
Devicetree can be edit with the fdt commands under U-Boot.
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.
5) To modify a value of a propertie use the fdt set command.
=> fdt set <path> <property> <value>
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 |
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 | • | • | • |
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 |
BSP revision | Prerelease 7a3ec3d | 0004 | 0005 | 0100 | 0102 | 0109 | 0110 | 0111 |
---|---|---|---|---|---|---|---|---|
PTXdist | 2015.02 | 2015.05 | 2015.05 | 2015.05 | 2016.04 | 2016.04 | 2018.09 | 2018.09 |
OSELAS Toolchain | 2013.12.2 | 2013.12.2 | 2013.12.2 | 2013.12.2 | 2013.12.2 | 2013.12.2 | 2018.02 | 2018.02 |
Platform | MBLS102xA | MBLS102xA | MBLS102xA | MBLS102xA | MBLS102xA | MBLS102xA | MBLS102xA | MBLS102xA |
U-boot | 2015.04 | 2015.04 | 2015.04 | 2016.05 | 2016.05 | 2017.07 | 2017.11 | 2017.11 |
Linux Kernel | 3.12 | 3.12 | 4.4 | 4.4 | 4.4 | 4.4 | 4.14 | 4.14 |
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.
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:
The complete system images are intend for:
Bootloader images:
Linux images:
Rootfs images:
Firmware images:
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:
5. Provide U-Boot the file name of the desired image on the tftp server:
6. Perform Update:
The u-boot update scripts automatically implement the selection of the primary copy to boot.
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.
The bootloader environment needs to be modified to work with your tftp-server and your nfs-server.
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.
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
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.
PTXdist manual "How to become a PTXdist Guru" ☚ worthwhile reading
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:
To “disable” these patches, simply comment them out in the corresponding series file:
Please note that the following interfaces cannot be used when using Rev.01xx of the MBLS102xA:
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:
To “disable” these patches, simply comment them out in the corresponding series file:
Devicetree can be edit with the fdt commands under U-Boot.
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.
5) To modify a value of a propertie use the fdt set command.
=> fdt set <path> <property> <value>
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 |
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 | • | • | • |
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 |
BSP revision | Prerelease 7a3ec3d | 0004 | 0005 | 0100 | 0102 | 0109 | 0110 | 0111 |
---|---|---|---|---|---|---|---|---|
PTXdist | 2015.02 | 2015.05 | 2015.05 | 2015.05 | 2016.04 | 2016.04 | 2018.09 | 2018.09 |
OSELAS Toolchain | 2013.12.2 | 2013.12.2 | 2013.12.2 | 2013.12.2 | 2013.12.2 | 2013.12.2 | 2018.02 | 2018.02 |
Platform | MBLS102xA | MBLS102xA | MBLS102xA | MBLS102xA | MBLS102xA | MBLS102xA | MBLS102xA | MBLS102xA |
U-boot | 2015.04 | 2015.04 | 2015.04 | 2016.05 | 2016.05 | 2017.07 | 2017.11 | 2017.11 |
Linux Kernel | 3.12 | 3.12 | 4.4 | 4.4 | 4.4 | 4.4 | 4.14 | 4.14 |
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.
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:
The complete system images are intend for:
Bootloader images:
Linux images:
Rootfs images:
Firmware images:
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:
5. Provide U-Boot the file name of the desired image on the tftp server:
6. Perform Update:
The u-boot update scripts automatically implement the selection of the primary copy to boot.
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.
The bootloader environment needs to be modified to work with your tftp-server and your nfs-server.
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.
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
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.
PTXdist manual "How to become a PTXdist Guru" ☚ worthwhile reading
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:
To “disable” these patches, simply comment them out in the corresponding series file:
Please note that the following interfaces cannot be used when using Rev.01xx of the MBLS102xA:
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:
To “disable” these patches, simply comment them out in the corresponding series file:
Devicetree can be edit with the fdt commands under U-Boot.
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.
5) To modify a value of a propertie use the fdt set command.
=> fdt set <path> <property> <value>
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 |
Place to prepare additional content