BSP Overview
Third-Party Add-Ons
Board Support Packages
Product URL list
Starterkit
Hardware
Onboard I2C devices
Hardware Issues
Linux BSP
U-Boot
U-Boot Supported Features
Buildsystem BSP Revision Remarks
PTXdist • • • • • • • • •
Yocto • • • • • •
TQ Product Chip Interface Function Prerelease
7a3ec3d 0004 0005 0100 0102 0109 0110 0111 0112 0115 0116
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 Host • • • • • • • • • 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 0112 0115
eMMC / SD • • • • • • mutually exclusive
QSPI NOR-Flash • • • • •
Kernel
Operating System
Linux Supported Features
Buildsystem BSP Revision Remarks
PTXdist • • • • • • • • •
Yocto • • • • • •
TQ Product Chip Interface Function(s) Prerelease
7a3ec3d 0004 0005 0100 0102 0109 0110 0111 0112 0115 0116
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
USB2517 USB2_H4 Host • • • • • • • • •
USB2517 USB2_H5 Host • • • • • • • • •
USB2517 USB2_H6 Host • • • • • • • • • assembly option:
Safenet HL Chip Sentinel
FAQ
PTXdist
PTXdist BSP Version Matrix
PTXdist Changelog
BSP Version History
2019-09-10 - REV.0112
BSP
Upgrade toolchain to 2018.12.0 / gcc 8.2.1
Use PTXDIST_BSP_AUTOVERSION in configs
Enable PTXCONF_PROJECT_CHECK_LICENSES in configs
Linux
Fixed RS485 support in LPUART driver
Fix reboot issue
Disable CONFIG_MTD_CFI and CONFIG_MTD_NAND
Disable CONFIG_UEVENT_HELPER
Enable IPv6
Enable CRYPTO_USER and CRYPTO_USER_
API
Disable SND_SUPPORT_OLD_
API and enable SND_HRTIMER
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
Configure the BSP for the desired hardware platform and software configuration using the correpsonding command from the following table:
Platform Configuration Command
MBLS102xA configs/platform-tq-tqmls102xa/ptxconfig.bb Minimal rootfs w/ busybox configs/platform-tq-tqmls102xa/ptxconfig.bb /tools/config-mbls102xa
Building the BSP:
Execute in the BSP root directory
$ ./tools/config-mbls102xa
$ ./p images
or
$ ptxdist platform configs/platform-tq-tqmls102xa/mbls102xa/platformconfig
$ ptxdist select configs/platform-tq-tqmls102xa/ptxconfig.bb
$ ptxdist go --git
$ ptxdist images
PTXdist Partitions
Changing the partition scheme may affect the boot loader update capability and / or the kernel command line parameters!
SD / eMMC Image
Sector numbers are in hexadecimal (as expected by U-Boot's mmc
command), size is given in hex (=number of sectors) and dezimal (= size in byte).
Sector Size Usage
0x00000 … 0x000000 0x0001 sector / 512 Byte MBR / Partition Table
0x00001 … 0x000001 0x0001 sector / 512 Byte free
0x00002 … 0x0007FF 0x07FE sectors / 1023 KiB u-boot
0x00800 … 0x000FFF 0x0800 sectors / 1MiB environment
0x01000 … 0x001FFF 0x1000 sectors / 2 MiB free
0x02000 … 0x00BFFF 0xA000 sectors / 20 MiB boot /firmware (Kernel,devicetrees)
0x0C000 … 0x08BFFF 0x80000 sectors / 256 MiB root
0x8C000 … 0x10BFFF 0x80000 sectors / 256 MiB spare, unformated
eMMC/SD partition layout was changed in BSP REV.0109
BSP Revision < 0109
Sector Size Usage
0x0000 … 0x0000 0x0001 sector / 512 Byte MBR / Partition Table
0x0008 … 0x07ff 0x07f8 sectors / 1020 KiB u-boot
0x0800 … 0x0fff 0x0800 sectors / 1 MiB environment
0x1000 … 0x17ff 0x0800 sectors / 1 MiB device tree blob
Partition Size Usage
1 8 MiB Kernel image
2 256 MiB root FS
3 256 MiB Spare, not formatted
4 —- —-
The partition scheme is defined using the config file config/platform-tq-mbls102xa/config/images/uboot-hd.config.
To create the image the genimage host tool is used. This tool is automatically selected and built. You can find the build directory under <BSPROOT>/platform-MBLS102x/build-host/genimage. See the README file for how to use this tool.
QSPI NOR
Sector Size Usage
0x0000 … 0x0013 0x000E sectors / 896 KiB U-Boot
0x0014 … 0x0014 0x0001 sector / 64 KiB environment0
0x0015 … 0x0015 0x0005 sectors / 64 KiB devicetree
0x0016 … 0x0086 0x0070 sectors / 7 MiB Kernel
0x0087 … 0x0467 0x0380 sectors / 56 MiB RootFS
PTXdist Deployment
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 @mod_name@ from network you need a working bootloader in eMMC/SD-card or SPI-NOR (placement option on @mod_name@) 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)
PTXdist Images
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:
Device tree blobs:
* **ls1021a-mbls1021a.dtb** : default device tree without display
* **ls1021a-mbls1021a-dmb-ct21.dtb** : with parallel display (DMB S070PWS19HP-FC21)
* **ls1021a-mbls1021a-dmb-ct44.dtb** : with parallel display (DMB S070SWV29HG-DC44)
* **ls1021a-mbls1021a-glyn-etm0700g0edh6.dtb** : with parallel display (Glyn ETM0700G0EDH6)
* **ls1021a-mbls1021a-lvds-tm070jvhg33.dtb** : with LVDS display (Tianma TM070JVHG33)
* **ls1021a-mbls1021a-hdmi.dtb** : with HDMI display
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:
PTXdist Downloads
Build System / Toolchains
How-to PTXdist
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
Yocto BSP Version Matrix
× Please visit our
Github for the latest updates and BSP releases.
Yocto Changelog
BSP Version History
REV.0112
Linux
Fixed RS485 support in LPUART driver
Fix reboot issue
Disable CONFIG_MTD_CFI and CONFIG_MTD_NAND
Disable CONFIG_UEVENT_HELPER
Enable IPv6
Enable CRYPTO_USER and CRYPTO_USER_
API
Disable SND_SUPPORT_OLD_
API and enable SND_HRTIMER
REV.0110
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)
REV.0109
TQMLS102xA-BSP
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