====== Entry Page ====== ===== Product URL list ===== [[https://www.tq-group.com/en/products/tq-embedded/arm-architecture/tqma8mpxl/|TQ product page TQMa8MPxL]]\\ ===== Board Support Packages ===== * [[en:arm:tqma8mpxl:linux:yocto:overview| YOCTO Linux BSP Documentation]] * [[.:pikeos:overview|PikeOS BSP Information]] ===== 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:tqma8mpxl:mba8mpxl:dip_switches| MBa8MPxL DIP switch settings]] ====== Hardware ====== ===== Debug Connection ===== The TQMa8MPxL debug UART is connected via a FTDI USB-to-Serial converter to X28 (micro-USB) on the MBa8MPxL. A micro-USB/USB-A cable for the connection to the host PC is part of the STKa8MPxL accessory set.\\ Depending on the host operating system, the USB-to-serial converter driver may need to be installed. ===== Onboard I2C devices ===== ^ I2C bus ^ TQMa8MPxL ^^^^^^^ ^ I2C1 | 0x1B\\ Tempsensor | 0x25\\ PMIC | 0x33\\ Tempsensor EEPROM SW Protect | 0x48\\ Plug & Trust Secure Element\\ (optional) | 0x51\\ RTC\\ (optional) | 0x53\\ Tempsensor EEPROM | 0x57\\ EEPROM | ^ I2C bus ^ MBa8MPxL ^^^^^^^ ^ I2C1 | 0x0F\\ DisplayPort bridge | 0x18\\ Audio Codec | 0x1C\\ Tempsensor | 0x34\\ EEPROM SW Protect | 0x44\\ USB Hub | 0x54\\ Tempsensor EEPROM | 0x6A\\ PCIe Clock generator | ====== Linux BSP ====== ===== U-Boot ===== ^ Feature ^^^^ TQMa8.BSP Revision ^ Remarks ^ ^ TQ Product ^ Chip ^ Interface ^ Function ^ 0081 - 0091 ^ ::: ^ | TQMa8MPxL | i.MX8MP | Eqos | GbE | ✔ | | | TQMa8MPxL | i.MX8MP | FEC | GbE | ✔ | | | TQMa8MPxL | i.MX8MP | FlexSPI | QSPI-NOR | ✔ | | | TQMa8MPxL | i.MX8MP | Fuse | OTP Register | ✔ | | | TQMa8MPxL | i.MX8MP | GPIO | LED / Button | ✔ | | | TQMa8MPxL | i.MX8MP | I²C1 | Bus access | ✔ | [[./linux/yocto/overview#onboard_i2c_devices|See onboard I2C devices]] | | TQMa8MPxL | i.MX8MP | LPUART4 | Console UART | ✔ | | | TQMa8MPxL | i.MX8MP | USB | USB Host | ✔ | (2.0 and 3.0) | | TQMa8MPxL | i.MX8MP | USB DRD | USB Host | ✔ | | | TQMa8MPxL | i.MX8MP | uSDHC2 | SD-Card | ✔ | | | TQMa8MPxL | i.MX8MP | uSDHC2 | eMMC | ✔ | | ^ Feature ^^^^ BSP Revision ^^^ Remarks ^ ^ TQ Product ^ Chip ^ Interface ^ Function ^ 0050 ^ 0052 ^ 0054 ^ ::: ^ | TQMa8MPxL | i.MX8MP | Eqos | GbE | ✔ | ✔ | ✔ | | | TQMa8MPxL | i.MX8MP | FEC | GbE | ✔ | ✔ | ✔ | | | TQMa8MPxL | i.MX8MP | FlexSPI | QSPI-NOR | ✔ | ✔ | ✔ | | | TQMa8MPxL | i.MX8MP | Fuse | OTP Register | ✔ | ✔ | ✔ | | | TQMa8MPxL | i.MX8MP | GPIO | LED / Button | ✔ | ✔ | ✔ | | | TQMa8MPxL | i.MX8MP | I²C1 | Bus access | ✔ | ✔ | ✔ | [[./linux/yocto/overview#onboard_i2c_devices|See onboard I2C devices]] | | TQMa8MPxL | i.MX8MP | LPUART4 | Console UART | ✔ | ✔ | ✔ | | | TQMa8MPxL | i.MX8MP | USB | USB Host | ✔ | ✔ | ✔ | (2.0 and 3.0) | | TQMa8MPxL | i.MX8MP | USB DRD | USB Host | ✔ | ✔ | ✔ | | | TQMa8MPxL | i.MX8MP | uSDHC2 | SD-Card | ✔ | ✔ | ✔ | | | TQMa8MPxL | i.MX8MP | uSDHC2 | eMMC | ✔ | ✔ | ✔ | | ===== Operating System ===== ^ Feature ^^^^ TQMa8.BSP Revision ^ Remarks ^ ^ TQ Product ^ Chip ^ Interface ^ Function ^ 0081 - 0091 ^ ::: ^ | TQMa8MPxL | i.MX8MP | ECSPI | SPI | ✔ | spidev at all Chip Selects | | ::: | i.MX8MP | Eqos | GbE | ✔ | | | ::: | i.MX8MP | FEC | GbE | ✔ | | | ::: | i.MX8MP | FlexCAN | CAN 2.0B | ✔ | | | ::: | i.MX8MP | FlexSPI | QSPI-NOR | ✔ | | | ::: | i.MX8MP | Fuse | OTP Register | ✔ | | | ::: | i.MX8MP | GPIO | LED / Button | ✔ | | | ::: | i.MX8MP | GPU | | ✔ | | | ::: | i.MX8MP | HTX_PAI | HDMI Audio | ✔ | | | ::: | i.MX8MP | I²C1 | Bus access | ✔ | [[./linux/yocto/overview#onboard_i2c_devices|See onboard I2C devices]] | | ::: | i.MX8MP | LCDIF | HDMI TX | ✔ | | | ::: | i.MX8MP | LCDIF | LVDS | ✔ | | | ::: | i.MX8MP | LPUART4 | Console UART | ✔ | | | ::: | i.MX8MP | MIPI-CSI | Camera Interface | ✔ | tested with Vision Components GmbH cameras | | ::: | i.MX8MP | PCIe | Host | ✔ | tested with network card in M.2 slot | | ::: | i.MX8MP | SAI | TLV320AIC | ✔ | | | ::: | i.MX8MP | USB | USB Host | ✔ | (2.0 and 3.0) | | ::: | i.MX8MP | USB DRD | USB Host | ✔ | | | ::: | i.MX8MP | USB DRD | USB OTG | ✔ | | | ::: | i.MX8MP | uSDHC2 | SD-Card | ✔ | | | ::: | i.MX8MP | uSDHC2 | eMMC | ✔ | | | ::: | i.MX8MP | VPU | | ✔ | | | MBa8MPxL | TLV320AIC | Audio Codec | Headphone Out / Line Out | ✔ | | | ::: | ::: | ::: | Line In | ✔ | | ^ Feature ^^^^ BSP Revision ^^^ Remarks ^ ^ TQ Product ^ Chip ^ Interface ^ Function ^ 0050 ^ 0052 ^ 0054 ^ ::: ^ | TQMa8MPxL | i.MX8MP | ECSPI | SPI | ✔ | ✔ | ✔ | spidev at all Chip Selects | | ::: | i.MX8MP | Eqos | GbE | ✔ | ✔ | ✔ | | | ::: | i.MX8MP | FEC | GbE | ✔ | ✔ | ✔ | | | ::: | i.MX8MP | FlexCAN | CAN 2.0B | | ✔ | ✔ | | | ::: | i.MX8MP | FlexSPI | QSPI-NOR | ✔ | ✔ | ✔ | | | ::: | i.MX8MP | Fuse | OTP Register | ✔ | ✔ | ✔ | | | ::: | i.MX8MP | GPIO | LED / Button | ✔ | ✔ | ✔ | | | ::: | i.MX8MP | GPU | | ✔ | ✔ | ✔ | | | ::: | i.MX8MP | HTX_PAI | HDMI Audio | ✔ | ✔ | ✔ | | | ::: | i.MX8MP | I²C1 | Bus access | ✔ | ✔ | ✔ | [[./linux/yocto/overview#onboard_i2c_devices|See onboard I2C devices]] | | ::: | i.MX8MP | LCDIF | HDMI TX | ✔ | ✔ | ✔ | | | ::: | i.MX8MP | LCDIF | LVDS | ✔ | ✔ | ✔ | | | ::: | i.MX8MP | LPUART4 | Console UART | ✔ | ✔ | ✔ | | | ::: | i.MX8MP | MIPI-CSI | Camera Interface | | | ✔ | tested with Vision Components GmbH cameras | | ::: | i.MX8MP | PCIe | Host | ✔ | ✔ | ✔ | tested with network card in M.2 slot | | ::: | i.MX8MP | SAI | TLV320AIC | ✔ | ✔ | ✔ | | | ::: | i.MX8MP | USB | USB Host | ✔ | ✔ | ✔ | (2.0 and 3.0) | | ::: | i.MX8MP | USB DRD | USB Host | ✔ | ✔ | ✔ | | | ::: | i.MX8MP | USB DRD | USB OTG | ✔ | ✔ | ✔ | | | ::: | i.MX8MP | uSDHC2 | SD-Card | ✔ | ✔ | ✔ | | | ::: | i.MX8MP | uSDHC2 | eMMC | ✔ | ✔ | ✔ | | | ::: | i.MX8MP | VPU | | ✔ | ✔ | ✔ | | | MBa8MPxL | TLV320AIC | Audio Codec | Headphone Out / Line Out | ✔ | ✔ | ✔ | | | ::: | ::: | ::: | Line In | ✔ | ✔ | ✔ | | ===== Yocto BSP Version Matrix - Old Revisions ===== ^ BSP Revision ^ ++ci-meta-tq release|\\ [[https://github.com/tq-systems/ci-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/hardknott.TQMa8MPxL.BSP.SW.0081|0081]] | [[https://github.com/tq-systems/ci-meta-tq/tree/hardknott|hardknott]] | 3.3.3 - Hardknott | tqma8mpxl-2gb-mba8mpxl | [[https://github.com/tq-systems/u-boot-tqmaxx/releases/tag/hardknott.TQMa8MPxL.BSP.SW.0081|v2020.04_imx_5.4.47_2.2.0]] | [[https://github.com/tq-systems/linux-tqmaxx/releases/tag/hardknott.TQMa8MPxL.BSP.SW.0081|fslc-5.10-2.1.x-imx]] | ^ [[https://github.com/tq-systems/ci-meta-tq/releases/tag/zeus.TQMa8MPxL.BSP.SW.0054|0054]] | [[https://github.com/tq-systems/meta-tq/tree/zeus-tqma8|zeus-tqma8]] | 3.0.3 - Zeus | tqma8mpxl-2gb-mba8mpxl | [[https://github.com/tq-systems/u-boot-tqmaxx/tree/zeus.TQMa8MPxL.BSP.SW.0054|v2020.04_imx_5.4.47_2.2.0]] | [[https://github.com/tq-systems/linux-tqmaxx/tree/zeus.TQMa8MPxL.BSP.SW.0054|rel_imx_5.4.70_2.3.0]] | ^ [[https://github.com/tq-systems/ci-meta-tq/releases/tag/zeus.TQMa8MPxL.BSP.SW.0052|0052]] | [[https://github.com/tq-systems/meta-tq/tree/zeus-tqma8|zeus-tqma8]] | 3.0.3 - Zeus | tqma8mpxl-2gb-mba8mpxl | [[https://github.com/tq-systems/u-boot-tqmaxx/tree/zeus.TQMa8MPxL.BSP.SW.0052|v2020.04_imx_5.4.47_2.2.0]] | [[https://github.com/tq-systems/linux-tqmaxx/tree/zeus.TQMa8MPxL.BSP.SW.0052|rel_imx_5.4.70_2.3.0]] | ^ [[https://github.com/tq-systems/ci-meta-tq/releases/tag/zeus.TQMa8MPxL.BSP.SW.0050|0050]] | [[https://github.com/tq-systems/meta-tq/tree/zeus-tqma8|zeus-tqma8]] | 3.0.3 - Zeus | tqma8mpxl-2gb-mba8mpxl | [[https://github.com/tq-systems/u-boot-tqmaxx/tree/zeus.TQMa8MPxL.BSP.SW.0050|v2020.04_imx_5.4.47_2.2.0]] | [[https://github.com/tq-systems/linux-tqmaxx/tree/zeus.TQMa8MPxL.BSP.SW.0050|rel_imx_5.4.70_2.3.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.TQMa8MPxL.BSP.SW.0050|≥0050]] | tqma8mpxl-2gb-mba8mpxl | \\ ===== Yocto Changelog ===== ## Added * Machines: * MBa93xx[CA,LA] preparation for using with Quectel GSM/LTE modem * Support for TQMa93xxCA on MBa93xxCA was added. This SOM shares U-Boot and devicetree with TQMa93xxLA on adaptor. Machine `tqma93xxla-mba93xxca` was therefore renamed to `tqma93xx-mba93xxca` * Support for TQMa93xxLA on MBa93xxLA was added. The machine config files for TQMa93xxLA on MBa93xxCA were restructured to allow sharing settings for the boards. This prevents copy and paste and allows quickly adding new boards. * linux-imx-tq 5.15 / imx on arm64: * enable support of GSM/LTE modules connected via USB. Tested with Quectel EC21. * enable RFKILL support in kernel config * TQMLS1046A: add machine config for RAM without ECC * TQMLS1046A: add u-boot-tq-2018.07 configs for Modules without ECC * TQMa93xxLA: add wifi and bluetooth to `MACHINE_FEATURES` and enable firmware for WLAN cards with 88W8997 chipset * TQMa8X[xS]: Known issue regarding hardware controlled chip-select * TQMT10xx: add initial support for TQMT10xx based machines: * tqmt1040-64bit-stkt104x * tqmt1042-64bit-stkt104x * tqmt1022-64bit-stkt104x * tqmt1024-64bit-stkt104x ## Fixed * TQMa64xxL: enable SDHC controller quirk to fix SD card access on TQMa64xxL REV.010x SoMs. * all machines: Fix a race condition due to missing dependencies for `WKS_FILE_DEPENDS`. Add `EXTRA_IMAGEDEPENDS` to `WKS_FILE_DEPENDS` for all machines. * TQMa8MPxL: fix disabling of devices when no VARD can be used. Rather than dis- abling all optional devices, print a warning and try to boot. Without the warning this restores the behaviour before handling optional devices with VARD. * machines: fix display related features in `MACHINE_FEATURES` Use `screen` and `touchscreen` since this is what Yocto Project / OpenEmbedded use. Remove `display` which was in use solely in TQ-Systems layers. * machines: clean `WKS_FILE_DEPENDS` and make sure it contains e2fsprogs-native. This prevents ext4 build errors during wix image creation. This kind of error occurs repeatedly when ext4 is not part of `IMAGE_FSTYPES` Additionally move all non host tools dependencies from `WKS_FILE_DEPENDS` to `EXTRA_IMAGEDEPENDS` * MBa8Xx[S]: linux-imx-tq 5.15: * Pull-up configured for SPI chip-selects in kernel devicetree * use gpio chip select for SPI where possible to prevent toggling chip select due to SPI IP and DMA limitation * linux-firmware: fix for multilib configurations ## Removed * Adjust and mostly remove recipes ported from meta-imx for i.MX93 support. These are ported to meta-freescale as of commit 642cf7f2 ("Merge pull request #1433 from Freescale/backport-1432-to-kirkstone") * fm-ucode recipe removed and append for meta-freescale recipe added instead. ## Changed * TQMLS102xA * improve settings for U-Boot specific variables * allow easier usage with different RCW * u-boot-tq_2017.11: simplify recipe for TQMLS102xA * imx-sc-firmware-tq_1.13.0 (TQMa8X[D,Q]P[S], TQMa8QM) * update to TQMa8.NXP-v1.13.0.B5561.0035 * Improve DRAM memory region protection: only existing DRAM is partitioned * Move recipe out of dynamic-layers/freescale-layer. Since we provide our own binary package without dependencies to other layers the recipe does not need to be hidden. * linux-tq 6.1 / TQMa8M: update to 6.1.9 * linux-imx-tq 5.15 / TQMa93xxLA: * cleanup gpio for LVDS on MBa93xxCA, make USB touch working * rename DT and compatible for MBa93xxCA * u-boot-imx-tq 2022.04 / TQMa93xxLA * rename board and config names for MBa93xxCA * rename DT for MBa93xxCA * tqma57xx: update machine configuration and bbappends for compatibility with latest meta-ti kirkstone (as of commit 38941472e1e3 "meta-ti-bsp: add BeagleBone AI-64 support") * machines: improve usage of bitbake variables to express image dependencies Move packages from `IMAGE_INSTALL:append` to `MACHINE_EXTRA_RRECOMMEND` in machine config files. * all imx based SOM: port changes from meta-imx kirkstone-5.15.71-2.2.0 in libdrm, weston, wayland-protocols as bbappend-files under dynamic layers to get the latest changes needed for imx93 * TQMa93xxLA: port and configure more graphic support from meta-imx * TQMa93xxLA: rename starter kit mainboard to MBa93xxCA, therefore machine name is now tqma93xxla-mba93xxca * u-boot-imx-tq 2022.04 / TQMa93xxLA * improve VARD support, fixup devictree * improve QSPI NOR support * speed grade / temperature grade handling * linux-imx-tq 5.15: * TQMa93xxLA: LVDS support, QSPI support, USB at mPCIe slot, * enable enable marvel / nxp wifi driver in wifi support fragment * enable PWM driver needed for i.MX93 * TQMa93xxLA: update firmware-imx-9 to 8.18. Needs at least meta-freescale commit 8bd13d69 ("firmware-imx: Upgrade 8.17 -> 8.18") **BSP** * Update to Yocto Kirkstone 4.0.6 * Allow kernel image to be installed in rootfs per default * Rewrite logic for KERNEL_DEVICETREE and device trees in IMAGE_BOOT_FILES. This removes the intermidiate variable BOARD_DEVICETREE_FILES * Add missing dependency for KERNEL_DEVICETREE when using the python helper kernel_provider_dtbs KERNEL_DEVICETREE has a hidden dependency on KERNEL_DEVICETREE_${PREFERRED_PROVIDER_virtual/kernel} **U-Boot** * added VARD based device tree patching on TQMa8MPxL\\ Devices may be assembled optionally on SOM. Use variant and revision data to enable / disable devices in device tree based on VARD. This prevents the OS from probing / accessing not assembled devices * Add nfs boot script to boot from network without TFTP server * Cleanup default Environment * fixed long delay when accessing network via Eqos / TSN port (dwc_eth_qos) * Unregister MDIO bus when probe failed for Eqos / TSN port (dwc_eth_qos) and FEC port (fec-mxc) **BSP** * Update to Yocto Kirkstone * Add bluetooth to MACHINE_FEATURES of MBa8MPxL and add missing firmware to MACHINE_EXTRA_RRECOMMENDS **U-Boot** * Update RAM Timings * Backport MMU table fixxes from upstream * Backport U-Boot relocation and RAM size fixes from upstream * Optional support for LVDS splash (clock, ldb, pwm, lcdif2) * Support TQMa8MPxL 4GiB RAM variant **Linux** * Linux 5.15 support based on linux-fslc 5.15 + imx **BSP** *minor fixes ** BSP** * Added image_type_bootonly class to support generation of minimal bootable images * New machine config variant (single image for multiple RAM sizes) with support for 2GB RAM fallback variant * Add "display" to MACHINE_FEATURES. This enables rootfs customization * Removed 2GB machine config variant, support for 2GB fallback bootstream is included in new tqma8mpx-mba8mpxl machine configuration **U-Boot** * Backport MMU table fixes from upstream * Backport U-Boot relocation and RAM size fixes from upstream * Update RAM Timings * Variant and revision data support * Single image for multiple RAM size variants * Fix mmc env offset for redundant env **BSP** * TQMa8MPxL REV.0100 machine was renamed to tqma8mpxl-2gb-mba8mpxl-r0100 **U-Boot** * Add new configs and adjust DT to the one supplied by kernel * Support booting rootfs from UBI * Rework EEPROM access code in u-boot * Backport upstream logic for mmc SPL conversion **Linux** * Integrate upstream fixes from linux-fslc (5.10.98) **BSP** * Update to Yocto Hardknott * Update sub modules to support hardknott * Port TQMa8 boards from branch zeus-tqma8 * Rework systemd-machine-units bbappend (add simplification from branch zeus-tqma8, adapt to newer systemd version with CAN FD support) * Support for linux 5.10 based on linux-fslc 5.10 * Experimental usb support for ath10k * Adjusted kernel config settings * Weak assignments in machine files wherever possible to allow overwriting for custom mainboards or project specific tailoring * Add ubi as MACHINE_FEATURE if [Q]SPI NOR is supported by machine **BSP** * Prepare support for Vision Components GmbH MIPI CSI cameras * Add device trees * Add 'camera' MACHINE_FEATURE **U-Boot** * Added mfgtool defconfig for MBa8MPxL * Use verified pad settings for ENET and QSPI * Use pad setting from kernel for GPIO / I2C / QSPI **Linux** * Add drivers for Vision Components GmbH MIPI CSI cameras with Sony IMX327 and Omnivision OV9281 * Build camera and support drivers into kernel instead as module * Add devicetrees for Vision Components GmbH MIPI CSI cameras * Add RAW/Bayer formats for imx8_mipi_csi2 and mx8-isi-cap * Port and implement fixes for imx8_mipi_csi2 and mx8-isi-cap * Optimize pad settings for GPIO * Use verified pad settings for SD / ENET and QSPI **BSP** * Enable CortexM demo package * Disable packages only relevant for NXP STK in machines / layer.conf * nxp8987 WiFi * imx-m[4,7]-demos * Update to new CortexM demo package * Rewrite recipe for CortexM demos * Based on NXP SDK v2.9.0 * Rename and sanitize recipe * Use versioned archive name * Add more machine features (can, rtc, serial, ...) **U-Boot** * U-Boot env settings for CortexM7 * DSR support for Micron SPI NOR * Make SPL more silent, do not print PMIC registers * Use verified pad config for e-MMC * Fix RAM-config to support 2000 mHz / 4000 MZ * Backport lmb fixes from upstream, needed for newer DTB with lots of reserved mem regions * Fix flow for EVCR access **Linux** * Device tree for CortexM7 demos * DSR support for Micron SPI NOR * Fix drive strength for SAI3 * Backport upstream PMIC driver for PCA9450 * Adjust device tree for TQMa8MPxL * Label sys EEPROM as read only * Use verified pad config for e-MMC * Use DTE for UART 1-3 **BSP** * Add support for new machine TQMa8MPxL * Enable wifi for all TQMA8 mainboards **U-Boot** * Migrate all imx8 machines with U-Boot v2020.04 support to NXP BSP version * Fix phy init for dwc_eth_qos mdio bus **Linux** * Migrate all machines to NXP BSP version * Enable wifi support in kernelconfig * Fix USB phy driver * Port power handling for dual role without Type-C using regulator * Add optional over current low active signal handling * Add phy reset handling for dwmac / stmac driver **IMX-ATF** * Add fork based on NXP BSP version ===== Yocto Images ===== **System Images** ^ Boot Device ^ Symlink ^ File ^ ^ SD Card/eMMC | tq-image-weston-debug-tqma8mpxl-mba8mpxl.wic | tq-image-weston-debug-tqma8mpxl-mba8mpxl-.rootfs.wic | **Bootloader Binaries** ^ Boot Device ^ File ^ ^ SD/eMMC | imx-boot-tqma8mpxl-mba8mpxl-sd.bin-flash_spl_uboot | ^ QSPI NOR | imx-boot-tqma8mpxl-mba8mpxl-sd.bin-flash_evk_flexspi | **Linux Kernel Image** ^ Symlink ^ File ^ | Image | Image--5.10.109+git0+5357caa1bc-r0-tqma8mpxl-mba8mpxl-.bin | **Devicetree Blobs** ^ Symlink ^ Description ^ | imx8mp-tqma8mpql-mba8mpxl.dtb | Default | | imx8mp-tqma8mpql-mba8mpxl-hdmi.dtb | Default with HDMI interface activated | | imx8mp-tqma8mpql-mba8mpxl-lvds-tm070jvhg33.dtb | Default with LVDS interface activated | | imx8mp-tqma8mpql-mba8mpxl-hdmi-ov9281.dtb | Default with CSI monocrome Camera and HDMI activated | | imx8mp-tqma8mpql-mba8mpxl-hdmi-imx327.dtb | Default with CSI color Camera and HDMI activated | | imx8mp-tqma8mpql-mba8mpxl-rpmsg.dtb | Default with RPMSG support | **Rootfs images** ^ Symlink ^ File ^ | tq-image-weston-debug-tqma8mpxl-mba8mpxl.ext4 | tq-image-weston-debug-tqma8mpxl-mba8mpxl-.rootfs.ext4 | | tq-image-weston-debug-tqma8mpxl-mba8mpxl.tar.gz | tq-image-weston-debug-tqma8mpxl-mba8mpxl-.rootfs.tar.gz | ===== Yocto Partitions ===== * sector size 512 Byte * unpartitioned area: 4MiB (0x2000 sectors) ^ Size ^ Usage ^ | 0x0001 sector / 512 Byte | MBR / Partition Table | | 0x0040 sectors / 32 KiB | free | | 0x2000 sectors / 4 MiB | bootstream (u-boot) | | 0x2000 sectors / 4 MiB | environment | | 0x20000 sectors / 64 MiB | /boot / firmware (Kernel,devicetrees) | | 0x100000 sectors / 632 MiB | RootFS | ===== Yocto Deployment ===== ==== Serial Downloader ==== [size=150%]**S1**[/size] {{ :en:dip_4_1000.png?nolink&150 |}} \\ ==== uuu custom command list ==== uuu_version 1.5.4 SDPS: delay 500 SDPS: @ boot -f @BOOTSTREAM@ SDPS: delay 1000 FB: ucmd setenv fastboot_dev mmc FB: ucmd setenv mmcdev ${emmc_dev} FB: ucmd mmc dev ${emmc_dev} FB: @ flash -raw2sparse all @WICIMAGE@ FB: done ==== Device assignment ==== __Device assignment:__\\ //mmc dev 0// = eMMC\\ //mmc dev 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 627 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.\\ 627** * **1024** * **1024 = 657457152 \\ 657457152** / **512 = 1284096 \\ 1284096 = 139800HEX setenv rootblks16 0x139800 ==== uboot command to start netboot ==== => run netboot ===== Starterkit Quicksteps ===== ==== Testing and using Interfaces ==== * [[.:..:linux:yocto:how_to_target:can|CAN]] * GPIO * [[.:linux:yocto:how_to:target#spi|SPI]] * UART * [[.:linux:yocto:how_to:target#usb|USB]] * [[.:linux:yocto:how_to:target#hdmi|HDMI]] * [[.:linux:yocto:how_to:target#lvds|LVDS]] * [[.:linux:yocto:how_to:target#audio|Audio]] * [[.:linux:yocto:how_to:target#eternet|Ethernet]] * [[.:linux:yocto:how_to:target#rtc|RTC]] * [[.:linux:yocto:how_to:target#hdmi|User LEDs]] * [[.:linux:yocto:how_to:target#cpu|CPU]] * [[.:linux:yocto:how_to:target#buttons|User Buttons]] * [[.:linux:yocto:how_to:target#gpu|GPU]] * [[.:linux:yocto:how_to:target#mipi-csi|MIPI-CSI]] * [[.:linux:yocto:how_to:target#temperature-sensors|Temperature Sensor]]