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