~~NOCACHE~~
====== Entry Page ======
===== Product URL list =====
[[https://www.tq-group.com/en/products/tq-embedded/arm-architecture/tqma8xxs/|TQ product page TQMa8XxS]]\\
===== Board Support Packages =====
* [[en:arm:tqma8xxs:linux:yocto:overview| YOCTO Linux BSP Documentation]]
* [[.:pikeos:overview|PikeOS BSP Information]]
----
⠀⠀[[https://www.tq-group.com/en/products/tq-embedded/arm-architecture/tqma8xxs/#downloads |TQMa8XxPS Bootloader Fix: ERR051393]]
===== Third-Party Add-Ons =====
* [[:en:third-party:ittia:db-sql|ITTIA DB SQL]]
* [[:en:third-party:systemcorp:iec61850|SystemCORP IEC 61850]]
* [[:en:third-party:netmodule:iec62439|NetModule IEC 62439]]
===== Starterkit =====
* [[en:arm:tqma8xxs:mb-smarc-2:dip_switches| MB-SMARC-2 DIP switch settings]]
====== Hardware ======
===== Debug Connection =====
The TQMa8XxS debug UART is connected via a RS232 Tranceiver to X39 (Molex Connector) on the MB-SMARC-2. A Molex/Sub-D cable is part of the STKa8xxS accessory set.
===== Onboard I2C devices =====
^ I2C bus ^ TQMa8XxS ^^^^^^
^ I2C1 | 0x1B\\ Temperature sensor | 0x33\\ EEPROM\\ (Protection Command) | 0x48\\ Trust Secure Element (optional) | 0x50\\ EEPROM | 0x51\\ RTC (optional) | 0x53\\ EEPROM | 0x6A\\ PCIe clock generator |
^ PMIC_I2C | 0x08\\ PMIC |||||||
^ DSI0_I2C | 0x0F \\ eDP Bridge\\ Only placed on TQMa8XxS with Display Port support |||||||
^ I2C bus ^ MB-SMARC-2 ^^^
^ I2C1 | 0x30\\ Audio-Codec | 0xA0\\ EEPROM | 0xAE\\ EEPROM |
^ I2C bus ^ TQMa8XxS ^^^^^^
^ I2C1 | 0x1B\\ Temperature sensor | 0x33\\ EEPROM\\ (Protection Command) | 0x48\\ Trust Secure Element (optional) | 0x50\\ EEPROM | 0x51\\ RTC (optional) | 0x53\\ EEPROM | 0x6A\\ PCIe clock generator |
^ PMIC_I2C | 0x08\\ PMIC |||||||
^ DSI0_I2C | 0x2C \\ eDP Bridge\\ Only placed on TQMa8XxS with Display Port support |||||||
^ I2C bus ^ MB-SMARC-2 ^^^
^ I2C1 | 0x30\\ Audio-Codec | 0xA0\\ EEPROM | 0xAE\\ EEPROM |
^ I2C bus ^ TQMa8XxS ^^^^^^
^ I2C1 | 0x19\\ Temperature sensor | 0x2C \\ eDP Bridge\\ Only placed on TQMa8XxS with Display Port support | 0x31\\ EEPROM | 0x50\\ EEPROM | 0x51\\ EEPROM | 0x68\\ RTC (optional) |
^ PMIC_I2C | 0x08\\ PMIC ||||||
^ I2C bus ^ MB-SMARC-2 ^^^
^ I2C1 | 0x30\\ Audio-Codec | 0xA0\\ EEPROM | 0xAE\\ EEPROM |
====== Hardware Issues ======
====== Linux BSP ======
===== U-Boot =====
^ Feature ^^^^ TQMa8.BSP Revision ^ Remarks ^
^ TQ Product ^ Chip ^ Interface ^ Function ^ 0081 - 0091 ^ ::: ^
| TQMa8XxS | i.MX8X | ENET0 | GbE | ✔ | |
| TQMa8XxS | i.MX8X | ENET1 | GbE | ✔ | |
| TQMa8XxS | i.MX8X | GPIO | | ✔ | |
| TQMa8XxS | i.MX8X | I²C | EEPROM, Temperature Sensors | ✔ | |
| TQMa8XxS | i.MX8X | UART0 | Debug Console | ✔ | default console |
| TQMa8XxS | i.MX8X | USB | Host | ✔ | |
| TQMa8XxS | i.MX8X | USB | OTG | ✔ | |
| TQMa8XxS | i.MX8X | uSDHC | eMMC / SD-Card | ✔ | SD card / eMMC |
| TQMa8XxS | i.MX8X | QSPI | QSPI NOR | ✔ | |
| TQMa8XxS | i.MX8X | Fuses | OTP Fuses | ✔ | |
^ Feature ^^^^ BSP Revision ^^^^^^^^^^^^^ Remarks ^
^ TQ Product ^ Chip ^ Interface ^ Function ^ 0001 ^ 0002 ^ 0005 ^ 0006 ^ 0007 ^ 0016 ^ 0017 ^ 0028 ^ 0033 ^ 0035 ^ 0036 ^ 0038 ^ 0055 ^ ::: ^
| TQMa8XxS | i.MX8X | ENET0 | GbE | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| TQMa8XxS | i.MX8X | ENET1 | GbE | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| TQMa8XxS | i.MX8X | GPIO | | | | | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| TQMa8XxS | i.MX8X | I²C | EEPROM, Temperature Sensors | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| TQMa8XxS | i.MX8X | UART0 | Debug Console | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | default console |
| TQMa8XxS | i.MX8X | USB | Host | | | | | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| TQMa8XxS | i.MX8X | USB | OTG | | | | | | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| TQMa8XxS | i.MX8X | uSDHC | eMMC / SD-Card | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | SD card / eMMC |
| TQMa8XxS | i.MX8X | QSPI | QSPI NOR | | | | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| TQMa8XxS | i.MX8X | Fuses | OTP Fuses | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
^ Boot device ^ supported ^
| eMMC | ✔ |
| SD Card | ✔ |
| QSPI NOR | ✔ |
===== Operating System =====
^ Feature ^^^^ TQMa8.BSP Revision ^ Remarks ^
^ TQ Product ^ Chip ^ Interface ^ Function ^ 0081 - 0091 ^ ::: ^
| TQMa8XxS | i.MX8X | Cortex M4 | Microcontroller | ✔ | |
| ::: | i.MX8X | ENET0 | GbE | ✔ | |
| ::: | i.MX8X | ENET1 | GbE | ✔ | |
| ::: | i.MX8X | FLEXCAN0 | CAN | ✔ | CAN FD not supported |
| ::: | i.MX8X | FLEXCAN1 | CAN | ✔ | CAN FD not supported |
| ::: | i.MX8X | GPU | Hardware Acceleration | ✔ | |
| ::: | i.MX8X | I²C1 | Bus Access | ✔ | [[./linux/yocto/overview#onboard_i2c_devices|See onboard I2C devices]] |
| ::: | i.MX8X | MIPI DSI | LVDS | ✔ | Only available on TQMa8XQPS-AA |
| ::: | i.MX8X | UART0 | Serial console | ✔ | |
| ::: | i.MX8X | uSDHC | uSDHC0 eMMC | ✔ | |
| ::: | i.MX8X | ::: | uSDHC1 SD Card | ✔ | |
| ::: | i.MX8X | USB 3.0 | TUSB8041I | ✔ | |
| ::: | i.MX8X | VPU | Hardware Acceleration | ✔ | |
| ::: | TUSB8041I | USB1 | Host(USB 2.0) | ✔ | |
| ::: | TUSB8041I | USB2 | Host(USB 3.0) | ✔ | |
| ::: | TUSB8041I | USB3 | Host(USB 3.0) | ✔ | |
| ::: | TUSB8041I | USB4 | Host(USB 2.0) | ✔ | |
| ::: | i.MX8X | QSPI | NOR Flash | ✔ | |
| ::: | i.MX8X | PCIe | Host | ✔ | |
^ Feature ^^^^ BSP Revision ^^^^^^^^^^^^^ Remarks ^
^ TQ Product ^ Chip ^ Interface ^ Function ^ 0001 ^ 0002 ^ 0005 ^ 0006 ^ 0007 ^ 0016 ^ 0017 ^ 0028 ^ 0033 ^ 0035 ^ 0036 ^ 0038 ^ 0055 ^ ::: ^
| TQMa8XxS | i.MX8X | Cortex M4 | Microcontroller | | | | | | | | | | | | | ✔ | |
| ::: | i.MX8X | ENET0 | GbE | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| ::: | i.MX8X | ENET1 | GbE | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| ::: | i.MX8X | FLEXCAN0 | CAN | | | | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | CAN FD not supported |
| ::: | i.MX8X | FLEXCAN1 | CAN | | | | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | CAN FD not supported |
| ::: | i.MX8X | GPU | Hardware Acceleration | | | | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| ::: | i.MX8X | I²C1 | Bus Access | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | [[./linux/yocto/overview#onboard_i2c_devices|See onboard I2C devices]] |
| ::: | i.MX8X | MIPI DSI | LVDS | | | | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | Only available on TQMa8XQPS-AA |
| ::: | i.MX8X | UART0 | Serial console | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| ::: | i.MX8X | uSDHC | uSDHC0 eMMC | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| ::: | i.MX8X | ::: | uSDHC1 SD Card | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| ::: | i.MX8X | USB 3.0 | TUSB8041I | | | | | | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| ::: | i.MX8X | VPU | Hardware Acceleration | | | | | | | | | ✔ | ✔ | ✔ | ✔ | ✔ | |
| ::: | TUSB8041I | USB1 | Host(USB 2.0) | | | | | | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
| ::: | TUSB8041I | USB2 | Host(USB 3.0) | | | | | | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| ::: | TUSB8041I | USB3 | Host(USB 3.0) | | | | | | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| ::: | TUSB8041I | USB4 | Host(USB 2.0) | | | | | | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| ::: | i.MX8X | QSPI | NOR Flash | | | | | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| ::: | i.MX8X | PCIe | Host | | | | | | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
===== FAQ =====
===== Yocto =====
===== Yocto BSP Version Matrix - Old Revisions=====
^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/ci-meta-tq/tree/zeus.TQMa8.BSP.SW.0055|0055]] | 3.0 - Zeus | [[https://github.com/tq-systems/ci-meta-tq/tree/zeus-tqma8|zeus-tqma8]] | ++tqma8xqps-mb-smarc-2|TQMa8XQPS REv.03xx on MB-SMARC-2++ \\ ++tqma8xqps-mb-smarc-2-r0200|TQMa8XQPS REv.02xx on MB-SMARC-2++ \\ ++tqma8xdps-mb-smarc-2|TQMa8XDPS on MB-SMARC-2++ | [[https://github.com/tq-systems/u-boot-tqmaxx/tree/zeus.TQMa8XxS.BSP.SW.0055|v2020.04-imx-5.4.47-2.2.0]] | [[https://github.com/tq-systems/linux-tqmaxx/tree/zeus.TQMa8XxS.BSP.SW.0055|lf-5.4.y-1.0.0]] |
| [[https://github.com/tq-systems/ci-meta-tq/tree/zeus.TQMa8.BSP.SW.0038|0038]] | 3.0 - Zeus | [[https://github.com/tq-systems/ci-meta-tq/tree/zeus-tqma8|zeus-tqma8]] | ++tqma8xqps-mb-smarc-2|TQMa8XQPS REv.03xx on MB-SMARC-2++ \\ ++tqma8xqps-mb-smarc-2-r0200|TQMa8XQPS REv.02xx on MB-SMARC-2++ \\ ++tqma8xdps-mb-smarc-2|TQMa8XDPS on MB-SMARC-2++ | [[https://github.com/tq-systems/u-boot-tqmaxx/tree/zeus.TQMa8XxS.BSP.SW.0038|v2020.04-imx-5.4.47-2.2.0]] | [[https://github.com/tq-systems/linux-tqmaxx/tree/zeus.TQMa8XxS.BSP.SW.0038|lf-5.4.y-1.0.0]] |
| [[https://github.com/tq-systems/ci-meta-tq/tree/zeus.TQMa8.BSP.SW.0036|0036]] | 3.0 - Zeus | [[https://github.com/tq-systems/ci-meta-tq/tree/zeus-tqma8|zeus-tqma8]] | ++tqma8xqps-mb-smarc-2|TQMa8XQPS REv.03xx on MB-SMARC-2++ \\ ++tqma8xqps-mb-smarc-2-r0200|TQMa8XQPS REv.02xx on MB-SMARC-2++ | [[https://github.com/tq-systems/u-boot-tqmaxx/tree/zeus.TQMa8XxS.BSP.SW.0036|v2020.04-imx-5.4.47-2.2.0]] | [[https://github.com/tq-systems/linux-tqmaxx/tree/zeus.TQMa8XxS.BSP.SW.0036|lf-5.4.y-1.0.0]] |
| [[https://github.com/tq-systems/ci-meta-tq/tree/zeus.TQMa8.BSP.SW.0035|0035]] | 3.0 - Zeus | [[https://github.com/tq-systems/ci-meta-tq/tree/zeus-tqma8|zeus-tqma8]] | ++tqma8xqps-mb-smarc-2|TQMa8XQPS REv.03xx on MB-SMARC-2++ \\ ++tqma8xqps-mb-smarc-2-r0200|TQMa8XQPS REv.02xx on MB-SMARC-2++ | [[https://github.com/tq-systems/u-boot-tqmaxx/tree/zeus.TQMa8XxS.BSP.SW.0035|v2020.04-imx-5.4.47-2.2.0]] | [[https://github.com/tq-systems/linux-tqmaxx/tree/zeus.TQMa8XxS.BSP.SW.0035|lf-5.4.y-1.0.0]] |
| [[https://github.com/tq-systems/ci-meta-tq/tree/zeus.TQMa8.BSP.SW.0033|0033]] | 3.0 - Zeus | [[https://github.com/tq-systems/ci-meta-tq/tree/zeus-tqma8|zeus-tqma8]] | ++tqma8xqps-mb-smarc-2|TQMa8XQPS REv.03xx on MB-SMARC-2++ \\ ++tqma8xqps-mb-smarc-2-r0200|TQMa8XQPS REv.02xx on MB-SMARC-2++ | [[https://github.com/tq-systems/u-boot-tqmaxx/tree/zeus.TQMa8XxS.BSP.SW.0033|v2020.04-imx-5.4.47-2.2.0]] | [[https://github.com/tq-systems/linux-tqmaxx/tree/zeus.TQMa8XxS.BSP.SW.0033|lf-5.4.y-1.0.0]] |
| [[https://github.com/tq-systems/ci-meta-tq/tree/zeus.TQMa8.BSP.SW.0028|0028]] | 3.0 - Zeus | [[https://github.com/tq-systems/ci-meta-tq/tree/zeus-tqma8|zeus-tqma8]] | tqma8xqps-mb-smarc-2 | [[https://github.com/tq-systems/u-boot-tqmaxx/tree/zeus.TQMa8XxS.BSP.SW.0028|v2019.04-lf-5.4.y-1.0.0]] | [[https://github.com/tq-systems/linux-tqmaxx/tree/zeus.TQMa8XxS.BSP.SW.0028|lf-5.4.y-1.0.0]] |
| [[https://github.com/tq-systems/ci-meta-tq/tree/sumo.TQMa8x.BSP.SW.0017|0017]] | 2.5.2 - Sumo | [[https://github.com/tq-systems/ci-meta-tq/tree/sumo-tqma8x|sumo-tqma8x]] | tqma8xps-mb-smarc-2\\ tqma8xds-mb-smarc-2 | v2018.03-rel_imx_4.14.98_2.2.0_ga | rel_imx_4.14.98_2.2.0_ga |
| [[https://github.com/tq-systems/ci-meta-tq/tree/sumo.TQMa8x.BSP.SW.0016|0016]] | 2.5.2 - Sumo | [[https://github.com/tq-systems/ci-meta-tq/tree/sumo-tqma8x|sumo-tqma8x]] | tqma8xps-mb-smarc-2\\ tqma8xds-mb-smarc-2 | v2018.03-rel_imx_4.14.98_2.2.0_ga | rel_imx_4.14.98_2.2.0_ga |
| [[https://github.com/tq-systems/ci-meta-tq/tree/sumo.TQMa8.BSP.SW.0007|0007]] | 2.5.2 - Sumo | [[https://github.com/tq-systems/ci-meta-tq/tree/sumo-tqma8x|sumo-tqma8x]] | tqma8xps-mb-smarc-2\\ tqma8xds-mb-smarc-2 | v2018.03 rel_imx_4.14.78_1.0.0_ga | rel_imx_4.14.78_1.0.0_ga |
| [[https://github.com/tq-systems/ci-meta-tq/tree/sumo.TQMa8.BSP.SW.0006|0006]] | 2.5.2 - Sumo | [[https://github.com/tq-systems/ci-meta-tq/tree/sumo-tqma8x|sumo-tqma8x]] | tqma8xps-mb-smarc-2 | v2018.03 rel_imx_4.14.78_1.0.0_ga | rel_imx_4.14.78_1.0.0_ga |
| [[https://github.com/tq-systems/ci-meta-tq/tree/sumo.TQMa8.BSP.SW.0005|0005]] | 2.5.2 - Sumo | [[https://github.com/tq-systems/ci-meta-tq/tree/sumo-tqma8x|sumo-tqma8x]] | tqma8qxps-mb-smarc-2 | v2018.03 rel_imx_4.14.78_1.0.0_ga | rel_imx_4.14.78_1.0.0_ga |
| [[https://github.com/tq-systems/ci-meta-tq/releases/tag/sumo.TQMa8Xx.BSP.SW.0002|0002]] | 2.5.2 - Sumo | [[https://github.com/tq-systems/ci-meta-tq/tree/sumo-tqma8x|sumo-tqma8x]] | tqma8qxs-mb-smarc-2 | v2018.03 rel_imx_4.14.78_1.0.0_ga | rel_imx_4.14.78_1.0.0_ga |
| [[https://github.com/tq-systems/ci-meta-tq/releases/tag/rocko.TQMa8MQ.BSP.SW.0001|0001]] | 2.4.4 - Rocko | [[https://github.com/tq-systems/ci-meta-tq/tree/rocko-tqma8x|rocko-tqma8x]] | tqma8qxs-mb-smarc-2 | v2017.03 rel_4.9.88_imx_imx8qxp_beta2 | rel_imx_4.9.88_imx8qxp_beta2 |
^ ^ TQMa8XxS ^^^
^::: ^ Rev.01xx ^ Rev.02xx ^ Rev.03xx ^
^ BSP Rev < 0028 | ✔ | | |
^ BSP REV = 0028 | | ✔ | |
^ BSP REV ≥ 0033 | | ✔ | ✔ |
{{section>..:..:general_information:yocto:tips#bsp_release_auto_notification&noheader}}
===== Yocto Target Machines =====
^ TQMa8.BSP Revision ^ Target machine |
| [[https://github.com/tq-systems/ci-meta-tq/tree/zeus.TQMa8.BSP.SW.0038|≥0038]] | tqma8xqps-mb-smarc-2 \\ tqma8xqps-mb-smarc-2-r0200 \\ tqma8xdps-mb-smarc-2 |
| [[https://github.com/tq-systems/ci-meta-tq/tree/zeus.TQMa8.BSP.SW.0033|≥0033]] | tqma8xqps-mb-smarc-2 \\ tqma8xqps-mb-smarc-2-r0200 |
| [[https://github.com/tq-systems/ci-meta-tq/tree/zeus.TQMa8.BSP.SW.0028|0028]] | tqma8xqps-mb-smarc-2 |
| [[https://github.com/tq-systems/ci-meta-tq/tree/sumo.TQMa8.BSP.SW.0007|≥0007]] | tqma8xps-mb-smarc-2 \\ tqma8xds-mb-smarc-2 |
| [[https://github.com/tq-systems/ci-meta-tq/tree/sumo.TQMa8.BSP.SW.0006|0006]] | tqma8xps-mb-smarc-2 |
| [[https://github.com/tq-systems/ci-meta-tq/tree/sumo.TQMa8.BSP.SW.0005|0005]] | tqma8qxps-mb-smarc-2 |
| [[https://github.com/tq-systems/ci-meta-tq/releases/tag/rocko.TQMa8MQ.BSP.SW.0001|≥0001]] | tqma8qxs-mb-smarc-2 |
\\
===== Yocto Changelog =====
**BSP**
* Update to Yocto Kirkstone
**U-Boot**
* Update imx-seco
* Update imx seco-libs
* Update imx-sc-firmware
**Linux**
* Linux 5.15 support based on linux-fslc 5.15 + imx
**BSP**
* Update to Yocto Hardknott
**Linux**
* Linux 5.10 support based on linux-fslc 5.10 + imx
**BSP**
* Support for Cortex M4 enabled bootstream
* Update SCFW version: basic CortexM4 support for TQMa8Xx[S]
* Allow building bootstream with Cortex M4 demo for TQ Systems SOM
* Disable packages only relevant for NXP STK:
* nxp8987 WiFi
* imx-m[4,7]-demos
**U-Boot**
* Add reserved memory nodes in DT to prevent U-Boot accessing M4 reserved memory
* Fix location U-Boot config node in DT
* Prevent voltage switch error message for e-MMC. This is not a real error but ugly behaviour which was fixed for other SOM before
* Add GPIO_OPEN_DRAIN to I2C GPIO to prevent warnings (sync with kernel)
* Fixed TQMa8XDPS board name handling
* DSR support for Micron SPI NOR
* I2C recovery gpio
**Linux**
* Device trees for Cortex M4 demos
* Add GPIO_OPEN_DRAIN to I2C GPIO to prevent warnings
* Improve kernel config:
* Remove ACPI
* Remove unused audio stuff
* Remove unused net devices
* Enable Vision Components GmbH MIPI CSI cameras
* DSR support for Micron SPI NOR
* I2C recovery gpio
**BSP**
* Add support for new machine TQMa8XDPS
**U-Boot**
* fix tqma8xxs_get_boardname for TQMa8DXPS again
**Linux**
* Add support for TQMa8XDPS
* I2C recovery gpio for TQMa8XxS
* Port fixes for Codec on STK to prevent race condition that could cause driver load failure
**BSP**
* config/machines: sanitize variable assignments to improve reusability
* Replace IMAGE_INSTALL_append with more approbiate MACHINE_EXTRA_RRECOMMENDS_append
* Remove all dirty magic for DISTRO_FEATURES_remove
* Replace hard assignments to IMAGE_BOOT_FILES with ?=
**U-Boot**
* v2020.04 fix FEC Ethernet PHY init
* Fix phy_config using devicetree
* Forward error from phy_config
**BSP**
* Support for tqma8xdp[4]-mba8xx
**U-Boot**
* Fix board name for TQMa8XDP[4]
**Linux**
* Support for tqma8xdp[4]-mba8xx
**BSP**
* Initial production release for TQMa8XQPS
* Prepare REV.0300 Support, support for REV.0200 moved to separate config (tqma8xqps-mb-smarc-2-r0200)
* Drop support for imx-scu firmware v1.3.1
* Drop support for imx-seco firmware v2.5.6
**U-Boot**
* Fix not working update scripts when exchanging an SD card just before start updating
* Allow DSR for Macronix SPI NOR on all supported TQ-Systems SOM
**Linux**
* Cleanup LVDS support device trees
* Add missing I2C GPIO recovery
* Fix earlycon bootarg
* Add support for LVDS AUO G133HAN.01 full HD panel
* Allow DSR for Macronix SPI NOR on all supported TQ-Systems SOM
* Enable VPU support
* Add SMARC-2 GPIO
* Add SMARC-2 DSI0 I2C
* Add SMARC-2 LVDS1 with example
* Add support for second UART
**BSP**
* Update to Yocto Zeus
* Update to SCU firmware 1.3.1
* Update to U-Boot v2019.04-lf-5.4.y-1.0.0
* Update to Linux kernel lf-5.4.y-1.0.0
* Support bootstream for FlexSPI
* Support bootstream for mfgtool config
**U-Boot**
* Display CPU info
* Add mfgtool config
* Single config for SD / e-MMC / FlexSPI Boot device
**Linux**
* Added USB support
* Added PCIe support
**BSP**
* Update to SCU firmware 1.2.10
* added support for PMIC info in SCU firmware
**U-Boot**
* added support for SCU PMIC info
* added initial USB support
* added support for module EEPROM readout
**Linux**
* added initial USB support
* fix QSPI NOR access for tqma8xxs
* Added LVDS Support
* Added CAN Support
* Updated to U-Boot v2018.03-rel_imx_4.14.98_2.2.0_ga
* Updated to Linux Kernel rel_imx_4.14.98_2.2.0_ga
* TQMa8XDS support
* CAN / Ethernet preconfigured via systemd service
* Ethernet PHY LED config fix
* Better reserved memory config for TQMa8XDS
* Rename configs / DT to reflect module name
* SCU firmware with internal PCIe clk
* test network support in linux - support net boot (GBE0)
* port to yocto sumo
* initial release
===== Yocto Partitions =====
* sector size 512 Byte
* unpartitioned area: 8MiB (0x4000 sectors)
^ Offset ^ Size ^ Usage ^
|0x00000 | 0x00001 sectors / 512 Byte | MBR / Partition Table |
|0x00001 | 0x00040 sectors / 32 KiB | bootstream |
|0x00800 | 0x00800 sectors / 4 MiB | env |
|0x20800 | 0x20000 sectors / 64 MiB | /boot |
|0x24000 | - sectors / - MiB | /rootFS |
===== Yocto images =====
**System Images**
^ Boot Device ^ Symlink ^ File ^
^ SD Card/eMMC | tq-image-weston-tqma8xdps-mb-smarc-2.wic | tq-image-weston-tqma8xdps-mb-smarc-2-.rootfs.wic |
**Bootloader Binaries**
^ Boot Device ^ Symlink ^ File ^
^ SD/eMMC | imx-boot | imx-boot-tqma8xdps-mb-smarc-2-sd.bin-flash_spl |
**Linux Kernel Image**
^ Symlink ^ File ^
| Image | Image--5.10.74+git0+a988e804a1-r0-tqma8xdps-mb-smarc-2-.bin |
**Devicetree Blobs**
^ Symlink ^ Description ^
| imx8dxp-tqma8xdps-mb-smarc-2.dtb | Default |
| imx8dxp-tqma8xdps-mb-smarc-2-lvds0-tm070jvhg33.dtb | Default with LVDS0 interface activated |
| imx8dxp-tqma8xdps-mb-smarc-2-lvds1-tm070jvhg33.dtb | Default with LVDS1 interface activated |
| imx8dxp-tqma8xdps-mb-smarc-2-rpmsg.dtb | Default with RPMSG support |
**Rootfs images**
^ Symlink ^ File ^
| tq-image-weston-tqma8xdps-mb-smarc-2.ext4 | tq-image-weston-tqma8xdps-mb-smarc-2-.rootfs.ext4 |
| tq-image-weston-tqma8xdps-mb-smarc-2.tar.gz | tq-image-weston-tqma8xdps-mb-smarc-2-.rootfs.tar.gz |
**System Images**
^ Boot Device ^ Symlink ^ File ^
^ SD Card/eMMC | tq-image-weston-tqma8xqps-mb-smarc-2.wic | tq-image-weston-tqma8xqps-mb-smarc-2-.rootfs.wic |
**Bootloader Binaries**
^ Boot Device ^ Symlink ^ File ^
^ SD/eMMC | imx-boot | imx-boot-tqma8xqps-mb-smarc-2-sd.bin-flash_spl |
**Linux Kernel Image**
^ Symlink ^ File ^
| Image | Image--5.10.74+git0+a988e804a1-r0-tqma8xqps-mb-smarc-2-.bin |
**Devicetree Blobs**
^ Symlink ^ Description ^
| imx8qxp-tqma8xqps-mb-smarc-2.dtb | Default |
| imx8qxp-tqma8xqps-mb-smarc-2-lvds0-tm070jvhg33.dtb | Default with LVDS0 interface activated |
| imx8qxp-tqma8xqps-mb-smarc-2-lvds1-tm070jvhg33.dtb | Default with LVDS1 interface activated |
| imx8qxp-tqma8xqps-mb-smarc-2-rpmsg.dtb | Default with RPMSG support |
**Rootfs images**
^ Symlink ^ File ^
| tq-image-weston-tqma8xqps-mb-smarc-2.ext4 | tq-image-weston-tqma8xqps-mb-smarc-2-.rootfs.ext4 |
| tq-image-weston-tqma8xqps-mb-smarc-2.tar.gz | tq-image-weston-tqma8xqps-mb-smarc-2-.rootfs.tar.gz |
===== Deployment Yocto =====
==== Updating existing firmware over ethernet ====
=== Device assignment ===
__Device assignment:__\\
//mmcdev 0// = eMMC\\
//mmcdev 1// = SD Card\\
===Yocto specific command Update eMMC===
1. Run the following commands in the Uboot shell to create update script:
setenv root_loop 'setenv start 24000 && setenv r1 $rootblks16 && while itest $r1 -gt 0; do if itest $r1 -gt 0x100000; then setenv count 0x100000; else setenv count $r1; fi && mmc dev 1 && mmc read $loadaddr $start $count && mmc dev 0 && mmc write $loadaddr $start $count && setexpr start $start + $count && setexpr r1 $r1 - $count; done; setenv r1; setenv start; setenv count'
setenv install_firmware 'echo MBR... && mmc dev 1 && mmc read $loadaddr 0 1 && mmc dev 0 && mmc write $loadaddr 0 1 && echo U-Boot... && mmc dev 1 && mmc read $loadaddr 3F 1FC0 && mmc dev 0 && mmc write $loadaddr 3F 1FC0 && echo U-Boot environment... && mmc dev 1 && mmc read $loadaddr 2000 2000 && mmc dev 0 && mmc write $loadaddr 2000 2000 && echo Firmware Partition... && mmc dev 1 && mmc read $loadaddr 4000 20000 && mmc dev 0 && mmc write $loadaddr 4000 20000 && echo Root FS... && run root_loop'
* create the environment variable **rootblks16** and set the value accordingly to the size of the RootFS in this case 2070MB.
To calculate the value of **rootblks16** devide the size of the image in byte by 512 and convert the result into a hex value.\\
2070** * **1024** * **1024 = 2170552320
\\
2170552320** / **512 = 4239360
\\
4239360 = 40B000HEX
setenv rootblks16 0x205800
==== NFS Boot ====
=== uboot command to start netboot ===
=> run netboot