~~NOCACHE~~ ~~NOTOC~~ ====== Entry Page ====== == Third-Party Add-Ons == * [[:en:third-party:ittia:db-sql|ITTIA DB SQL]] ===== Board Support Packages ===== * [[.linux:ptxdist:overview|PTXdist Linux BSP Documentation]] * [[.:linux:yocto:overview| YOCTO Linux BSP Documentation]] * [[.:qnx:overview|QNX® Neutrino®]] ===== Product URL list ===== [[https://www.tq-group.com/en/products/tq-embedded/qoriq-layerscape/tqmls102xa/|TQ product page TQMLS102xa]]\\ ===== Starterkit ===== * [[.:mbls102xa:dip_switches|MBLS102xA DIP switch settings]] ====== Hardware ====== ===== Onboard I2C devices ===== ====== Hardware Issues ====== ====== Linux BSP ====== ===== U-Boot ===== ^ Buildsystem ^^^^ BSP Revision ^^^^^^^^^^ Remarks ^ | PTXdist |||| • | • | • | • | • | • | • | • | • | | | Yocto |||| | | | | | • | • | • | • | • | | ^ TQ Product ^ Chip ^ Interface ^ Function ^ Prerelease\\ 7a3ec3d ^ 0004 ^ 0005 ^ 0100 ^ 0102 ^ 0109 ^ 0110 ^ 0111 ^ 0112 ^ 0115 ^ ^ | 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 | ^ Boot device ^ BSP Revision ^^^^^^ Remarks ^ ^ ::: ^ 0102 ^ 0109 ^ 0110 ^ 0111 ^ 0112 ^ 0115 ^ ::: ^ | eMMC / SD | • | • | • | • | • | • | mutually exclusive | | QSPI NOR-Flash | | • | • | • | • | • | | ===== Kernel ===== ===== Operating System ===== 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 [[en:layerscape:tqmls102xa:linux:ptxdist:how_to#use_bsp_%20rev.0100_on_mbls102xa%20_rev.01xx#|How to Use BSP Rev.0100 on MBLS102xA Rev.01xx]].** ^ Buildsystem ^^^^ BSP Revision ^^^^^^^^^^ Remarks ^ | PTXdist |||| • | • | • | • | • | • | • | • | • | | | Yocto |||| | | | | | • | • | • | • | • | | ^ TQ Product ^ Chip ^ Interface ^ Function(s) ^ Prerelease\\ 7a3ec3d ^ 0004 ^ 0005 ^ 0100 ^ 0102 ^ 0109 ^ 0110 ^ 0111 ^ 0112 ^ 0115 ^ ^ | 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 ===== ^ BSP revision ^ Prerelease\\ 7a3ec3d ^ [[https://www.tq-group.com/filedownloads/files/products/embedded/software_drivers/qoriq-layerscape/embedded-modul/TQ-Socket/TQMLS102xA/TQMLS102xA-BSP-REV.0004.zip|0004]] ^ [[https://www.tq-group.com/filedownloads/files/products/embedded/software_drivers/qoriq-layerscape/embedded-modul/TQ-Socket/TQMLS102xA/TQ-TQMLS102xA-BSP-REV.0005.zip|0005]] ^ [[https://www.tq-group.com/filedownloads/files/products/embedded/software_drivers/qoriq-layerscape/embedded-modul/TQ-Socket/TQMLS102xA/TQ-TQMLS102xA-BSP-REV.0100.zip|0100]] ^ [[https://www.tq-group.com/filedownloads/files/products/embedded/software_drivers/qoriq-layerscape/embedded-modul/TQ-Socket/TQMLS102xA/TQ-TQMLS102xA-BSP-REV.0102.zip|0102]] ^ [[https://www.tq-group.com/filedownloads/files/products/embedded/software_drivers/qoriq-layerscape/embedded-modul/TQ-Socket/TQMLS102xA/TQ-TQMLS102xA-BSP-REV.0109.zip|0109]] ^ [[https://www.tq-group.com/filedownloads/files/products/embedded/software_drivers/qoriq-layerscape/embedded-modul/TQ-Socket/TQMLS102xA/TQ-TQMLS102xA-BSP-REV.0110.zip|0110]] ^ [[https://www.tq-group.com/filedownloads/files/products/embedded/software_drivers/qoriq-layerscape/embedded-modul/TQ-Socket/TQMLS102xA/TQ-TQMLS102xA-BSP-REV.0111.zip|0111]] ^ [[https://www.tq-group.com/filedownloads/files/products/embedded/software_drivers/qoriq-layerscape/embedded-modul/TQ-Socket/TQMLS102xA/TQ-TQMLS102xA-BSP-REV.0112.zip|0112]] ^ ^ ++PTXdist|\\ version required by BSP++ | [[https://public.pengutronix.de/software/ptxdist/ptxdist-2015.02.0.tar.bz2| 2015.02]] | [[https://public.pengutronix.de/software/ptxdist/ptxdist-2015.05.0.tar.bz2| 2015.05]] | [[https://public.pengutronix.de/software/ptxdist/ptxdist-2015.05.0.tar.bz2| 2015.05]] | [[https://public.pengutronix.de/software/ptxdist//ptxdist-2015.05.0.tar.bz2|2015.05]] | [[https://public.pengutronix.de/software/ptxdist/ptxdist-2016.04.0.tar.bz2| 2016.04]] | [[https://public.pengutronix.de/software/ptxdist/ptxdist-2016.04.0.tar.bz2| 2016.04]] | [[https://public.pengutronix.de/software/ptxdist/ptxdist-2018.09.0.tar.bz2| 2018.09]] | [[https://public.pengutronix.de/software/ptxdist/ptxdist-2019.01.0.tar.bz2| 2019.01]] | [[https://public.pengutronix.de/software/ptxdist/ptxdist-2019.01.0.tar.bz2| 2019.01]] | ^ ++OSELAS Toolchain|\\ cf. [[http://www.pengutronix.de/software/ptxdist/appnotes/AppNote_BuildingToolchain.pdf|Building OSELAS.Toolchains()]]++ | [[http://www.pengutronix.de/oselas/toolchain/download/OSELAS.Toolchain-2013.12.2.tar.bz2| 2013.12.2]] | [[http://www.pengutronix.de/oselas/toolchain/download/OSELAS.Toolchain-2013.12.2.tar.bz2| 2013.12.2]] | [[http://www.pengutronix.de/oselas/toolchain/download/OSELAS.Toolchain-2013.12.2.tar.bz2| 2013.12.2]] | [[http://www.pengutronix.de/oselas/toolchain/download/OSELAS.Toolchain-2013.12.2.tar.bz2| 2013.12.2]] | [[http://www.pengutronix.de/oselas/toolchain/download/OSELAS.Toolchain-2013.12.2.tar.bz2| 2013.12.2]] | [[http://www.pengutronix.de/oselas/toolchain/download/OSELAS.Toolchain-2013.12.2.tar.bz2| 2013.12.2]] | [[http://www.pengutronix.de/oselas/toolchain/download/OSELAS.Toolchain-2018.02.0.tar.bz2| 2018.02]] | [[http://www.pengutronix.de/oselas/toolchain/download/OSELAS.Toolchain-2018.02.0.tar.bz2| 2018.02]] | [[http://www.pengutronix.de/oselas/toolchain/download/OSELAS.Toolchain-2018.12.0.tar.bz2| 2018.12]] | ^ Platform | MBLS102xA | MBLS102xA | MBLS102xA | MBLS102xA | MBLS102xA | MBLS102xA | MBLS102xA | MBLS102xA | MBLS102xA | ^ U-boot |[[http://www.denx.de/wiki/U-Boot/Documentation|2015.04]] | [[http://www.denx.de/wiki/U-Boot/Documentation|2015.04]] | [[http://www.denx.de/wiki/U-Boot/Documentation|2015.04]] | [[http://www.denx.de/wiki/U-Boot/Documentation|2016.05]] | [[http://www.denx.de/wiki/U-Boot/Documentation|2016.05]] | [[http://www.denx.de/wiki/U-Boot/Documentation|2017.07]] | [[http://www.denx.de/wiki/U-Boot/Documentation|2017.11]] | [[http://www.denx.de/wiki/U-Boot/Documentation|2017.11]] | [[http://www.denx.de/wiki/U-Boot/Documentation|2017.11]] | ^ Linux Kernel | [[http://lxr.free-electrons.com/source/?v=3.12|3.12]] | [[http://lxr.free-electrons.com/source/?v=3.12|3.12]] | [[http://lxr.free-electrons.com/source/?v=4.4|4.4]] | [[http://lxr.free-electrons.com/source/?v=4.4|4.4]] | [[http://lxr.free-electrons.com/source/?v=4.4|4.4]] | [[http://lxr.free-electrons.com/source/?v=4.4|4.4]] | [[http://lxr.free-electrons.com/source/?v=4.14|4.14]] | [[http://lxr.free-electrons.com/source/?v=4.14|4.14]] | [[http://lxr.free-electrons.com/source/?v=4.14|4.14]] | ===== PTXdist Changelog ===== ** 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 ** BSP ** * Added U-Boot variants for SAI muxing ** U-Boot ** * RCW: added SAI muxing ** Linux ** * improved Kernel config * added TLV320 codec driver * DTB: added audio codec support ** RootFS ** * Added asound.state file ** BSP ** * OSELAS Toolchain Update to 2018.2.0 / gcc-7.3.1 * PTXdist Update to 2018.09.0 ** 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 (800x480) \\ DMB S070PWS19HP-FC21 (1024x600) \\ DMB S070SWV29HG-DC44 (800x480) \\ \\ **LVDS display (incl. touch):**\\ Tianma TM070JVHG3 (1024x768) \\ * Enable RS485 at boot * set USB3 to OTG * PHY DP83867 reset via SW_RESTART now optional ** TQMLS102xA-BSP ** * OSELAS Toolchain Update from 2013.12.2 to 2014.12.2 ** SD Card Image ** * devicetree and kernel in firmware partition ** 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 ** TQMLS102xA-BSP ** *Build ecc and non-ecc u-boot variant, install non-ecc by default ** Build Tools ** *PTXdist 2016.04 ** 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 ** 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) ** TQMLS102xA-BSP ** ** Build tools ** *PTXdist 2015.05 *OSELAS.Toolchain-2013.12.2 *Linux Kernel 4.4 *U-Boot 2013.04 *Remove kernel fsl-sdk-1.7 *Remove u-boot fsl-sdk-1.7 ** 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 ===== PTXdist Platform ===== 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! * sector size 512 Byte * unpartitioned area: 4MiB (0x2000 sectors) 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 | * partitioned area: ^ 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 /platform-MBLS102x/build-host/genimage. See the README file for how to use this tool. * sector size 64 KiB ^ 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 /platform-/images $ sudo dd if=_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 [[en:general_information:tftp|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 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 (e.g.: setenv serverip 192.168.100.110) * => setenv ipaddr (e.g.: setenv ipaddr 192.168.100.111) * => setenv netmask (e.g.: setenv netmask 255.255.255.0) \\ **5. Provide U-Boot the file name of the desired image on the tftp server:** * For U-Boot update on eMMC/SD Card : => setenv uboot \\ * For U-Boot update on QSPI NOR : => setenv uboot-qspi \\ * For Device Tree update on eMMC/SD Card and QSPI NOR : => setenv fdt_file \\ * For Kernel update on eMMC/SD Card and QSPI NOR : => setenv zimage \\ \\ **6. Perform Update: ** * U-Boot update on eMMC /SD Card : => run update_uboot\\ * U-Boot update on QSPI NOR : => run update_uboot-qspi\\ * Device Tree update on eMMC /SD Card : => run update_fdt\\ * Device Tree update on QSPI NOR : => run update_fdt-qspi\\ * Kernel update on eMMC /SD Card : => run update_kernel\\ * Kernel update on QSPI NOR : => run update_kernel-qspi\\ The u-boot update scripts automatically implement the selection of the primary copy to boot. \\ ---- ==== Using NFS boot ==== == Prerequisites == * [[en:nfs|How to setup the NFS Server on your Host Computer]] * [[en:tftp|How to setup the TFTP Server on your Host Computer]] To boot the from network you need a working bootloader in eMMC/SD-card or SPI-NOR (placement option on ) 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 (e.g.: setenv serverip 192.168.100.1) * setenv ipaddr (e.g.: setenv ipaddr 192.168.0.10) * setenv netmask (e.g.: setenv netmask 255.255.255.0) * setenv rootpath (NFS share has to set in /etc/exports on the Computer that runs the NFS server first) * setenv fdt_file (name of devicetree file to be downloaded from the tftp server) * setenv 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-/images//. Complete system images: * **uboot-sd.img** The complete system images are intend for: * development system initialisation * deployment Bootloader images: * **u-boot.bin** * **u-boot-with-spl-pbl-mmcsd-2017.07.bin** * **u-boot-with-spl-pbl-ecc-mmcsd-2017.07.bin** * **u-boot-pbl.bin.bswap** * **u-boot-pbl.bin.ecc.bswap** * **u-boot-pbl.bin.ae.ecc.bswap** Linux images: * **linuximage** : Kernel (zImage) * **linuximage-rt** : Preempt-RT Kernel (zImage) 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: * **firmware.tgz** : firmware image contains all devicetree blobs and linux kernel image * **firmware.img** : firmware image archive (for firmware image creation) ===== PTXdist Downloads ===== The Board Support Packages (BSPs) usually provide source code as well as precompiled images for one or more platforms.\\ Please see the [[https://support.tq-group.com/en/layerscape/tqmls102xa/linux/ptxdist/overview#bsp_overview|version matrix]] for details of each BSP revision. [[https://www.tq-group.com/filedownloads/files/products/embedded/software_drivers/qoriq-layerscape/embedded-modul/TQ-Socket/TQMLS102xA/TQ-TQMLS102xA-BSP-REV.0112.zip|TQMLS102xA BSP Rev.0112]]☚ current revision\\ [size=70%]MD5SUM: 09B5CFAB263070F06C82C791812037FE [/size] [[https://www.tq-group.com/filedownloads/files/products/embedded/software_drivers/qoriq-layerscape/embedded-modul/TQ-Socket/TQMLS102xA/TQ-TQMLS102xA-BSP-REV.0111.zip|TQMLS102xA BSP Rev.0111]]\\ [size=70%]MD5SUM: 965464329762A1634C739678F36EB765 [/size] [[https://www.tq-group.com/filedownloads/files/products/embedded/software_drivers/qoriq-layerscape/embedded-modul/TQ-Socket/TQMLS102xA/TQ-TQMLS102xA-BSP-REV.0110.zip|TQMLS102xA BSP Rev.0110]]\\ [size=70%]MD5SUM: 265CD64894ECF83DA600AC99BD5DECC6[/size] [[https://www.tq-group.com/filedownloads/files/products/embedded/software_drivers/qoriq-layerscape/embedded-modul/TQ-Socket/TQMLS102xA/TQ-TQMLS102xA-BSP-REV.0109.zip|TQMLS102xA BSP Rev.0109]]\\ [size=70%]MD5SUM: CFAFA4F29B4C427E82EA7544F90A7AD9[/size] \\ [[https://www.tq-group.com/filedownloads/files/products/embedded/software_drivers/qoriq-layerscape/embedded-modul/TQ-Socket/TQMLS102xA/TQ-TQMLS102xA-BSP-REV.0102.zip|TQMLS102xA BSP Rev.0102]]\\ [size=70%]MD5SUM: 1F6BB7DC98E2E10AEB5C528382187971[/size] \\ [[https://www.tq-group.com/filedownloads/files/products/embedded/software_drivers/qoriq-layerscape/embedded-modul/TQ-Socket/TQMLS102xA/TQ-TQMLS102xA-BSP-REV.0102_HOTFIX_QSPI-Boot.zip| Linux BSP Rev.0102 for TQMLS102xA - Hotfix QSPI Boot]]\\ [size=70%]MD5SUM: 699E8B791D9E25CA3C0CEC31A43200E6[/size] \\ [[https://www.tq-group.com/filedownloads/files/products/embedded/software_drivers/qoriq-layerscape/embedded-modul/TQ-Socket/TQMLS102xA/TQ-TQMLS102xA-BSP-REV.0100.zip| TQMLS102xA BSP Rev.0100]]\\ [size=70%]MD5SUM: FA1BDF3A2E42725709DD6F6A61323D7F[/size] \\ [[https://www.tq-group.com/filedownloads/files/products/embedded/software_drivers/qoriq-layerscape/embedded-modul/TQ-Socket/TQMLS102xA/TQ-TQMLS102xA-BSP-REV.0005.zip| TQMLS102xA BSP Prerelease Rev.0005]]\\ [size=70%]MD5SUM: 8F8D58F445107A031883ACB222C9875C[/size] \\ [[https://www.tq-group.com/filedownloads/files/products/embedded/software_drivers/qoriq-layerscape/embedded-modul/TQ-Socket/TQMLS102xA/TQMLS102xA-BSP-REV.0004.zip| TQMLS102xA BSP Prerelease Rev.0004]]\\ [size=70%]MD5SUM: B8361BCA27933080939CFF98120EE204[/size] 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 [[en:layerscape:tqmls102xa:data#version-matrix|version matrix]]. ---- [[http://www.pengutronix.de/software/ptxdist/download/ptxdist-2018.09.0.tar.bz2| Build System PTXdist 2018.09]] [[http://www.pengutronix.de/software/ptxdist/download/ptxdist-2016.04.0.tar.bz2| Build System PTXdist 2016.04]] [[http://www.pengutronix.de/software/ptxdist/download/ptxdist-2015.05.0.tar.bz2| Build System PTXdist 2015.05]] [[http://www.pengutronix.de/software/ptxdist/download/ptxdist-2015.02.0.tar.bz2| Build System PTXdist 2015.02]] [[http://www.pengutronix.de/oselas/toolchain/download/OSELAS.Toolchain-2018.02.0.tar.bz2| OSELAS Toolchain 2018.02.0]] [[http://www.pengutronix.de/oselas/toolchain/download/OSELAS.Toolchain-2013.12.2.tar.bz2| OSELAS Toolchain 2013.12.2]] [[http://www.pengutronix.de/oselas/toolchain/download | PTXdist projects for compiling OSELAS toolchains]] [[http://www.pengutronix.de/software/ptxdist/appnotes/OSELAS.BSP-Pengutronix-Generic-arm-Quickstart.pdf| PTXdist manual "How to become a PTXdist Guru"]] ☚ worthwhile reading [[http://www.pengutronix.de/software/ptxdist/appnotes/AppNote_BuildingToolchain.pdf|Application Note: Building OSELAS.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: * U-Boot * 0010-tqmls102xa-set-phy-addresses-for-mbls1021a.0200.patch * 0011-phy_ti-adapt-hard-coded-skew-to-custom-values.patch * Linux * 0110-arm-dt-mbls102xa-set-phy-addresses-for-rev.0200.patch * 0111-dt-mbls102xa-adapt-phy-timing-to-rev0200.patch To "disable" these patches, simply comment them out in the corresponding series file: * U-Boot: ++configs/platform-tq-mbls102xa/patches/u-boot-2016.05/series| 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: * EC2 * SATA \\ ==== 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: * U-Boot * 0010-tqmls102xa-set-phy-addresses-for-mbls1021a.0200.patch * 0011-phy_ti-adapt-hard-coded-skew-to-custom-values.patch * Linux * 0110-arm-dt-mbls102xa-set-phy-addresses-for-rev.0200.patch * 0111-dt-mbls102xa-adapt-phy-timing-to-rev0200.patch To "disable" these patches, simply comment them out in the corresponding series file: * U-Boot: ++configs/platform-tq-mbls102xa/patches/u-boot-2016.05/series| 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: * EC2 * SATA \\ ---- \\ ==== 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 [[intern:general_information:tutorial:devicetree|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 ++++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** => fatwrite mmc $mmcdev:$firmwarepart $fdt_addr $fdt_file You can find out 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 {{ :intern:arm:tqmls102xa:linux:emmc-remove-interrupt-0x00000002-message.zip |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 \\ \\ {{:en:arm:tqmls102xa:linux:r464.jpg?nolink&400|}} | ==== 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 \\ \\ {{:en:arm:tqmls102xa:linux:d40.jpg?nolink&200|}} | ==== 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 \\ \\ {{:en:arm:tqmls102xa:linux:r167.jpg?nolink&200|}} | ==== 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 ===== ^ BSP Revision ^ ++meta-tq release|\\ [[https://github.com/tq-systems/meta-tq]]++ ^ Yocto Project / Poky Release ^ Target machine((i.e. value for [[https://www.yoctoproject.org/docs/2.4.4/ref-manual/ref-manual.html#var-MACHINE|MACHINE]] variable)) ^ U-Boot ^ Linux Kernel ^ | [[https://github.com/tq-systems/meta-tq/tree/TQMLS102xA.BSP.SW.0109|0109 ]] | [[https://github.com/tq-systems/meta-tq/tree/rocko |rocko]] | 2.4.4 - Rocko | ++tqmls102xa-mbls102xa| TQMLS102xA on MBLS102xA ++ | v2017.07 | 4.4 | | [[https://github.com/tq-systems/meta-tq/tree/rocko.TQMLS102xA.BSP.SW.0110|0110]] | [[https://github.com/tq-systems/meta-tq/tree/rocko |rocko]] | 2.4.4 - Rocko | ++tqmls102xa-mbls102xa| TQMLS102xA on MBLS102xA ++ | v2017.11 | 4.14.78 | | [[https://github.com/tq-systems/meta-tq/tree/warrior.TQMLS102xA.BSP.SW.0111|0111]] | [[https://github.com/tq-systems/meta-tq/tree/warrior/|warrior]] | 2.7.3 - Warrior | ++tqmls102xa-mbls102xa| TQMLS102xA on MBLS102xA ++ | v2017.11 | 4.14.78 | | [[https://github.com/tq-systems/meta-tq/tree/warrior.TQMLS102xA.BSP.SW.0112|0112]] | [[https://github.com/tq-systems/meta-tq/tree/warrior/|warrior]] | 2.7.3 - Warrior | ++tqmls102xa-mbls102xa| TQMLS102xA on MBLS102xA ++ | v2017.11 | 4.14.78 | | [[https://github.com/tq-systems/meta-tq/releases/tag/zeus.TQMLS102xA.BSP.SW.0115| 0115]] | [[https://github.com/tq-systems/meta-tq/tree/zeus |zeus]] | 3.0.3 - Zeus | ++tqmls102xa-mbls102xa| TQMLS102xA on MBLS102xA ++ | [[https://github.com/tq-systems/u-boot-tqmaxx/releases/tag/zeus.TQMLS102xA.BSP.SW.0115| v2017.11]] | [[https://github.com/tq-systems/linux-tqmaxx/releases/tag/zeus.TQMLS102xA.BSP.linux-tq.SW.0115| 5.4.23]]\\ [[https://github.com/tq-systems/linux-tqmaxx/releases/tag/zeus.TQMLS102xA.BSP.linux-rt-tq.SW.0115 |5.4.23 + rt23 ]] | ===== Yocto Changelog ===== ** BSP ** * Update to Yocto Zeus * Update to Linux Kernel 5.4 * Added kernel linux-tq 5.4 * Added kernel linux-rt-tq 5.4 ** 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 ** BSP ** * Update to Yocto Warrior ** U-Boot ** * RCW: added SAI muxing * Added U-Boot variants for SAI muxing ** Linux ** * improved Kernel config * added TLV320 codec driver * DTB: added audio codec support ** 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 (800x480) \\ DMB S070PWS19HP-FC21 (1024x600) \\ DMB S070SWV29HG-DC44 (800x480) \\ \\ **LVDS display (incl. touch):**\\ Tianma TM070JVHG3 (1024x768) \\ * Enable RS485 at boot * set USB3 to OTG * PHY DP83867 reset via SW_RESTART now optional ** 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 ===== Yocto Images ===== **System Images** ^ Boot Device ^ Symlink ^ File ^ ^ SD Card/eMMC | ^ SD Card/eMMC | tq-image-generic-tqmls102xa-mbls102xa.wic | tq-image-generic-tqmls102xa-mbls102xa-.rootfs.wic | **Bootloader Binaries** ^ Boot Device ^ Symlink ^ File ^ ^ QSPI NOR | u-boot.bin | u-boot-ae_qspi_ecc_can-2017.11-r0.bin | ^ QSPI NOR | u-boot.bin-qspi | u-boot-qspi-2017.11-r0.bin | ^ QSPI NOR | u-boot.bin-qspi_sai | u-boot-qspi_sai-2017.11-r0.bin | ^ QSPI NOR | u-boot.bin-qspi_ecc | u-boot-qspi_ecc-2017.11-r0.bin | ^ QSPI NOR | u-boot.bin-qspi_can | u-boot-qspi_can-2017.11-r0.bin | ^ QSPI NOR | u-boot.bin-qspi_ecc_can | u-boot-qspi_ecc_can-2017.11-r0.bin | ^ QSPI NOR | u-boot.bin-ae_qspi_ecc | u-boot-ae_qspi_ecc-2017.11-r0.bin | ^ SD/eMMC | u-boot.bin-sd | u-boot-sd-2017.11-r0.bin | ^ SD/eMMC | u-boot.bin-sd_sai | u-boot-sd_sai-2017.11-r0.bin | ^ SD/eMMC | u-boot.bin-sd_ecc | u-boot-sd_ecc-2017.11-r0.bin | ^ SD/eMMC | u-boot.bin-sd_can | u-boot-sd_can-2017.11-r0.bin | ^ SD/eMMC | u-boot.bin-sd_ecc_can | u-boot-sd_ecc_can-2017.11-r0.bin | **Linux Kernel Image** ^ Symlink ^ File ^ | zImage | zImage--5.4-r0-tqmls102xa-mbls102xa-.bin | **Devicetree Blobs** ^ Symlink ^ Description ^ | ls1021a-mbls1021a.dtb | Default | | ls1021a-mbls1021a-dmb-ct21.dtb | Default for DMB-Display | | ls1021a-mbls1021a-dmb-ct44.dtb | Default for DMB-Display | | ls1021a-mbls1021a-glyn-etm0700g0edh6.dtb | Default for GLYN-Display | | ls1021a-mbls1021a-hdmi.dtb | Default with HDMI interface activated | | ls1021a-mbls1021a-lvds-tm070jvhg33.dtb | Default with LVDS interface activated | **Rootfs images** ^ Symlink ^ File ^ | tq-image-generic-tqmls102xa-mbls102xa.ext4 | tq-image-generic-tqmls102xa-mbls102xa-.rootfs.ext4 | | tq-image-generic-tqmls102xa-mbls102xa.tar.gz | tq-image-generic-tqmls102xa-mbls102xa-.rootfs.tar.gz | ===== DevHost ===== ===== Build BSP ===== ===== Adapt BSP ===== ===== Deployment ===== ===== Known Issues Yocto ==== {{section>.:data#known_issues_ptxdist&noheader}} ===== (Deployment) ===== ====== QNX BSP ====== ===== U-Boot ===== ===== Kernel ===== ===== FAQ ===== ===== Deployment ===== ====== VxWorks BSP ====== ===== U-Boot ===== ===== Kernel ===== ===== FAQ ===== ===== Deployment =====