~~NOCACHE~~ ~~NOTOC~~ ====== 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]] * [[.:windows_ce|Microsoft® Windows® CE]] * [[.:windows_embedded|Microsoft® Windows® Embedded]] * [[.:qnx|QNX® Neutrino®]] * [[.:android|Android]] (coming soon) ===== Product URL list ===== [[https://www.tq-group.com/en/products/tq-embedded/arm-architecture/tqma57xx/|TQ product page TQMa57xx]]\\ ===== Starterkit ===== * [[.:mba57xx:dip_switches| MBa57xx DIP switch settings]] ====== Hardware ====== ===== Onboard I2C devices ===== ^ I2C bus ^ TQMa57xx ^^^^^^^^^^^ ^ I2C1 | 0x12 \\ PMIC DVS | 0x1F\\ Tempsensor\\ SE97BTP | 0x37\\ EEPROM SW-Protect | 0x58\\ PMIC\\ Power Registers | 0x59\\ PMIC\\ Interface and auxiliaries | 0x5A\\ PMIC\\ Trimming and test | 0x5B\\ PMIC\\ OTP | 0x54\\ EEPROM | 0x57\\ EEPROM\\ SE97BTP | 0x5C\\ EEPROM | 0x68\\ RTC DS1339 | ^ I2C bus ^ MBa57xx ^^^^^ ^ I2C4 | 0x18\\ Audio Codec | 0x20\\ PCA9555 | 0x21\\ PCA9554 | 0x2D \\ USB Hub | 0x41 \\ Touchcontroller | ====== Hardware Issues ====== ====== Linux BSP ====== ===== U-Boot ===== ==== Supported features ==== ===== U-Boot ===== ^ Feature ^^^^ BSP Revision ^^^^^^^ Remarks ^ ^ TQ Product ^ Chip ^ Interface ^ Function ^ Prerelease\\ 0006 ^ 0007 ^ 0008 ^ 0009 ^ 0012 ^ 0013 ^ 0015 ^ ::: ^ | TQMa57xx | AM57xx | GMAC0 | RGMII | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | | TQMa57xx | AM57xx | I²C1 | Bus access | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | | TQMa57xx | AM57xx | I²C4 | Bus access | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | | TQMa57xx | AM57xx | qSPI | QSPI SPI NOR Flash | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | | TQMa57xx | AM57xx | UART3 | RS232 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | default console | | TQMa57xx | AM57xx | USB2 | USB Storage Device | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | | TQMa57xx | AM57xx | USB3 | USB Storage Device | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | | TQMa57xx | AM57xx | MMC1 | eMMC | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | | TQMa57xx | AM57xx | MMC2 | SD-Card | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | | TQMa57xx | AM57xx | JTAG | Debug | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | | TQMa57xx | AM57xx | USB 2.0 | USB HUB | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | | TQMa57xx | AM57xx | USB 3.0 | HOST 1 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | ^ Boot device ^ supported ^ | eMMC | ✔ | | SD Card | ✔ | | QSPI NOR (optional) | ✔ | ===== Kernel ===== ===== Operating System ===== ^ TQ Product ^ Chip ^ Interface ^ Function ^ Pre-release 0006 ^ 0007 ^ 0008 ^ 0009 ^ 0012 ^ 0013 ^ 0015 ^ Remarks ^ | TQMa57xx | AM57xx | DCAN1 | CAN0 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | ::: | AM57xx | DCAN2 | CAN1 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | | ::: | AM57xx | DEBUG | JTAG | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | tested with XDS200 USB Debug Probe | | ::: | AM57xx | Display | HDMI | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | ::: | AM57xx | Display | LVDS | | | | ✔ | ✔ | ✔ | ✔ | tested with Tianma TM070JVHG33-01 | | ::: | AM57xx | Display | parallel\\ Display | | | | ✔ | ✔ | ✔ | ✔ | tested with the following displays:\\ DMB S070SWV29HG-DC44\\ GLYN ETM0700G0EDH6 | | ::: | AM57xx | GMAC0 | RGMII | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | | ::: | AM57xx | GMAC1 | RGMII | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | | ::: | AM57xx | I2C1 | I2C devices | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |[[en:arm:tqma57xx:linux:yocto:operating_system#onboard_i2c_devices|See onboard I2C devices]] | | ::: | AM57xx | I2C4 | I2C devices | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |[[en:arm:tqma57xx:linux:yocto:operating_system#onboard_i2c_devices|See onboard I2C devices]] | | ::: | AM57xx | I2S | Audio | | | ::: | AM57xx | GPIO | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | | ::: | AM57xx | MMC1 | SD Card | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | | ::: | AM57xx | MMC2 | eMMC | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | | ::: | AM57xx | MMC4 | SDIO | | | | | | | | SDIO 4 Bit Interface | | ::: | AM57xx | PCIe | PCIe Lane 0 | | | | ✔ | ✔ | ✔ | ✔ | PCIe | | ::: | AM57xx | PCIe | PCIe Lane 1 | | | | ✔ | ✔ | ✔ | ✔ | mPCIe | | ::: | AM57xx | PRUSS1 | PRU_ETH0 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | | ::: | AM57xx | PRUSS2 | PRU_ETH1 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | | ::: | AM57xx | QSPI | QSPI NOR | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | optional placement option | | ::: | AM57xx | SATA | Serial ATA Revision 3.0 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | | ::: | AM57xx | UART3 | RS232 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | Default console | | ::: | AM57xx | UART10 | RS485 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | | ::: | AM57xx | USB2 | OTG | | | | | ✔ | ✔ | ✔ | MBa57xx REV.0202 required | | ::: | AM57xx | USB3 | Host\\ USB Hub TUSB8041 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | | MBa57xx | TUSB8041 | USB3.0 | Host 1 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | ::: | TUSB8041 | USB3.0 | Host 2 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | ::: | TUSB8041 | USB3.0 | Host 3 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | ::: | TUSB8041 | USB3.0 | USB4604 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | | ::: | USB4604 | USB2.0 | Host 1 | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | Available over X55 | | ::: | USB4604 | USB2.0 | Host 2 | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | Available over X56 | | ::: | USB4604 | USB2.0 | USB SATA | | | | | | | | Available over X26 | | ::: | USB4604 | USB2.0 | USB PCIe | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | Available over X29 | ===== Yocto Images ===== **System Images** ^ Boot Device ^ Symlink ^ File ^ ^ SD Card/eMMC | tq-image-generic-tqma57xx-mba57xx.wic | tq-image-generic-tqma57xx-mba57xx-.rootfs.wic | **Bootloader Binaries** ^ Boot Device ^ Symlink ^ File ^ ^ SD/eMMC | u-boot-tqma57xx-mba57xx.img | u-boot-sd-2019.04-r0.img | **Linux Kernel Image** ^ Symlink ^ File ^ | zImage | zImage--5.4.43-r0-tqma57xx-mba57xx-.bin | **Devicetree Blobs** ^ Symlink ^ Description ^ | am571x-mba57xx.dtb | Default | | am571x-mba57xx-tianma-tm070jvhg33.dtb | device tree with activated LVDS channel and TM070JVHG33 display timing | | am571x-mba57xx-edt-etm0700g0edh6.dtb | device tree with activated parallel display channel and etm0700g0edh6 display timing | | am571x-mba57xx-cdtech-dc44.dtb | custom Devicetree | **Rootfs images** ^ Symlink ^ File ^ | tq-image-generic-tqma57xx-mba57xx.tar.xz | tq-image-generic-tqma57xx-mba57xx-.rootfs.tar.xz | ===== 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 ^ ^ 0015 | [[https://github.com/tq-systems/meta-tq/releases/tag/kirkstone.TQMa57xx.BSP.SW.0015| kirkstone.TQMa57xx.BSP.SW.0015]] | 4.0.16 - Kirkstone | ++ tqma57xx-mba57xx | TQMa5718 / TQMa5728 / TQMa5748 ++ \\ ++ tqma57xx-ecc-mba57xx | TQMa5748 with ecc support ++ | 2019.04 | ti-rt-linux-5.10.y | ^ 0013 | [[https://github.com/tq-systems/meta-tq/releases/tag/zeus.TQMa57xx.BSP.SW.0013| zeus.TQMa57xx.BSP.SW.0013]] | 3.0.3 - Zeus | ++ tqma57xx-mba57xx | TQMa5718 / TQMa5728 / TQMa5748 ++ \\ ++ tqma57xx-ecc-mba57xx | TQMa5748 with ecc support ++ | 2019.04 | TI-linux-5.4.y-07.00.00.005-rt | ^ 0012 | [[https://github.com/tq-systems/meta-tq/releases/tag/zeus.TQMa57xx.BSP.SW.0012| zeus.TQMa57xx.BSP.SW.0012]] | 3.0.3 - Zeus | ++ tqma57xx-mba57xx | TQMa5718 / TQMa5728 / TQMa5748 ++ \\ ++ tqma57xx-ecc-mba57xx | TQMa5748 with ecc support ++ | 2019.04 | TI-linux-5.4.y-07.00.00.005-rt | ^ 0009 | [[https://github.com/tq-systems/meta-tq/releases/tag/warrior.TQMa57xx.BSP.SW.0009| warrior.TQMa57xx.BSP.SW.0009]] | 2.7.1 - Warrior | ++ tqma57xx-mba57xx | TQMa5718 / TQMa5728 / TQMa5748 ++ \\ ++ tqma57xx-ecc-mba57xx | TQMa5748 with ecc support ++ | 2019.04 | v4.19.94-rt39-ti | ^ 0008 | [[https://github.com/tq-systems/meta-tq/releases/tag/warrior.TQMa57xx.BSP.SW.0008| warrior.TQMa57xx.BSP.SW.0008]] | 2.7.1 - Warrior | ++ tqma57xx-mba57xx | TQMa5718 / TQMa5728 / TQMa5748 ++ \\ ++ tqma574x-ecc-mba57xx | TQMa5748 with ecc support ++ | 2019.04 | 4.9.77 | ^ 0007 | [[https://github.com/tq-systems/meta-tq/releases/tag/rocko.TQMa57xx.BSP.SW.0007| rocko.TQMa57xx.BSP.SW.0007]] | 2.4.4 - Rocko | ++ tqma571x-mba57xx |\\ TQMa5718/TQMa5716 ++ \\ ++ tqma572x-mba57xx | TQMa5728/TQMa5726 ++ \\ ++ tqma574x-mba57xx | TQMa5748/TQMa5746 ++ | 2018.01 | 4.9.77 | ^ 0006 | [[https://github.com/tq-systems/meta-tq/releases/tag/morty.TQMa57xx.BSP.SW.0006| morty.TQMa57xx.BSP.SW.0006]] | 2.2.1 - Morty | ++ tqma571x-mba57xx | TQMa5718/TQMa5716 ++ \\ ++ tqma572x-mba57xx | TQMa5728/TQMa5726 ++ | 2018.01 | 4.9.77 | ===== Yocto Changelog ===== ** U-Boot ** * Make the run netboot command work * Do not attempt to load the environment from devices other than the boot source * Fix the SPI-NOR partition list ** Linux ** * Fix display brightness * Add missing input function for errata i863 * Add SPI test device ** U-Boot ** * Add missing input function for errata i863 ** Linux ** * Fix display brightness * Add missing input function for errata i863 * Add SPI test device **BSP** * Update to TI Linux 5.4 (tagged 07.00.00.05-rt) * Added PCI to MACHINE_FEATURES **U-Boot** * Renamed extraversion * Patched fatfs support * Update U-Boot on vfat partition * Implement errata i863 workaround: mmc2 no pullups * Update to set PRU MAC from EEPROM **Linux** * Enable USB2 OTG mode on MBa57xx * Implement errata i863 workaround: mmc2 no pullups * Update to TI 2019.06 (based on 4.19+rt) * Update u-boot to unify tqma57xx variant configurations * rename MACHINE tqma574x-ecc-mba57xx to tqma57xx-ecc-mba57xx.conf * Update to Yocto Warrior * Renamed kernelimage in firmware partition * Update linux-ti to branch TQMa57xx-TI-linux-v4.9 * Simplifyed machine definitions * Update U-Boot version to 2019.04 * Update to Yocto Rocko * Added support for TQMa5748 * initial BSP release ===== Yocto Deployment ===== ==== Device assignment ==== __Device assignment:__\\ //mmcdev 0// = SD Card \\ //mmcdev 1// = eMMC \\ ===== FAQ ===== ===== PTXdist ===== ===== Quickstart Yocto BSP ===== ===== How-To yocto ===== ====== Known Issues Yocto ====== ===== MBa57x ===== ==== RS485 ==== ^ RS485 bus block in half-duplex mode ^^ ^ Affects | RS485 via UARTx on MBa57xx Revsion 01xx | ^ Issue | During AM57xx reset the UARTx.CTS# pin is low by default (CPU internal pull down) | ^ Effect | Using the AM57xx RS485 circuitry in a half-duplex slave device or half-duplex multi-master environment may block the RS485 bus during AM57xx reset.\\ The bus is released as soon as the UARTx.CTS# pin is properly configured by software (e.g. U-Boot, Linux, etc.) | ^ Solution / Workaround | Add a 10k pull up to the UARTx.CTS# signal on carrier board \\ This behaviour will be fixed with MBa57xx REV.02xx | ==== Yocto specific command Update eMMC ==== 1. Run the following commands in the Uboot shell to create update script: setenv root_loop 'setenv start 12001 && 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 0 && mmc read $loadaddr $start $count && mmc dev 1 && 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 0 && mmc read $loadaddr 0 1 && mmc dev 1 && mmc write $loadaddr 0 1 && echo U-Boot... && mmc dev 0 && mmc read $loadaddr 2 7FE && mmc dev 1 && mmc write $loadaddr 2 7FE && echo U-Boot environment... && mmc dev 0 && mmc read $loadaddr 801 800 && mmc dev 1 &&mmc write $loadaddr 801 800 && echo reserved... && mmc dev 0 && mmc read $loadaddr 1001 1000 && mmc dev 1 &&mmc write $loadaddr 1001 1000 && echo Firmware Partition... && mmc dev 0 && mmc read $loadaddr 2001 10000 && mmc dev 1 && mmc write $loadaddr 2001 10000 && 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 307MB. To calculate the value of **rootblks16** devide the size of the image in byte by 512 and convert the result into a hex value.\\ 307** * **1024** * **1024 = 321912832 \\ 321912832** / **512 = 628736 \\ 628736 = 99800HEX setenv rootblks16 0x99800 ==== uboot command to start netboot ==== => run netboot