~~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