~~NOCACHE~~
====== Entry Page ======
== 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]]
===== Board Support Packages =====
* [[.:linux:yocto:overview| YOCTO Linux BSP Documentation]]
===== Product URL list =====
[[https://www.tq-group.com/en/products/tq-embedded/arm-architecture/tqma8xx/|TQ product page TQMa8Xx]]\\
===== Starterkit =====
* [[.:mba8xx:dip_switches| MBa8Xx DIP switch settings]]
====== Hardware ======
===== Onboard I2C devices =====
^ I2C bus ^ TQMa8Xx ^^^^^
^ I2C1 | 0x19\\ Temperature sensor | 0x31\\ EEPROM\\ (software protection) | 0x57\\ EEPROM | 0x51\\ EEPROM | 0x68\\ RTC |
^ I2C bus ^ MBa8Xx ^^^^^^^^
^ I2C1 | 0x18\\ Audio codec | 0x1C\\ Temperature sensor | 0x2C\\ Display-Port bridge | 0x34\\ EEPROM (software protection) | 0x44\\ USB Hub | 0x54\\ EEPROM | 0x6A\\ PCIe clock generator | 0x70\\ Port Expander |
^ I2C bus ^ TQMa8Xx ^^^^^
^ I2C1 | 0x19\\ Temperature sensor | 0x31\\ Temperature sensor | 0x50\\ EEPROM | 0x51\\ EEPROM | 0x68\\ RTC |
^ I2C bus ^ MBa8Xx ^^^^^^^^
^ I2C1 | 0x18\\ Audio codec | 0x1C\\ Temperature sensor | 0x2C\\ Display-Port bridge | 0x2D\\ USB-Hub | 0x34\\ Temperature sensor | 0x54\\ EEPROM | 0x6A\\ PCIe clock generator | 0x70\\ Port Expander |
====== Hardware Issues ======
====== Linux BSP ======
===== U-Boot =====
^ Feature ^^^^ BSP Revision ^^^^^^^^ Remarks ^
^ TQ Product ^ Chip ^ Interface ^ Function ^ 0001 ^ 0002 ^ 0005 ^ 0006 ^ 0007 ^ 0009 ^ 0016 ^ 0017 ^ ::: ^
| TQMa8Xx | i.MX8X | ENET0 | GbE | • | • | • | • | • | • | • | • |
| TQMa8Xx | i.MX8X | ENET1 | GbE | • | • | • | • | • | • | • | • |
| TQMa8Xx | i.MX8X | I²C | EEPROM, Temperature Sensors | • | • | • | • | • | • | • | • | |
| TQMa8Xx | i.MX8X | UART | Debug Console | • | • | • | • | • | • | • | • | default console |
| TQMa8Xx | i.MX8X | uSDHC | eMMC / SD-Card | • | • | • | • | • | • | • | • | SD card / eMMC |
| TQMa8Xx | i.MX8X | Fuse | | | | • | • | • | • | • | • | |
==== Supported boot devices ====
^ Boot device ^ supported ^
| eMMC | • |
| SD Card | • |
===== Kernel =====
===== Operating System =====
^ Feature ^^^^ BSP Revision ^^^^^^^^ Remarks ^
^ TQ Product ^ Chip ^ Interface ^ Function ^ 0001 ^ 0002 ^ 0005 ^ 0006 ^ 0007 ^ 0009 ^ 0016 ^ 0017 ^ :::^
| TQMa8x | i.MX8X | ENET0 | GbE | • | • | • | • | • | • | • | • |
| ::: | i.MX8X | ENET1 | GbE | • | • | • | • | • | • | • | • |
| ::: | i.MX8X | FlexSPI | QSPI NOR Flash | | | | | | | | • |
| ::: | i.MX8X | I²C1 | Bus Access | • | • | • | • | • | • | • | • |
| ::: | i.MX8X | MIPI DSI | LVDS | | | • | • | • | • | • | • | Tested with Tianma TM070JVHG33 display |
| ::: | i.MX8X | LPSPI1 | Bus access | | | | | | | | • |
| ::: | i.MX8X | LPSPI2 | Bus access | | | | | | | | • |
| ::: | i.MX8X | LPSPI3 | Bus access | | | | | | | | • |
| ::: | i.MX8X | LPUART1 | Console | • | • | • | • | • | • | • | • |
| ::: | i.MX8X | LPUART3 | TTL | | | | | | | | • |
| ::: | i.MX8X | GPIO | | | • | • | • | • | • | • | • |
| ::: | i.MX8X | PCIe | Host | | • | • | • | • | • | • | • | MBa8xx ≥ Rev.0102 required, also see [[.:linux:yocto:known_issues#linux_kernel_does_not_start_with_sumotqma8bspsw0005_on_mba8xx_rev0101|Known Issues]] |
| ::: | i.MX8X | USB2 | Host | | | • | • | • | • | • | • |
| ::: | i.MX8X | uSDHC | uSDHC0 / eMMC\\ uSDHC1 / SD Card | • | • | • | • | • | • | • | • |
| MBa8xx | USB4604I | USB1 | Host | | | • | • | • | • | • | • | Available on X24 (MPCIe) |
| ::: | USB4604I | USB2 | Host | | | • | • | • | • | • | • | Available on X22 (LVDS) |
| ::: | USB4604I | USB3 | Host | | | • | • | • | • | • | • | Available on X20 |
| ::: | USB4604I | USB4 | Host | | | • | • | • | • | • | • | Available on X20 |
===== FAQ =====
===== 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 ^
| 0001 | 2.4.4 - Rocko | [[https://github.com/tq-systems/ci-meta-tq/tree/rocko-tqma8x|rocko-tqma8x]] | tqma8qx-mba8qx | v2017.03 rel_4.9.88_imx_imx8qxp_beta2 | rel_imx_4.9.88_imx8qxp_beta2 |
| 0002 | 2.5.2 - Sumo | [[https://github.com/tq-systems/ci-meta-tq/tree/sumo-tqma8x|sumo-tqma8x]] | tqma8qx-mba8xx | v2018.03 rel_imx_4.14.78_1.0.0_ga | rel_imx_4.14.78_1.0.0_ga |
| 0005 | 2.5.2 - Sumo | [[https://github.com/tq-systems/ci-meta-tq/tree/sumo-tqma8x|sumo-tqma8x]] | tqma8xqp-mba8xx \\ tqma8xd-mba8xx | v2018.03 rel_imx_4.14.78_1.0.0_ga | rel_imx_4.14.78_1.0.0_ga |
| 0006 | 2.5.2 - Sumo | [[https://github.com/tq-systems/ci-meta-tq/tree/sumo-tqma8x|sumo-tqma8x]] | tqma8xqp-mba8xx \\ tqma8xd-mba8xx | v2018.03 rel_imx_4.14.78_1.0.0_ga | rel_imx_4.14.78_1.0.0_ga |
| 0007 | 2.5.2 - Sumo | [[https://github.com/tq-systems/ci-meta-tq/tree/sumo-tqma8x|sumo-tqma8x]] | tqma8xqp-mba8xx \\ tqma8xd-mba8xx | v2018.03 rel_imx_4.14.78_1.0.0_ga | rel_imx_4.14.78_1.0.0_ga |
| 0009 | 2.5.2 - Sumo | [[https://github.com/tq-systems/ci-meta-tq/tree/sumo-tqma8x|sumo-tqma8x]] | tqma8xqp-mba8xx \\ tqma8xd-mba8xx | v2018.03 rel_imx_4.14.78_1.0.0_ga | rel_imx_4.14.78_1.0.0_ga |
| 0016 | 2.5.2 - Sumo | [[https://github.com/tq-systems/ci-meta-tq/tree/sumo-tqma8x|sumo-tqma8x]] | tqma8xqp-mba8xx \\ tqma8xd-mba8xx | v2018.03-rel_imx_4.14.98_2.2.0_ga | rel_imx_4.14.98_2.2.0_ga |
| 0016 | 2.5.2 - Sumo | [[https://github.com/tq-systems/ci-meta-tq/tree/sumo-tqma8x|sumo-tqma8x]] | tqma8xqp-mba8xx \\ tqma8xd-mba8xx | v2018.03-rel_imx_4.14.98_2.2.0_ga | rel_imx_4.14.98_2.2.0_ga |
| 0017 | 2.5.2 - Sumo | [[https://github.com/tq-systems/ci-meta-tq/tree/sumo-tqma8x|sumo-tqma8x]] | tqma8xqp-mba8xx \\ tqma8xd-mba8xx | v2018.03-rel_imx_4.14.98_2.2.0_ga | rel_imx_4.14.98_2.2.0_ga |
| 0025 | - Zeus | [[https://github.com/tq-systems/ci-meta-tq/tree/zeus-tqma8|zeus-tqma8]] | tqma8xqp-mba8xx | v2019.04-lf-5.4.y-1.0.0 | lf-5.4.y-1.0.0 |
{{section>..:..:general_information:yocto:tips#bsp_release_auto_notification&noheader}}
===== Changelog =====
**BSP**
*
*
**Linux**
*
*
*
**BSP**
* meta-dumpling: added u-boot-fw-utils in packagegroups
* meta-tq : u-boot-fw-utils support
**Linux**
* added spidev for busses SPI1 / SPI2 / SPI3
* added LPUART3 / available on unused SAI pins
* fix QSPI driver
**BSP**
* Update to scfw version 1.2.7
* systemd-machine-units reduce default can bitrate
**U-Boot**
* Update to imx_4.14.98_2.2.0
* Fix QSPI probe write a byte to flash (MACRONIX)
* QSPI Boot support
**Linux**
* Update to rel_imx_4.14.98_2.2.0
* backport CAN fixes from current NXP kernel
* support additional LVDS display
* add etm11010g0dka
* CAN / Ethernet preconfigured via systemd service
* PCIe disabled DT for old STK
* Ethernet phy led config fix
* Better reserved memory config for TQMa8XD
* PCIe GPIO pins (PERST pin config correction) in DT and U-Boot
* PCIe DT with Gen1 only support (for transparent PCIe switch / bridge)
Global:
* SCU Firmware based on porting kit v1.1.2
TQMa8XQP:
* make LVDS work again
* polish boot flow
* rename configs and names (tqma8qxp-mba8xx -> tqma8xqp-mbaxx)
* support net boot
TQMa8XD:
* initial support (tqma8xd-mba8xx)
TQMa8XQPS
* test newtwork support in linux
* support net boot (GBE0)
* port to yocto sumo / NXP rel_imx_4.14.78_ga
* SCU firmware base v1.1
* rename configs and names (tqma8qxp-mba8xx -> tqma8xqp-mbaxx) siehe version matrix
* initial release
++++ Rev.0017 |
**BSP**
* meta-dumpling: added u-boot-fw-utils in packagegroups
* meta-tq : u-boot-fw-utils support
**Linux**
* added spidev for busses SPI1 / SPI2 / SPI3
* added LPUART3 / available on unused SAI pins
* fix QSPI driver
++++
++++ Rev.0016 |
**BSP**
* Update to scfw version 1.2.7
* systemd-machine-units reduce default can bitrate
**U-Boot**
* Update to imx_4.14.98_2.2.0
* Fix QSPI probe write a byte to flash (MACRONIX)
* QSPI Boot support
**Linux**
* Update to rel_imx_4.14.98_2.2.0
++++
++++ Rev.0009 |
* backport CAN fixes from current NXP kernel
* support additional LVDS display
* add etm11010g0dka
++++
++++ Rev.0007 |
* CAN / Ethernet preconfigured via systemd service
* PCIe disabled DT for old STK
* Ethernet phy led config fix
* Better reserved memory config for TQMa8XD
++++
++++ Rev.0006 |
* PCIe GPIO pins (PERST pin config correction) in DT and U-Boot
* PCIe DT with Gen1 only support (for transparent PCIe switch / bridge)
++++
++++ Rev.0005 |
Global:
* SCU Firmware based on porting kit v1.1.2
TQMa8XQP:
* make LVDS work again
* polish boot flow
* rename configs and names (tqma8qxp-mba8xx -> tqma8xqp-mbaxx)
* support net boot
TQMa8XD:
* initial support (tqma8xd-mba8xx)
TQMa8XQPS
* test newtwork support in linux
* support net boot (GBE0)
++++
++++ Rev.0002 |
* port to yocto sumo / NXP rel_imx_4.14.78_ga
* SCU firmware base v1.1
* rename configs and names (tqma8qxp-mba8xx -> tqma8xqp-mbaxx) siehe version matrix
++++
++++ Rev.0001 |
* initial release
++++
===== Yocto Partitions =====
++++ SD / eMMC image Partitions |
* sector size 512 Byte
* unpartitioned area: 8MiB (0x4000 sectors)
^ Size ^ Usage ^ Linux (SD-Card) ^ Linux (eMMC) ^
| 0x0001 sector / 512 Byte | MBR / Partition Table | |
| 0x0001 sector / 512 Byte | free | |
| 0x800 sectors / 1 MiB | u-boot | |
| 0x1000 sectors / 2 MiB | environment 2) | |
| 0x2000 sectors / 4 MiB | reserved | |
| 0x20000 sectors / 64 MiB | /boot / firmware (Kernel,devicetrees) | mmcblk1p1 |
| 0x100000 sectors / 512 MiB | RootFS | mmcblk1p2 | |
++++
===== Yocto Images =====
++++ Target Machine: TQMa8xd |
=== System Image ===
== SD Card/eMMC ==
^ Symlink ^ File ^
| tq-image-qt5-tqma8xd-mba8xx.wic | tq-image-qt5-tqma8xd-mba8xx-.rootfs.wic |
=== Bootstream (Bootloader) Binary ===
== SD Card/eMMC ==
^ Symlink ^ File ^
| imx-boot-tqma8xd-mba8xx-sd.bin | imx-boot-tqma8xd-mba8xx-sd.bin-flash |
=== Linux Kernel Binary ===
^ Symlink ^ File ^
| Image\\ Image-tqma8xd-mba8xx.bin | Image--4.14.98-r0-tqma8xd-mba8xx-.bin |
=== Devicetree Binarys ===
^ Symlink ^ Description ^
| Image-fsl-imx8dx-tqma8xd-mba8xx.dtb\\ fsl-imx8dx-tqma8xd-mba8xx.dtb | device tree blob for TQMa8XD |
| Image-fsl-imx8dx-tqma8xd-mba8xx-lvds-etml1010g0dka.dtb\\ fsl-imx8dx-tqma8xd-mba8xx-lvds-etml1010g0dka.dtb | device tree blob for LVDS Display |
| Image-fsl-imx8dx-tqma8xd-mba8xx-lvds-tm070jvhg33.dtb\\ fsl-imx8dx-tqma8xd-mba8xx-lvds-tm070jvhg33.dtb | device tree blob for TIANMA LVDS Display |
| Image-fsl-imx8dx-tqma8xd-mba8xx-no-pcie.dtb\\ fsl-imx8dx-tqma8xd-mba8xx-no-pcie.dtb | Devicetree for older Carrier Revision to disable PCIe |
| Image-fsl-imx8dx-tqma8xd-mba8xx-pcie-gen1.dtb\\ fsl-imx8dx-tqma8xd-mba8xx-pcie-gen1.dtb | Devicetree for older Carrier Revision to enable PCIe Gen1 |
=== RootFS Images ===
^ Symlink ^ File ^
| tq-image-qt5-tqma8xd-mba8xx.ext4 | tq-image-qt5-tqma8xd-mba8xx-.rootfs.ext4 |
| tq-image-qt5-tqma8xd-mba8xx.tar.gz | tq-image-qt5-tqma8xd-mba8xx-.rootfs.tar.gz |
++++
++++ Target Machine: TQMa8xqp |
=== System Image ===
== SD Card/eMMC ==
^ Symlink ^ File ^
| tq-image-qt5-tqma8xqp-mba8xx.wic | tq-image-qt5-tqma8xqp-mba8xx-.rootfs.wic |
=== Bootstream (Bootloader) Binary ===
== SD Card/eMMC ==
^ Symlink ^ File ^
| imx-boot-tqma8xqp-mba8xx-sd.bin | imx-boot-tqma8xqp-mba8xx-sd.bin-flash |
=== Linux Kernel Binary ===
^ Symlink ^ File ^
| Image\\ Image-tqma8xqp-mba8xx.bin | Image--4.14.98-r0-tqma8xqp-mba8xx-.bin |
=== Devicetree Binarys ===
^ Symlink ^ Description ^
| Image-fsl-imx8dx-tqma8xqp-mba8xx.dtb\\ fsl-imx8dx-tqma8xqp-mba8xx.dtb | device tree blob for TQMa8XQP |
| Image-fsl-imx8dx-tqma8xqp-mba8xx-lvds-etml1010g0dka.dtb\\ fsl-imx8dx-tqma8xqp-mba8xx-lvds-etml1010g0dka.dtb | device tree blob for LVDS Display |
| Image-fsl-imx8dx-tqma8xqp-mba8xx-lvds-tm070jvhg33.dtb\\ fsl-imx8dx-tqma8xqp-mba8xx-lvds-tm070jvhg33.dtb | device tree blob for TIANMA LVDS Display |
| Image-fsl-imx8dx-tqma8xqp-mba8xx-no-pcie.dtb\\ fsl-imx8dx-tqma8xqp-mba8xx-no-pcie.dtb | Devicetree for older Carrier Revision to disable PCIe |
| Image-fsl-imx8dx-tqma8xqp-mba8xx-pcie-gen1.dtb\\ fsl-imx8dx-tqma8xqp-mba8xx-pcie-gen1.dtb | Devicetree for older Carrier Revision to enable PCIe Gen1 |
=== RootFS Images ===
^ Symlink ^ File ^
| tq-image-qt5-tqma8xqp-mba8xx.ext4 | tq-image-qt5-tqma8xqp-mba8xx-.rootfs.ext4 |
| tq-image-qt5-tqma8xqp-mba8xx.tar.gz | tq-image-qt5-tqma8xqp-mba8xx-.rootfs.tar.gz |
++++
===== Known Issues =====
==== Linux kernel does not start with sumo.TQMa8.BSP.SW.0005 on MBa8Xx ≤ Rev.0101 ====
^ Details ||
^ [c]Effect[/c] | Linux kernel does not start (no more messages after ''Starting kernel...'') |
^ [c]Issue[/c] | PCIe requires external clock generator |
^ Affected Revisions ||
^ [c]Bsp[/c] | sumo.TQMa8Xx.BSP.SW.0002\\ sumo.TQMa8.BSP.SW.0005 |
^ [c]Module[/c] | all revisions |
^ [c]Mainboard[/c] | MBa8Xx ≤ Rev.0101 |
^ Solution ||
^ [c]Fix[/c] | Upgrade to MBa8Xx Rev.0102 (please contact [[support@tq-group.com?subject=MBa8Xx: Upgrade to Rev.0102|TQ Support]] for further information) |
^ [c]Workaround[/c] | Use {{ :en:arm:tqma8xx:tqma8.bsp.sw.0006_dtbs-no-pcie.tar |devicetree with disabled PCIe interface}} (will be included in next BSP release) |
----
==== PCIe device detection ====
^ Details ||
^ [c]Effect[/c] | Some PCIe devices (e.g. PCIe switches) may not be properly detected |
^ [c]Issue[/c] | PCIe signals //clock//, //enable// and //reset// do not comply to the PCIe specification |
^ Affected Revisions ||
^ [c]Bsp[/c] | ≤ sumo.TQMa8.BSP.SW.0005 |
^ [c]Module[/c] | all revisions |
^ [c]Mainboard[/c] | MBa8Xx ≥ Rev.0102 |
^ Solution ||
^ [c]Fix[/c] | TBD |
^ [c]Workaround[/c] | Limit PCIe speed to Gen1 by using proper devicetree ''*-pcie-gen1.dtb'' (provided with BSP release sumo.TQMa8.BSP.SW.0006) |
----
==== No QSPI NOR Flash support in U-Boot ====
^ Details ||
^ [c]Effect[/c] | Executing ''sf probe'' in U-Boot causes the first byte of the QSPI NOR Flash to be overwritten |
^ [c]Issue[/c] | QSPI NOR Flash is not suppported in U-Boot |
^ Affected Revisions ||
^ [c]Bsp[/c] | sumo.TQMa8.BSP.SW.0005 |
^ [c]Module[/c] | all revisions |
^ [c]Mainboard[/c] | all revisions |
^ Solution ||
^ [c]Fix[/c] | TBD |
^ [c]Workaround[/c] | N/A |
===== Deployment Yocto =====
==== Images 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 0x40B000
==== NFS Boot ====
=== uboot command to start netboot ===
=> run netboot