Entry Page
Board Support Packages
Hardware
Onboard I2C devices
Hardware Issues
Linux BSP
U-Boot
Supported features
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 |
Supported boot devices
Boot device | BSP Revision | Remarks |
0102 | 0109 | 0110 | 0111 |
eMMC / SD | • | • | • | • | mutually exclusive |
QSPI NOR-Flash | | • | • | • | |
Kernel
Operating System
Supported Features
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 |
FAQ
PTXdist
Version Matrix
Changelog PTXdist
2018/06/21 - REV.0111
2019/03/14 - REV.0110
BSP
U-Boot
combined image (RCW/PBI + U-Boot-Binary)
e-MMC boot partition access (not bootable)
UBI: supports RootFS update in U-Boot
Linux
Update to v4.14.78
Extended display support
Parallel dispalys (incl. touch):
Glyn ETM0700G0EDH6 (800×480)
DMB S070PWS19HP-FC21 (1024×600)
DMB S070SWV29HG-DC44 (800×480)
LVDS display (incl. touch):
Tianma TM070JVHG3 (1024×768)
2018/06/14 - REV.0109
TQMLS102xA-BSP
SD Card Image
U-Boot
using internal dtb
added support for -ae variant
fixed comments in rcw source file
new version: v2017.07
e-MMC DSR detection
support for module identification eeprom (default address 0x54)
system boot from qspi flash → u-boot/dtb/kernel/rootfs
dspi0 enabled in kernel
renamed dtb file: ls1021a-tqmls1021a-mbls102xa.dts
RX ethernet workaround message
Linux
removed u-boot compatibility changes from linux device tree
set lpuart0 to original clock source sysclk
cpu speed throttling via die temperature
fixed e-mmc bus width
dspi0 enabled in kernel
2016/11/23 - REV.0102
TQMLS102xA-BSP
Build Tools
U-Boot
QSPI: RCW+U-Boot in a single image
QSPI: RCW built from U-Boot sources
QSPI: fix kernel crash when two qspi flashes in devtree but only one chip placed
Split module and board source files
AHCI: non-queued error recovery
Support DDR3 ECC
PCIe: allow 5G links
Probe MBLS102xA CPLD mux mode and dis-/enable HDMI in DRM system
Show MBLS102xA CPLD mux mode via LEDs
Linux
add gpio expander new on board revision 200
add on-die temperature sensor
enable always-on timer
fix dp83867 device tree required properties
fix PCIe MSI support
enabled CPU frequency scaling
2016/05/19 - REV.0100
TQMLS102xA-BSP
BSP
Kernelconfig: LZO image compression (reduced boot time)
Kernelconfig: build PREEMPT
Kernelconfig: enable PHY timestamping for IEEE1588
Add linuxptp for IEEE1588
Readme update
RCW: update and sync QSPI to SD RCW
RCW: remove USB3.0 overcurrent reporting
Add U-Boot 2016.05-rc1
Do not compile reference device trees for QDS and TWR boards
Kernel
fsl-dcu: support inverted pixel clock (ETM0700G0EDH6 display)
hdmi: add driver for sii9022 transceiver
touchscreen: update driver for M12 type (Hycon controller)
DT: add msi-parent node for pcie
I2C: workaround to recover from a bus stall (SDA held low)
DT: support MBLS102xA.0200 PHYs
DT: Gianfar buffer descriptors no longer little-endian
DT: Add ptp node for IEEE1588 support
DT: Add dspi0 and generic spidev nodes
U-Boot
QSPI quad mode (1-1-4) support (for SD Boot)
I2C: workaround to recover from a bus stall (SDA held low)
SATA: stability improved, not reliably tested
Support for MBLS102xA.0200 PHYs
Support for module EEPROM parsing (like TQMa6)
2016/03/23 - REV.0005
TQMLS102xA-BSP
Build tools
U-Boot
Allow to update SPI U-Boot from MMC U-Boot
XHCI Interface support (supports USB2.0)
Fix e-MMC write hangs
Add function to reset board
Linux
DP83867: LED config
Parallel display support using DRM panel subsystem
Static backlight support via LED driver
Gianfar: use little endian buffer descriptors
Add LS1021A GPIO controller support
Add support for port expanders
RTC support
XHCI and EHCI support
Add function to reset board
Add support for QSPI flash
Prepare SGMII support
DevHost
Build BSP
Compilation
BSP Rev.0100 (and later)
Adapt BSP
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.
Changing packages
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.
Adding own packages
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.
Deployment
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:
The complete system images are intend for:
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:
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:
Create SD Card with BSP Image
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
Updating existing firmware over ethernet
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:
6. Perform Update:
The u-boot update scripts automatically implement the selection of the primary copy to boot.
Using NFS 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
Downloads
TQ Downloads
How-to
BSP Rev.0106 add second QSPI NOR chip
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>;
+ };
};
Use BSP Rev.0100 on MBLS102xA Rev.01xx
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:
U-Boot:
configs/platform-tq-mbls102xa/patches/u-boot-2016.05/series
0001-tools-add-libdl-to-makefile-for-libssl-libcrypto.patch
0002-mtd-fsl_qspi-implement-dual-die-mode.patch
0003-fsl_qspi-add-flag-status-register-for-micron.patch
0004-spi-fsl_qspi-Add-1-1-4-page-program-mode.patch
0005-spi-fsl_qspi-Add-1-1-4-fast-read-mode.patch
0006-fsl_qspi-Enable-1-1-4-mode.patch
0007-i2c-imx-recover-bus-stall-on-ls1021a.patch
0008-board-tqc-add-common-folder.patch
0009-boards-add-tqmls102x.patch
#0010-tqmls102xa-set-phy-addresses-for-mbls1021a.0200.patch
#0011-phy_ti-adapt-hard-coded-skew-to-custom-values.patch
0012-tqmls102xa-tsec-set-interface-types.patch
0013-cmd-mmc-fix-argument-parsing-for-setdsr.patch
0014-tqmls102xa-add-eeprom-support.patch
0015-tqmls102xa-use-quad-mode-in-sd-boot-only.patch
0016-tqmls102xa-rcw-sdhc-cd-and-wp-as-gpio-8-data-lines.patch
0017-tqmls102xa-check-if-phy-found.patch
0018-Makefile-release-TQMLS102xA-BSP-0100.patch
Linux:
configs/platform-tq-mbls102xa/patches/linux-4.4/series
0001-v3-1-3-mtd-spi-nor-fsl-quadspi-add-big-endian-suppor.patch
0002-v3-2-3-mtd-spi-nor-fsl-quadspi-add-support-for-ls102.patch
0003-ARM-dts-ls1021a-add-qspi-node.patch
0004-arm-dts-ls1021a-add-qspi-memory-address-and-correct-.patch
0005-qspi-ls102xa-Adjust-the-size-of-QSPI-AMBA-Bus-memory.patch
0006-linux-next-v2-01-14-mtd-spi-nor-remove-micron_quad_e.patch
0007-linux-next-v2-02-14-mtd-spi-nor-properly-detect-the-.patch
0008-linux-next-v2-03-14-mtd-spi-nor-select-op-codes-and-.patch
0009-linux-next-v2-04-14-mtd-spi-nor-fix-support-of-Macro.patch
0010-linux-next-v2-05-14-mtd-spi-nor-fix-support-of-Winbo.patch
0011-linux-next-v2-06-14-mtd-spi-nor-fix-support-of-Micro.patch
0012-linux-next-v2-07-14-mtd-spi-nor-fix-support-of-Spans.patch
0013-linux-next-v2-08-14-mtd-spi-nor-configure-the-number.patch
0014-linux-next-v2-09-14-mtd-spi-nor-configure-the-number.patch
0015-linux-next-v2-10-14-mtd-spi-nor-configure-the-number.patch
0016-linux-next-v2-11-14-mtd-spi-nor-configure-the-number.patch
0017-linux-next-v2-12-14-mtd-m25p80-add-support-of-dual-a.patch
0018-mtd-fsl-qspi-add-support-for-RDFSR.patch
0019-mtd-fsl-qspi-enable-r-w-micron-extended-config-regis.patch
0020-mtd-fsl-qspi-replace-spansion-4b-mode-with-vcr-acces.patch
0021-mtd-spi-nor-do-not-use-FSR-on-n25q512ax3.patch
0022-mtd-fsl-qspi-accept-single-and-multi-io-RDSR-command.patch
0023-can-flexcan-Add-ls1021a-flexcan-device-entry.patch
0024-can-flexcan-Remodel-FlexCAN-register-r-w-APIs-for-BE.patch
0025-can-flexcan-Add-support-for-non-RX-FIFO-mode.patch
0026-arm-dts-ls1021a-Add-nodes-for-flexcan-devices-presen.patch
0027-arm-dt-add-tqmls1021a.patch
0028-ARM-DT-ls1021a-tqmls102xa-add-rtc.patch
0029-ARM-DT-ls1021a-tqmls102xa-add-eeprom.patch
0030-ARM-DT-ls1021a-tqmls102xa-add-temperature-sensor.patch
0031-ARM-DT-ls1021a-tqmls1021a-mbls102x-add-led-driver.patch
0032-ARM-DT-ls1021a-tqmls1021a-mbls102x-add-port-expander.patch
0033-ARM-DT-ls1021a-tqmls1021a-mbls102x-add-port-expander.patch
0034-ARM-DT-ls1021a-tqmls1021a-mbls102x-stmpe-mfd-device.patch
0035-ARM-DT-ls1021a-tqmls1021a-add-devices-without-driver.patch
0036-ARM-DT-ls1021a-tqmls102xa-mbls102x-add-mdio-bus-and-.patch
0037-ARM-DT-ls1021a-tqmls1021a-fix-qspi-flash.patch
0038-ARM-DT-tqmls102x-add-mac-address-property-to-eTSECn.patch
0039-ARM-DT-ls1021x-mbla102x-add-rgmii-phy-delay.patch
0040-phy-dp83867-add-support-for-led-config.patch
0041-ARM-DT-ls102xa-mbls102x-add-rgmii-phy-led-configurat.patch
0042-ARM-dts-ls1021a-add-pwms-3-6-and-7.patch
0043-ARM-dts-ls1021a-add-dcu0-node.patch
0044-ARM-dts-ls1021a-add-uqe-node.patch
0045-ARM-dts-ls1021a-add-missing-aliases.patch
0046-ARM-dts-ls1021a-add-gpio-controller-nodes.patch
0047-ARM-dts-ls1021a-add-rcpm-node.patch
0048-tqmls102xa-rework-definitions.patch
0049-dt-tqmls102xa-add-mmc-on-esdhc.patch
0050-leds-Add-DT-support-for-leds-pca9532.patch
0051-dt-mbls102xa-parallel-display-support.patch
0052-dt-tqmls102xa-sgmii-support.patch
0053-dt-tqmls102xa-fix-qspi-compatible.patch
0054-net-phy-national-add-DP83867.patch
0055-dt-mbls102xa-add-phy-delay.patch
0056-dt-mbls102xa-add-backlight-regulator-and-touch.patch
0057-dt-mbls102xa-fix-dcu-to-using-drm-panel.patch
0058-phy-dp83867-led-cfg-property-names.patch
0059-ARM-dts-mbls102xa-fix-dp83867-properties.patch
0060-phy-dp83867-change-reset-depth.patch
0061-gianfar-enable-little-endian-descriptor-mode.patch
0062-dts-ls1021a-assign-little-endian-buffer-descriptors-.patch
0063-drivers-gpio-Port-gpio-driver-to-ls1021a-qds-platfor.patch
0064-drivers-gpio-Kconfig-enable-GPIO-configs-for-LS1021A.patch
0065-ahci-qoriq-Adjust-the-default-register-values-on-ls1.patch
0066-ahci-qoriq-Update-the-default-Rx-watermark-value.patch
0067-ahci-qoriq-Adjust-the-default-register-values-on-ls1.patch
0068-ARM-dts-ls1021a-Add-DCU-dts-node.patch
0069-ARM-dts-ls1021a-add-sata-node-to-dts.patch
0070-ARM-dts-ls1021a-add-PCIe-dts-node.patch
0071-ARM-dts-mbls102xa-add-sata-node-to-dts.patch
0072-drm-fsl-dcu-Fix-no-fb-check-bug.patch
0073-1-7-drm-fsl-dcu-specify-volatile-registers.patch
0074-2-7-drm-fsl-dcu-remove-regmap-return-value-checks.patch
0075-3-7-drm-fsl-dcu-avoid-memory-leak-on-errors.patch
0076-4-7-drm-fsl-dcu-handle-initialization-errors-properl.patch
0077-5-7-drm-fsl-dcu-mask-all-interrupts-on-initializatio.patch
0078-6-7-drm-fsl-dcu-fix-alpha-blending.patch
0079-7-7-drm-fsl-dcu-use-mode-flags-for-hsync-vsync-pixel.patch
0080-drm-fsl-dcu-fix-register-initialization.patch
0081-drm-fsl-dcu-enable-pixclk-in-scfg-register.patch
0082-mbls102xa-drm-fsl-dcu-request-32-preferred_bpp.patch
0083-drivers-usb-host-fsl-Set-DMA_MASK-of-usb-platform-de.patch
0084-drivers-usb-host-fsl-Port-USB-EHCI-host-driver-for-L.patch
0085-drivers-usb-Port-ehci_fsl-driver-to-ls1021a-platform.patch
0086-ehci-hcd-Cleanup-memory-resources-when-ehci_halt-fai.patch
0087-ehci-hcd-Disable-memory-write-invalidate-when-the-dr.patch
0088-USB-host-use-to_platform_device.patch
0089-usb-fsl-drop-USB_FSL_MPH_DR_OF-Kconfig-symbol.patch
0090-ARM-imx-revert-temporarily-remove-CONFIG_SOC_FSL-fro.patch
0091-drivers-usb-fsl-Set-USB_EN-bit-to-select-ULPI-phy.patch
0092-gpio-change-member-.dev-to-.parent.patch
0093-gpio-pca953x-add-onsemi-pca9654-id.patch
0094-gpio-pca935x-fix-of-only-probed-devices.patch
0095-gpio-pca953x-make-inclusion-of-linux-of_platform.h-u.patch
0096-gpio-pca953x-Add-set_multiple-to-allow-multiple-bits.patch
0097-pca953x-temporary-use-irq-type-FALLING_EDGE-for-ls10.patch
0098-dts-mbls1021a-fix-stmpe-touch-properties.patch
0099-Revert-drm-fsl-dcu-use-mode-flags-for-hsync-vsync-pi.patch
0100-drm-fsl-dcu-use-mode-flags-for-hsync-vsync-polarity.patch
0101-drm-introduce-bus_flags-in-drm_display_info.patch
0102-drm-fsl-dcu-use-bus_flags-for-pixel-clock-polarity.patch
0103-arm-dts-mbls102xa-Add-sii9022a-dts-node.patch
0104-drm-layerscape-Add-sii9022a-driver.patch
0105-drm-layerscape-Add-HDMI-driver-for-freescale-DCU.patch
0106-input-ts-update-edt-driver-to-support-M12-type.patch
0107-panel-ETM0700G0EDH6-set-data-on-rising-edge.patch
0108-arm-dt-ls1021a-add-msi-parent-for-pcie-nodes.patch
0109-i2c-imx-recover-bus-stall-on-ls1021a.patch
#0110-arm-dt-mbls102xa-set-phy-addresses-for-rev.0200.patch
#0111-dt-mbls102xa-adapt-phy-timing-to-rev0200.patch
0112-dt-ls1021a-gianfar-bds-are-big-endian.patch
0113-gianfar_ptp-replace-get_of_u32-with-of_property_read.patch
0114-gianfar-fix-endianness-for-hardware-timestamp.patch
0115-ARM-dts-ls1021a-add-1588-timer-node.patch
0116-dt-mbls102xa-enable-dspi-nodes-and-spidev.patch
0117-Makefile-release-TQMLS102xA-BSP-0100.patch
Please note that the following interfaces cannot be used when using Rev.01xx of the MBLS102xA:
Use BSP Rev.0100 on MBLS102xA Rev.01xx
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:
U-Boot:
configs/platform-tq-mbls102xa/patches/u-boot-2016.05/series
0001-tools-add-libdl-to-makefile-for-libssl-libcrypto.patch
0002-mtd-fsl_qspi-implement-dual-die-mode.patch
0003-fsl_qspi-add-flag-status-register-for-micron.patch
0004-spi-fsl_qspi-Add-1-1-4-page-program-mode.patch
0005-spi-fsl_qspi-Add-1-1-4-fast-read-mode.patch
0006-fsl_qspi-Enable-1-1-4-mode.patch
0007-i2c-imx-recover-bus-stall-on-ls1021a.patch
0008-board-tqc-add-common-folder.patch
0009-boards-add-tqmls102x.patch
#0010-tqmls102xa-set-phy-addresses-for-mbls1021a.0200.patch
#0011-phy_ti-adapt-hard-coded-skew-to-custom-values.patch
0012-tqmls102xa-tsec-set-interface-types.patch
0013-cmd-mmc-fix-argument-parsing-for-setdsr.patch
0014-tqmls102xa-add-eeprom-support.patch
0015-tqmls102xa-use-quad-mode-in-sd-boot-only.patch
0016-tqmls102xa-rcw-sdhc-cd-and-wp-as-gpio-8-data-lines.patch
0017-tqmls102xa-check-if-phy-found.patch
0018-Makefile-release-TQMLS102xA-BSP-0100.patch
Linux:
configs/platform-tq-mbls102xa/patches/linux-4.4/series
0001-v3-1-3-mtd-spi-nor-fsl-quadspi-add-big-endian-suppor.patch
0002-v3-2-3-mtd-spi-nor-fsl-quadspi-add-support-for-ls102.patch
0003-ARM-dts-ls1021a-add-qspi-node.patch
0004-arm-dts-ls1021a-add-qspi-memory-address-and-correct-.patch
0005-qspi-ls102xa-Adjust-the-size-of-QSPI-AMBA-Bus-memory.patch
0006-linux-next-v2-01-14-mtd-spi-nor-remove-micron_quad_e.patch
0007-linux-next-v2-02-14-mtd-spi-nor-properly-detect-the-.patch
0008-linux-next-v2-03-14-mtd-spi-nor-select-op-codes-and-.patch
0009-linux-next-v2-04-14-mtd-spi-nor-fix-support-of-Macro.patch
0010-linux-next-v2-05-14-mtd-spi-nor-fix-support-of-Winbo.patch
0011-linux-next-v2-06-14-mtd-spi-nor-fix-support-of-Micro.patch
0012-linux-next-v2-07-14-mtd-spi-nor-fix-support-of-Spans.patch
0013-linux-next-v2-08-14-mtd-spi-nor-configure-the-number.patch
0014-linux-next-v2-09-14-mtd-spi-nor-configure-the-number.patch
0015-linux-next-v2-10-14-mtd-spi-nor-configure-the-number.patch
0016-linux-next-v2-11-14-mtd-spi-nor-configure-the-number.patch
0017-linux-next-v2-12-14-mtd-m25p80-add-support-of-dual-a.patch
0018-mtd-fsl-qspi-add-support-for-RDFSR.patch
0019-mtd-fsl-qspi-enable-r-w-micron-extended-config-regis.patch
0020-mtd-fsl-qspi-replace-spansion-4b-mode-with-vcr-acces.patch
0021-mtd-spi-nor-do-not-use-FSR-on-n25q512ax3.patch
0022-mtd-fsl-qspi-accept-single-and-multi-io-RDSR-command.patch
0023-can-flexcan-Add-ls1021a-flexcan-device-entry.patch
0024-can-flexcan-Remodel-FlexCAN-register-r-w-APIs-for-BE.patch
0025-can-flexcan-Add-support-for-non-RX-FIFO-mode.patch
0026-arm-dts-ls1021a-Add-nodes-for-flexcan-devices-presen.patch
0027-arm-dt-add-tqmls1021a.patch
0028-ARM-DT-ls1021a-tqmls102xa-add-rtc.patch
0029-ARM-DT-ls1021a-tqmls102xa-add-eeprom.patch
0030-ARM-DT-ls1021a-tqmls102xa-add-temperature-sensor.patch
0031-ARM-DT-ls1021a-tqmls1021a-mbls102x-add-led-driver.patch
0032-ARM-DT-ls1021a-tqmls1021a-mbls102x-add-port-expander.patch
0033-ARM-DT-ls1021a-tqmls1021a-mbls102x-add-port-expander.patch
0034-ARM-DT-ls1021a-tqmls1021a-mbls102x-stmpe-mfd-device.patch
0035-ARM-DT-ls1021a-tqmls1021a-add-devices-without-driver.patch
0036-ARM-DT-ls1021a-tqmls102xa-mbls102x-add-mdio-bus-and-.patch
0037-ARM-DT-ls1021a-tqmls1021a-fix-qspi-flash.patch
0038-ARM-DT-tqmls102x-add-mac-address-property-to-eTSECn.patch
0039-ARM-DT-ls1021x-mbla102x-add-rgmii-phy-delay.patch
0040-phy-dp83867-add-support-for-led-config.patch
0041-ARM-DT-ls102xa-mbls102x-add-rgmii-phy-led-configurat.patch
0042-ARM-dts-ls1021a-add-pwms-3-6-and-7.patch
0043-ARM-dts-ls1021a-add-dcu0-node.patch
0044-ARM-dts-ls1021a-add-uqe-node.patch
0045-ARM-dts-ls1021a-add-missing-aliases.patch
0046-ARM-dts-ls1021a-add-gpio-controller-nodes.patch
0047-ARM-dts-ls1021a-add-rcpm-node.patch
0048-tqmls102xa-rework-definitions.patch
0049-dt-tqmls102xa-add-mmc-on-esdhc.patch
0050-leds-Add-DT-support-for-leds-pca9532.patch
0051-dt-mbls102xa-parallel-display-support.patch
0052-dt-tqmls102xa-sgmii-support.patch
0053-dt-tqmls102xa-fix-qspi-compatible.patch
0054-net-phy-national-add-DP83867.patch
0055-dt-mbls102xa-add-phy-delay.patch
0056-dt-mbls102xa-add-backlight-regulator-and-touch.patch
0057-dt-mbls102xa-fix-dcu-to-using-drm-panel.patch
0058-phy-dp83867-led-cfg-property-names.patch
0059-ARM-dts-mbls102xa-fix-dp83867-properties.patch
0060-phy-dp83867-change-reset-depth.patch
0061-gianfar-enable-little-endian-descriptor-mode.patch
0062-dts-ls1021a-assign-little-endian-buffer-descriptors-.patch
0063-drivers-gpio-Port-gpio-driver-to-ls1021a-qds-platfor.patch
0064-drivers-gpio-Kconfig-enable-GPIO-configs-for-LS1021A.patch
0065-ahci-qoriq-Adjust-the-default-register-values-on-ls1.patch
0066-ahci-qoriq-Update-the-default-Rx-watermark-value.patch
0067-ahci-qoriq-Adjust-the-default-register-values-on-ls1.patch
0068-ARM-dts-ls1021a-Add-DCU-dts-node.patch
0069-ARM-dts-ls1021a-add-sata-node-to-dts.patch
0070-ARM-dts-ls1021a-add-PCIe-dts-node.patch
0071-ARM-dts-mbls102xa-add-sata-node-to-dts.patch
0072-drm-fsl-dcu-Fix-no-fb-check-bug.patch
0073-1-7-drm-fsl-dcu-specify-volatile-registers.patch
0074-2-7-drm-fsl-dcu-remove-regmap-return-value-checks.patch
0075-3-7-drm-fsl-dcu-avoid-memory-leak-on-errors.patch
0076-4-7-drm-fsl-dcu-handle-initialization-errors-properl.patch
0077-5-7-drm-fsl-dcu-mask-all-interrupts-on-initializatio.patch
0078-6-7-drm-fsl-dcu-fix-alpha-blending.patch
0079-7-7-drm-fsl-dcu-use-mode-flags-for-hsync-vsync-pixel.patch
0080-drm-fsl-dcu-fix-register-initialization.patch
0081-drm-fsl-dcu-enable-pixclk-in-scfg-register.patch
0082-mbls102xa-drm-fsl-dcu-request-32-preferred_bpp.patch
0083-drivers-usb-host-fsl-Set-DMA_MASK-of-usb-platform-de.patch
0084-drivers-usb-host-fsl-Port-USB-EHCI-host-driver-for-L.patch
0085-drivers-usb-Port-ehci_fsl-driver-to-ls1021a-platform.patch
0086-ehci-hcd-Cleanup-memory-resources-when-ehci_halt-fai.patch
0087-ehci-hcd-Disable-memory-write-invalidate-when-the-dr.patch
0088-USB-host-use-to_platform_device.patch
0089-usb-fsl-drop-USB_FSL_MPH_DR_OF-Kconfig-symbol.patch
0090-ARM-imx-revert-temporarily-remove-CONFIG_SOC_FSL-fro.patch
0091-drivers-usb-fsl-Set-USB_EN-bit-to-select-ULPI-phy.patch
0092-gpio-change-member-.dev-to-.parent.patch
0093-gpio-pca953x-add-onsemi-pca9654-id.patch
0094-gpio-pca935x-fix-of-only-probed-devices.patch
0095-gpio-pca953x-make-inclusion-of-linux-of_platform.h-u.patch
0096-gpio-pca953x-Add-set_multiple-to-allow-multiple-bits.patch
0097-pca953x-temporary-use-irq-type-FALLING_EDGE-for-ls10.patch
0098-dts-mbls1021a-fix-stmpe-touch-properties.patch
0099-Revert-drm-fsl-dcu-use-mode-flags-for-hsync-vsync-pi.patch
0100-drm-fsl-dcu-use-mode-flags-for-hsync-vsync-polarity.patch
0101-drm-introduce-bus_flags-in-drm_display_info.patch
0102-drm-fsl-dcu-use-bus_flags-for-pixel-clock-polarity.patch
0103-arm-dts-mbls102xa-Add-sii9022a-dts-node.patch
0104-drm-layerscape-Add-sii9022a-driver.patch
0105-drm-layerscape-Add-HDMI-driver-for-freescale-DCU.patch
0106-input-ts-update-edt-driver-to-support-M12-type.patch
0107-panel-ETM0700G0EDH6-set-data-on-rising-edge.patch
0108-arm-dt-ls1021a-add-msi-parent-for-pcie-nodes.patch
0109-i2c-imx-recover-bus-stall-on-ls1021a.patch
#0110-arm-dt-mbls102xa-set-phy-addresses-for-rev.0200.patch
#0111-dt-mbls102xa-adapt-phy-timing-to-rev0200.patch
0112-dt-ls1021a-gianfar-bds-are-big-endian.patch
0113-gianfar_ptp-replace-get_of_u32-with-of_property_read.patch
0114-gianfar-fix-endianness-for-hardware-timestamp.patch
0115-ARM-dts-ls1021a-add-1588-timer-node.patch
0116-dt-mbls102xa-enable-dspi-nodes-and-spidev.patch
0117-Makefile-release-TQMLS102xA-BSP-0100.patch
Please note that the following interfaces cannot be used when using Rev.01xx of the MBLS102xA:
Load / Change / Save the Device Tree under U-Boot
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
=> fdt list /backlight@0
backlight@0 {
compatible = "gpio-backlight";
gpios = <0x0000001a 0x00000000 0x00000000>;
default-on;
status = "okay";
linux,phandle = <0x0000001b>;
phandle = <0x0000001b>;
};
=> fdt print /backlight@0
backlight@0 {
compatible = "gpio-backlight";
gpios = <0x0000001a 0x00000000 0x00000000>;
default-on;
status = "okay";
linux,phandle = <0x0000001b>;
phandle = <0x0000001b>;
};
5) To modify a value of a propertie use the fdt set command.
=> fdt set <path> <property> <value>
Example
=> fdt set /backlight@0 status disabled
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.
Known Issues PTXdist
TQMLS102xA BSP Rev.0102
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 |
MBLS102xA Rev.01xx EC2, HDMI, SATA
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 |
MBLS102xA Rev.01xx and Rev.0200 JTAG interface
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
|
MBLS102xA Rev.0200 and Rev.0201 JTAG interface
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
|
MBLS102xA Rev.01xx and TQMLS102xA Rev.02xx SD Card Boot
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
|
TQMLS102XA-BSP-REV.0100 2nd CPU does not start
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 |
MBaLS102x
RS485
Yocto
DevHost
Build BSP
Adapt BSP
Deployment
Known Issues Yocto
(Deployment)
QNX BSP
U-Boot
Kernel
FAQ
Deployment
VxWorks BSP
U-Boot
Kernel
FAQ
Deployment