~~NOCACHE~~
====== Entry Page ======
===== Product URL list =====
[[https://www.tq-group.com/en/products/tq-embedded/arm-architecture/tqma8x/|TQ product page TQMa8x]]
===== Board Support Packages =====
* [[:en:arm:tqma8x:linux:yocto:overview|YOCTO Linux BSP Documentation]]
* [[.:pikeos:overview|PikeOS BSP Information]]
----
⠀⠀[[https://www.tq-group.com/en/products/tq-embedded/arm-architecture/tqma8x/#downloads |TQMa8x 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:tqma8x:mba8x:dip_switches|MBa8x DIP switch settings]]
====== Hardware ======
===== Debug Connection =====
The TQMa8x debug UART is connected via a FTDI USB-to-Serial converter to X28 (micro-USB) on the MBa8x. A micro-USB/USB-A cable is part of the STKa8x accessory set. Depending on the host operating system, a driver may need to be installed.
===== Onboard I2C devices =====
^ I2C bus ^ TQMa8x ^^^^|
^ I2C1 | 0x1B \\ Tempsensor | 0x33 \\ EEPROM Protection Command | 0x51 \\ RTC (Optional) | 0x53 \\ EEPROM | 0x57 \\ EEPROM |
^ PMIC_I2C | 0x08 \\ PMIC#1 | 0x09 \\ PMIC#2 | | | |
^ I2C bus ^ MBa8x ^^^^|
^ I2C1 | 0x18 \\ Audio Codec | 0x34 \\ EEPROM Protection Command | 0x1C \\ Tempsensor | 0x54 \\ EEPROM | 0x68 \\ PCIe Clock generator |
====== Linux BSP ======
===== Yocto BSP Version Matrix - Old Revisions =====
^BSP Revision ^ ++meta-tq release| \\ [[https://github.com/tq-systems/meta-tq|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/releases/tag/hardknott.TQMa8x.BSP.SW.0081|0081]] | [[https://github.com/tq-systems/ci-meta-tq/tree/hardknott|hardknott]] | 3.3.3 - Hardknott | ++tqma8qm-4gb-mba8x.conf| TQMa8X with 4GB RAM on MBa8x ++ \\ ++tqma8qm-8gb-mba8x.conf| TQMa8X with 8GB RAM on MBa8x ++ | [[https://github.com/tq-systems/u-boot-tqmaxx/tree/hardknott.TQMa8x.BSP.SW.0081|v2020.04_imx_5.4.47_2.2.0]] | [[https://github.com/tq-systems/linux-tqmaxx/tree/hardknott.TQMa8x.BSP.SW.0081|fslc-5.10-2.1.x-imx]] |
| [[https://github.com/tq-systems/ci-meta-tq/releases/tag/zeus.TQMa8x.BSP.SW.0056|0056]] | [[https://github.com/tq-systems/ci-meta-tq/tree/zeus-tqma8|zeus-tqma8]] | 3.0.3 - Zeus | ++tqma8qm-4gb-mba8x.conf| TQMa8X with 4GB RAM on MBa8x ++ \\ ++tqma8qm-8gb-mba8x.conf| TQMa8X with 8GB RAM on MBa8x ++ | [[https://github.com/tq-systems/u-boot-tqmaxx/tree/zeus.TQMa8x.BSP.SW.0056|v2020.04_imx_5.4.47_2.2.0]] | [[https://github.com/tq-systems/linux-tqmaxx/tree/zeus.TQMa8x.BSP.SW.0056|lf-5.4.y-1.0.0]] |
| [[https://github.com/tq-systems/ci-meta-tq/releases/tag/zeus.TQMa8x.BSP.SW.0037|0037]] | [[https://github.com/tq-systems/ci-meta-tq/tree/zeus-tqma8|zeus-tqma8]] | 3.0.3 - Zeus | ++tqma8qm-4gb-mba8x.conf| TQMa8X with 4GB RAM on MBa8x ++ \\ ++tqma8qm-8gb-mba8x.conf| TQMa8X with 8GB RAM on MBa8x ++ | [[https://github.com/tq-systems/u-boot-tqmaxx/tree/zeus.TQMa8x.BSP.SW.0037|v2020.04_imx_5.4.47_2.2.0]] | [[https://github.com/tq-systems/linux-tqmaxx/tree/zeus.TQMa8x.BSP.SW.0037|lf-5.4.y-1.0.0]] |
| [[https://github.com/tq-systems/ci-meta-tq/releases/tag/zeus.TQMa8x.BSP.SW.0035|0036]] | [[https://github.com/tq-systems/ci-meta-tq/tree/zeus-tqma8|zeus-tqma8]] | 3.0.3 - Zeus | ++tqma8qm-4gb-mba8x.conf| TQMa8X with 4GB RAM on MBa8x ++ \\ ++tqma8qm-8gb-mba8x.conf| TQMa8X with 8GB RAM on MBa8x ++ | [[https://github.com/tq-systems/u-boot-tqmaxx/tree/zeus.TQMa8x.BSP.SW.0036|v2020.04_imx_5.4.47_2.2.0]] | [[https://github.com/tq-systems/linux-tqmaxx/tree/zeus.TQMa8x.BSP.SW.0036|lf-5.4.y-1.0.0]] |
| [[https://github.com/tq-systems/ci-meta-tq/releases/tag/zeus.TQMa8x.BSP.SW.0035|0035]] | [[https://github.com/tq-systems/ci-meta-tq/tree/zeus-tqma8|zeus-tqma8]] | 3.0.3 - Zeus | ++tqma8qm-4gb-mba8x.conf| TQMa8X with 4GB RAM on MBa8x ++ \\ ++tqma8qm-8gb-mba8x.conf| TQMa8X with 8GB RAM on MBa8x ++ | [[https://github.com/tq-systems/u-boot-tqmaxx/tree/zeus.TQMa8x.BSP.SW.0035|v2020.04_imx_5.4.47_2.2.0]] | [[https://github.com/tq-systems/linux-tqmaxx/tree/zeus.TQMa8x.BSP.SW.0035|lf-5.4.y-1.0.0]] |
| [[https://github.com/tq-systems/ci-meta-tq/releases/tag/zeus.TQMa8x.BSP.SW.0033|0033]] | [[https://github.com/tq-systems/ci-meta-tq/tree/zeus-tqma8|zeus-tqma8]] | 3.0.3 - Zeus | ++tqma8qm-4gb-mba8x.conf| TQMa8X with 4GB RAM on MBa8x ++ \\ ++tqma8qm-8gb-mba8x.conf| TQMa8X with 8GB RAM on MBa8x ++ | [[https://github.com/tq-systems/u-boot-tqmaxx/tree/zeus.TQMa8x.BSP.SW.0033|v2019.04-lf-5.4.y-1.0.0]] | [[https://github.com/tq-systems/linux-tqmaxx/tree/zeus.TQMa8x.BSP.SW.0033|lf-5.4.y-1.0.0]] |
| [[https://github.com/tq-systems/ci-meta-tq/releases/tag/zeus.TQMa8x.BSP.SW.0031|0031]] | [[https://github.com/tq-systems/ci-meta-tq/tree/zeus-tqma8|zeus-tqma8]] | 3.0.3 - Zeus | ++tqma8qm-4gb-mba8x.conf| TQMa8X with 4GB RAM on MBa8x ++ \\ ++tqma8qm-8gb-mba8x.conf| TQMa8X with 8GB RAM on MBa8x ++ | [[https://github.com/tq-systems/u-boot-tqmaxx/tree/zeus.TQMa8x.BSP.SW.0031|v2019.04-lf-5.4.y-1.0.0]] | [[https://github.com/tq-systems/linux-tqmaxx/tree/zeus.TQMa8x.BSP.SW.0031|lf-5.4.y-1.0.0]] |
| [[https://github.com/tq-systems/ci-meta-tq/releases/tag/sumo.TQMa8x.BSP.SW.0017|0017]] | [[https://github.com/tq-systems/ci-meta-tq/tree/sumo-tqma8x|sumo-tqma8x]] | 2.5.2 - Sumo | ++tqma8qm-4gb-mba8x.conf| TQMa8X with 4GB RAM on MBa8x ++ \\ ++tqma8qm-8gb-mba8x.conf| TQMa8X with 8GB RAM on MBa8x ++ | v2018.03-rel_imx_4.14.98_2.2.0_ga | rel_imx_4.14.98_2.2.0 |
| [[https://github.com/tq-systems/ci-meta-tq/releases/tag/sumo.TQMa8x.BSP.SW.0016|0016]] | [[https://github.com/tq-systems/ci-meta-tq/tree/sumo-tqma8x|sumo-tqma8x]] | 2.5.2 - Sumo | ++tqma8qm-4gb-mba8x.conf| TQMa8X with 4GB RAM on MBa8x ++ \\ ++tqma8qm-8gb-mba8x.conf| TQMa8X with 8GB RAM on MBa8x ++ | v2018.03-rel_imx_4.14.98_2.2.0_ga | rel_imx_4.14.98_2.2.0 |
| [[https://github.com/tq-systems/ci-meta-tq/releases/tag/sumo.TQMa8.BSP.SW.0012|0012]] | [[https://github.com/tq-systems/ci-meta-tq/tree/sumo-tqma8x|sumo-tqma8x]] | 2.5.2 - Sumo | ++tqma8qm-mba8x.conf| TQMa8X on MBa8x ++ | v2018.03-rel_imx_4.14.98_2.2.0_ga | rel_imx_4.14.98_2.2.0 |
{{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/releases/tag/zeus.TQMa8x.BSP.SW.0031|≥0031]] | tqma8qm-4gb-mba8x \\ tqma8qm-8gb-mba8x |
| [[https://github.com/tq-systems/ci-meta-tq/releases/tag/sumo.TQMa8.BSP.SW.0012|0012]] | tqma8qm-mba8x |
\\
===== U-Boot =====
^Feature ^^^^ TQMa8.BSP Revision ^ Remarks |
^TQ Product ^Chip ^Interface ^Function ^ 0081 - 0091 |
|TQMa8x |i.MX8 |ENET0 |GbE | ✔ | |
|TQMa8x |i.MX8 |ENET1 |GbE | ✔ | |
|TQMa8x |i.MX8 |FlexSPI |QSPI NOR Flash | ✔ | |
|TQMa8X |i.MX8 |GPIO | | ✔ | |
|TQMa8x |i.MX8 |I²C |Bus Access | ✔ | |
|TQMa8x |i.MX8 |UART |Debug Console | ✔ | default console |
|TQMa8x |i.MX8 |uSDHC |eMMC / SD-Card | ✔ | SD card / eMMC |
|TQMa8x |i.MX8 |USB2 |Host | ✔ | |
|TQMa8x |i.MX8 |USB3 |Host | ✔ | |
|TQMa8x |i.MX8 |Fuse | | ✔ | |
^Feature ^^^^BSP Revision ^^^^^^^^^ Remarks |
^TQ Product ^Chip ^Interface ^Function ^ 0012 ^ 0016 ^ 0017 ^ 0031 ^ 0033 ^ 0035 ^ 0036 ^ 0037 ^ 0056 |
|TQMa8x |i.MX8 |ENET0 |GbE | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
|TQMa8x |i.MX8 |ENET1 |GbE | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
|TQMa8x |i.MX8 |FlexSPI |QSPI NOR Flash | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
|TQMa8X |i.MX8 |GPIO | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
|TQMa8x |i.MX8 |I²C |Bus Access | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
|TQMa8x |i.MX8 |UART |Debug Console | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |default console |
|TQMa8x |i.MX8 |uSDHC |eMMC / SD-Card | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |SD card / eMMC |
|TQMa8x |i.MX8 |USB2 |Host | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
|TQMa8x |i.MX8 |USB3 |Host | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
|TQMa8x |i.MX8 |Fuse | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
===== Supported boot devices =====
^ Boot device ^ supported |
| eMMC | ✔ |
| SD Card | ✔ |
| QSPI NOR | ✔ |
===== Operating System =====
^Feature ^^^^ TQMa8.BSP Revision ^ Remarks |
^TQ Product ^Chip ^Interface ^Function ^ 0081 - 0091 |
|TQMa8x |i.MX8 |ADC | | ✔ | |
| ::: |i.MX8 |ENET0 |GbE | ✔ | |
| ::: |i.MX8 |ENET1 |GbE | ✔ | |
| ::: |i.MX8 |FLEXCAN0 |CAN | ✔ | |
| ::: |i.MX8 |FLEXCAN1 |CAN | ✔ | |
| ::: |i.MX8 |FlexSPI |QSPI NOR Flash | ✔ | |
| ::: |i.MX8 |FTM |PWM | ✔ | |
| ::: |i.MX8 |GPIO | | ✔ | |
| ::: |i.MX8 |GPU |Hardware Acceleration | ✔ | |
| ::: |i.MX8 |HDMI TX |Display Port | ✔ | |
| ::: |i.MX8 |LDB |LVDS0 | ✔ | Tested with Tianma TM070JVHG33 display |
| ::: | ::: | ::: |LVDS1 | ✔ | Tested with Tianma TM070JVHG33 display |
| ::: |i.MX8 |LPI2C |I2C1 | ✔ | [[:en:arm:tqma8x:linux:yocto:overview#onboard_i2c_devices|See onboard I2C devices]] |
| ::: |i.MX8 |LPSPI0 |SPI | ✔ | |
| ::: |i.MX8 |LPSPI1 |SPI | ✔ | |
| ::: |i.MX8 |LPSPI2 |SPI | ✔ | |
| ::: |i.MX8 |LPUART0 |Debug UART | ✔ | MBa8x connector X28 |
| ::: |i.MX8 |LPUART1 |TTL| ✔ | |
| ::: |i.MX8 |LPUART2 |TTL| ✔ | |
| ::: |i.MX8 |PCIe |Host | ✔ | |
| ::: | ::: | ::: |PCIe0 (Mini-PCIe) | ✔ | MBa8x connector X45 |
| ::: | ::: | ::: |PCIe1 (PCIe M.2) | ✔ | MBa8x connector X47 |
| ::: |i.MX8 |SAI |TLV320AIC3204 | ✔ | |
| ::: |i.MX8 |SATA |Serial ATA 3.0 | ✔ | MBa8x connector X48 |
| ::: |i.MX8 |USB2 |USB_OTG1 (HOST) | ✔ | connected to USB hub on MBa8x |
| ::: | ::: | ::: |USB_OTG2 (OTG)| ✔ | Bundled with USB3 |
| ::: |i.MX8 |USB3 | | ✔ | MBa8x connector X29 |
| ::: |i.MX8 |VPU |Hardware Acceleration| ✔ | |
|MBa8x |TLV320AIC3204 |Audio Codec |Line Out/ \\ Headphone Out | ✔ | |
| ::: | ::: | ::: |Line In| ✔ | |
| ::: | ::: | ::: |Microphone In | ✘ | |
| ::: |USB2517 |USB H1 |USB Connector | ✔ | |
| ::: | ::: |USB H2 |USB Connector | ✔ | |
| ::: | ::: |USB H3 |MIPI_DSI0 | ✔ | |
| ::: | ::: |USB H4 |MIPI_DSI1 | ✔ | |
| ::: | ::: |USB H5 |LVDS0 | ✔ | |
| ::: | ::: |USB H6 |LVDS1 | ✔ | |
| ::: | ::: |USB H7 |Mini-PCIe | ✔ | |
^Feature ^^^^BSP Revision ^^^^^^^^^Remarks |
^TQ Product ^Chip ^Interface ^Function ^ 0012 ^ 0016 ^ 0017 ^ 0031 ^ 0033 ^ 0035 ^ 0036 ^ 0037 ^ 0056 ^ |
|TQMa8x |i.MX8 |ADC | | | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| ::: |i.MX8 |ENET0 |GbE | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| ::: |i.MX8 |ENET1 |GbE | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| ::: |i.MX8 |FLEXCAN0 |CAN | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| ::: |i.MX8 |FLEXCAN1 |CAN | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| ::: |i.MX8 |FlexSPI |QSPI NOR Flash | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| ::: |i.MX8 |FTM |PWM | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| ::: |i.MX8 |GPIO | | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| ::: |i.MX8 |GPU |Hardware Acceleration | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| ::: |i.MX8 |HDMI TX |Display Port | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| ::: |i.MX8 |LDB |LVDS0 | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |Tested with Tianma TM070JVHG33 display |
| ::: | ::: | ::: |LVDS1 | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |Tested with Tianma TM070JVHG33 display |
| ::: |i.MX8 |LPI2C |I2C1 | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |[[:en:arm:tqma8x:linux:yocto:overview#onboard_i2c_devices|See onboard I2C devices]] |
| ::: |i.MX8 |LPSPI0 |SPI | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| ::: |i.MX8 |LPSPI1 |SPI | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| ::: |i.MX8 |LPSPI2 |SPI | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| ::: |i.MX8 |LPUART0 |Debug UART | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |MBa8x connector X28 |
| ::: |i.MX8 |LPUART1 |TTL| | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| ::: |i.MX8 |LPUART2 |TTL| | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| ::: |i.MX8 |PCIe |Host | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| ::: | ::: | ::: |PCIe0 (Mini-PCIe) | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |MBa8x connector X45 |
| ::: | ::: | ::: |PCIe1 (PCIe M.2) | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |MBa8x connector X47 |
| ::: |i.MX8 |SAI |TLV320AIC3204 | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| ::: |i.MX8 |SATA |Serial ATA 3.0 | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |MBa8x connector X48 |
| ::: |i.MX8 |USB2 |USB_OTG1 (HOST) | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |connected to USB hub on MBa8x |
| ::: | ::: | ::: |USB_OTG2 (OTG)| | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |Bundled with USB3 |
| ::: |i.MX8 |USB3 | | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |MBa8x connector X29 |
| ::: |i.MX8 |VPU |Hardware Acceleration | | | | | ✔ | ✔ | ✔ | ✔ | ✔ | |
|MBa8x |TLV320AIC3204 |Audio Codec |Line Out/ \\ Headphone Out | | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| ::: | ::: | ::: |Line In| | | | | ✔ | ✔ | ✔ | ✔ | ✔ | |
| ::: | ::: | ::: |Microphone In | | | | | | | | | | |
| ::: |USB2517 |USB H1 |USB Connector | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| ::: | ::: |USB H2 |USB Connector | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| ::: | ::: |USB H3 |MIPI_DSI0 | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| ::: | ::: |USB H4 |MIPI_DSI1 | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| ::: | ::: |USB H5 |LVDS0 | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| ::: | ::: |USB H6 |LVDS1 | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| ::: | ::: |USB H7 |Mini-PCIe | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
===== Yocto Changelog =====
**BSP**
* Update to Yocto Kirkstone
* Update imx-seco
* Update imx seco-libs
* Update imx-sc-firmware
* Fix argument check for scu_rm command
**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:**
* Enable building multiple u-boot configs
* Add bootstreams with cortexM4 demos
* Add Demos for tqma8qm
* Update SCFW Version for basic CortexM4 support for TQMa8QM
* Fix CortexM4 documentation for TQMa8x
**U-Boot:**
* Support multiple u-boot configs. Build all bootstream variants for all enabled u-boot configs
* Prepare CortexM4 Support for TQMa8x
**Linux:**
* Backport FEC phy resume fixes
* Sanititze dtb nodes / remove trailing 0 in address part of node names
* Fix cpu dtb for CortexM4 subsystems:
* Disable M4 remotes by default
* Include CM40 subsystem
**BSP:**
* imx-sc-firmware fix IOCTL output for TQMa8QM 8GB RAM info
**Linux**
* 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
**U-Boot**
* Fix env script loadhdp
**U-Boot**
* Enable SD regulator on MBa8x REV.0200 and SD UHS modes
* allow DSR for Macronix SPI NOR on all supported TQ-Systems SOM
**Linux**
* Allow DSR for Macronix SPI NOR on all supported TQ-Systems SOM
* Enable SD regulator on MBa8x REV.0200 and SD UHS modes
* Lower drive strength for some pins
* Adjust thermal trip points
* Fix DP audio support
* Make PCIe voltage alway on, fixes USB port usablity at PCIe slot
* Enable ADC support
* Enable VPU support
* Device Tree example for MicroBus (clock module RTC5)
**BSP **
* Update to Yocto Zeus
* Add recipes for kernel / u-boot based on NXP 5.4.y_1.0.0 reference BSP
**U-Boot **
* Initial support for current kernel with MBa8x REV.020x
**Linux **
* Initial support for current kernel with MBa8x REV.020x
**BSP **
* update SCU firmware to version 1.2.10
* SCU add support for PMIC info
**U-Boot **
* load display port firmware during boot
* added support for SCU PMIC info
**Linux **
* added displayport audio support
* added audio support
* added FTM PWM support
* added ADC support
* added SATA support
* added GPIO button support incl. wakeup capabilities
* added LED support
* added Display Port support
* added LVDS support on both channels
* enable wakeup from GPIO button
* added GPIO LED and button support
**BSP **
* added TQMa8QM 8GB variant
* systemd-machine-units: added tqma8qm support
* systemd-machine-units: reduce default can bitrate
* SCU Firmware added PCIe external clock
**U-Boot **
* added PCIe GPIO sideband pins
* added GPIO LED and button
* added USB support
* fix for flexspi write SR
* enable QSPI Boot
**Linux **
* added CAN support
* added PCIe support
* added USB support
* added SPI support
* added QSPI support (not completely functional)
* added LVDS support
* initial BSP Release
===== Yocto Images =====
**Complete system image**
^Boot Device ^Symlink ^File |
^SD Card/eMMC |tq-image-weston-debug-tqma8qm-4gb-mba8x.wic|tq-image-weston-debug-tqma8qm-4gb-mba8x-.rootfs.wic |
**Bootstream (Bootloader) Binary**
^Boot Device ^File ^ Description |
^SD Card/eMMC|imx-boot-tqma8qm-4gb-mba8x-sd.bin-flash_spl|boot stream for SD / e-MMC|
^SD Card/eMMC|imx-boot-tqma8qm-4gb-mba8x-sd.bin-flash_linux_m4|boot stream for SD / e-MMC + M4 Demo|
^QSPI|imx-boot-tqma8qm-4gb-mba8x-sd.bin-flash_spl_flexspi|boot stream for QSPI|
^UUU|imx-boot-tqma8qm-4gb-mba8x-mfgtool.bin-flash_spl|boot stream for UUU|
**Linux Kernel Binary**
^Symlink ^File |
|Image |Image–5.15.60+git0+89a67700a0-r0-tqma8qm-4gb-mba8x-.bin|
**Devicetree Binarys**
^ Symlink ^ Description |
|imx8qm-tqma8qm-mba8x.dtb |default device tree blob for TQMa8X on MBa8X |
|imx8qm-tqma8qm-mba8x-dp.dtb|device tree with activated Display Port |
|imx8qm-tqma8qm-mba8x-lvds0-tm070jvhg33.dtb |device tree with activated LVDS0 channel and TM070JVHG33 display timing |
|imx8qm-tqma8qm-mba8x-lvds1-tm070jvhg33.dtb |device tree with activated LVDS1 channel and TM070JVHG33 display timing |
|imx8qm-tqma8qm-mba8x-rpmsg.dtb|CortexM4 demo for device 0|
**RootFS Images**
^ Symlink ^ File |
|tq-image-weston-debug-tqma8qm-4gb-mba8x.ext4 |tq-image-weston-debug-tqma8qm-4gb-mba8x-.rootfs.ext4|
|tq-image-weston-debug-tqma8qm-4gb-mba8x.tar.gz |tq-image-weston-debug-tqma8qm-4gb-mba8x-.rootfs.tar.gz |
**Complete system image**
^Boot Device ^Symlink ^File |
^SD Card/eMMC |tq-image-weston-debug-tqma8qm-8gb-mba8x.wic|tq-image-weston-debug-tqma8qm-8gb-mba8x-.rootfs.wic |
**Bootstream (Bootloader) Binary**
^Boot Device ^File ^ Description |
^SD Card/eMMC|imx-boot-tqma8qm-8gb-mba8x-sd.bin-flash_spl|boot stream for SD / e-MMC|
^SD Card/eMMC|imx-boot-tqma8qm-8gb-mba8x-sd.bin-flash_linux_m4|boot stream for SD / e-MMC + M4 Demo|
^QSPI|imx-boot-tqma8qm-8gb-mba8x-sd.bin-flash_spl_flexspi|boot stream for QSPI|
^UUU|imx-boot-tqma8qm-8gb-mba8x-mfgtool.bin-flash_spl|boot stream for UUU|
**Linux Kernel Binary**
^Symlink ^File |
|Image |Image–5.15.60+git0+89a67700a0-r0-tqma8qm-8gb-mba8x-.bin|
**Devicetree Binarys**
^ Symlink ^ Description |
|imx8qm-tqma8qm-mba8x.dtb |default device tree blob for TQMa8X on MBa8X |
|imx8qm-tqma8qm-mba8x-dp.dtb|device tree with activated Display Port |
|imx8qm-tqma8qm-mba8x-lvds0-tm070jvhg33.dtb |device tree with activated LVDS0 channel and TM070JVHG33 display timing |
|imx8qm-tqma8qm-mba8x-lvds1-tm070jvhg33.dtb |device tree with activated LVDS1 channel and TM070JVHG33 display timing |
|imx8qm-tqma8qm-mba8x-rpmsg.dtb|CortexM4 demo for device 0|
**RootFS Images**
^ Symlink ^ File |
|tq-image-weston-debug-tqma8qm-8gb-mba8x.ext4 |tq-image-weston-debug-tqma8qm-8gb-mba8x-.rootfs.ext4|
|tq-image-weston-debug-tqma8qm-8gb-mba8x.tar.gz |tq-image-weston-debug-tqma8qm-8gb-mba8x-.rootfs.tar.gz |
===== Yocto Deployment =====
==== 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 40 1FC0 && mmc dev 0 && mmc write $loadaddr 40 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 601 MB.
To calculate the value of **rootblks16** devide the size of the image in byte by 512 and convert the result into a hex value.
601** * **1024** * **1024 = 630194176 \\ 630194176** / **512 = 1230848 \\ 4239360 = 12C800HEX
setenv rootblks16 0x12C800
==== uboot command to start netboot ====
=> run netboot
----
----