~~NOCACHE~~
====== Entry Page ======
== Third-Party Add-Ons ==
===== Board Support Packages =====
* [[.:linux:yocto:overview| YOCTO Linux BSP Documentation]]
===== Product URL list =====
[[https://www.tq-group.com/en/products/tq-embedded/qoriq-layerscape/tqmlx2160a |TQ product page TQMLX2160A]]
===== Starterkit =====
* [[.:mblx2160a:dip_switches|MBLX2160A DIP switch settings]]
* [[.:mblx2160a:ethernet|MBLX2160A Ethernet interface assignment]]
====== Hardware ======
===== Onboard I2C devices =====
^ I2C bus ^ TQMLX2160A ^^^^^^
^ I2C1 | 0x11 \\ System Controller | 0x1F \\ Temperature Sensor | 0x48 \\ SEC | 0x50 \\ Customer EEPROM | 0x51 \\ RTC | 0x57 \\ TQ Manufacturing EEPROM |
^ SYSC_I2C | 0x40 \\ CPLD | 0x4B \\ Temp. Sensor | 0x4c \\ Temp. Sensor | 0x50 \\ EEPROM | 0x60 \\ Voltage Monitoring | 0x68 \\ Clock Generator |
^ I2C bus ^ MBLX2160A ^^^^^^^
^ I2C1 | 0x04 \\ PMC Controller | 0x20 \\ GPIO Expander | 0x68 \\ Clock Generator | 0x6A \\ Clock Generator | |||
^ I2C5 | 0x20 \\ GPIO Expander | 0x21 \\ GPIO Expander | 0x22 \\ GPIO Expander | 0x44 \\ USB Hub | 0x70 \\ I2C Multiplexer | Connected to X35 and X37 \\ PCIe1 | Connected to X36 \\ PCIe2 |
^ I2C6 | 0x19 \\ XFI1 Retimer \\ Connected to X8 \\ QSFP | 0x1B \\ XFI2 Retimer \\ Connected X9 \\ QSFP | 0x20 \\ CAUI4 Retimer 1 | 0x21 \\ CAUI4 Retimer 2 | 0x70 \\ I2C Multiplexer | Connected to X16 and X17 \\ mPCIe | Connected to X29 \\ QSFP28 |
^ PMC_I2C | 0x40 \\ Current Sense | 0x41 \\ Current Sense | 0x44 \\ Current Sense | 0x45 \\ Current Sense | 0x50 \\ EEPROM | ||
===== U-Boot =====
^ Buildsystem ^^^^ BSP Revision ^^ Remarks ^
^ TQ Product ^ Chip ^ Interface ^ Function ^ 0009 ^ 0010 ^ ^
| TQMLX2160A | LX2160A | eSDHC | eMMC / SD-Card | • | • | |
| TQMLX2160A | LX2160A | Ethernet | RGMII\\ | • | • | |
| TQMLX2160A | LX2160A | ::: | XFI 10G\\ | • | • | |
| TQMLX2160A | LX2160A | ::: | CAUI4 100G | • | • | |
| TQMLX2160A | LX2160A | FlexSPI | Octal SPI NOR Flash | • | • | 2 devices |
| TQMLX2160A | LX2160A | I2C1 | Bus access | • | • | |
| TQMLX2160A | LX2160A | PCIe | Host | • | • | |
| TQMLX2160A | LX2160A | UART1 | RS232 | • | • | Default console |
| TQMLX2160A | LX2160A | USB XHCI | USB 3.0/2.0 \\ Host | • | • | USB Storage Device |
===== Kernel =====
===== Operating System =====
^ Feature ^^^^ BSP Revision ^^ Remarks ^
^ TQ Product ^ Chip ^ Interface ^ Function ^ 0009 ^ 0010 ^ ::: ^
| TQMLX2160A | LX2160A | EC1 | RGMII | • | • | |
| ::: | LX2160A | EC2 | RGMII | • | • | |
| ::: | LX2160A | eSDHC | eMMC / SD-Card | • | • | |
| ::: | LX2160A | FlexCAN0 | CAN | • | • | |
| ::: | LX2160A | FlexCAN1 | CAN | • | • | |
| ::: | LX2160A | FlexSPI | Octal SPI NOR Flash | • | • | 2 devices |
| ::: | LX2160A | GPIO | | • | • | |
| ::: | LX2160A | I2C1 | Bus Access | • | • | [[./linux/yocto/overview#onboard_i2c_devices|See onboard I2C devices]] |
| ::: | LX2160A | I2C5 | Bus Access | • | • | [[./linux/yocto/overview#onboard_i2c_devices|See onboard I2C devices]] |
| ::: | LX2160A | I2C6 | Bus Access | • | • | [[./linux/yocto/overview#onboard_i2c_devices|See onboard I2C devices]] |
| ::: | LX2160A | PCIe | Host | • | • | Available on MBLX2160A connector:\\ X35/X36 - PCIe x4\\ X37 - PCIe x8\\ X16 - mPCIe x1\\ X17 - mPCIe x1\\ Depending on SerDes configuration |
| ::: | LX2160A | SerDes1 | | • | • | |
| ::: | LX2160A | SerDes2 | | • | • | |
| ::: | LX2160A | SerDes2 | | • | • | |
| ::: | LX2160A | UART1 | TTL | • | • | Default console |
| ::: | LX2160A | USB1 | TUSB8041I | • | • | |
| ::: | LX2160A | USB2 | Host | • | • | X38 |
| ::: | LX2160A | ::: | Device | • | • | X38 |
| MBLX2160A |
===== Yocto BSP Version Matrix =====
Please visit our [[https://github.com/tq-systems/|Github]] for the latest updates and BSP releases.
^ TQ.ARM.BSP Revision ^ ++ci-meta-tq release| \\ [[https://github.com/tq-systems/meta-tq|https://github.com/tq-systems/meta-tq]] ++ ^ Yocto Project / Poky Release ^ U-Boot ^ Linux Kernel |
| [[https://github.com/tq-systems/meta-tq/releases/tag/kirkstone.TQ.ARM.BSP.0023|0023]] | 4.0.20 - Kirkstone | [[https://github.com/tq-systems/ci-meta-tq/tree/kirkstone|kirkstone]] | tqmlx2160a-mblx2160a | [[https://github.com/tq-systems/u-boot-tqmaxx/releases/tag/zeus.TQMLX2160A.BSP.SW.0010|2019.04]] | [[https://github.com/tq-systems/linux-tqmaxx/releases/tag/zeus.TQMLX2160A.BSP.SW.0010|LSDK-20.04-V5.4-update-290520]]
| [[https://github.com/tq-systems/meta-tq/releases/tag/kirkstone.TQ.ARM.BSP.0023|0022]] | 4.0.10 - Kirkstone | [[https://github.com/tq-systems/ci-meta-tq/tree/kirkstone|kirkstone]] | tqmlx2160a-mblx2160a | [[https://github.com/tq-systems/u-boot-tqmaxx/releases/tag/zeus.TQMLX2160A.BSP.SW.0010|2019.04]] | [[https://github.com/tq-systems/linux-tqmaxx/releases/tag/zeus.TQMLX2160A.BSP.SW.0010|LSDK-20.04-V5.4-update-290520]]
| [[https://github.com/tq-systems/meta-tq/releases/tag/kirkstone.TQ.ARM.BSP.0023|0021]] | 4.0.10 - Kirkstone | [[https://github.com/tq-systems/ci-meta-tq/tree/kirkstone|kirkstone]] | tqmlx2160a-mblx2160a | [[https://github.com/tq-systems/u-boot-tqmaxx/releases/tag/zeus.TQMLX2160A.BSP.SW.0010|2019.04]] | [[https://github.com/tq-systems/linux-tqmaxx/releases/tag/zeus.TQMLX2160A.BSP.SW.0010|LSDK-20.04-V5.4-update-290520]]
| [[https://github.com/tq-systems/meta-tq/releases/tag/kirkstone.TQ.ARM.BSP.0023|0020]] | 4.0.10 - Kirkstone | [[https://github.com/tq-systems/ci-meta-tq/tree/kirkstone|kirkstone]] | tqmlx2160a-mblx2160a | [[https://github.com/tq-systems/u-boot-tqmaxx/releases/tag/zeus.TQMLX2160A.BSP.SW.0010|2019.04]] | [[https://github.com/tq-systems/linux-tqmaxx/releases/tag/zeus.TQMLX2160A.BSP.SW.0010|LSDK-20.04-V5.4-update-290520]]
| [[https://github.com/tq-systems/meta-tq/releases/tag/kirkstone.TQ.ARM.BSP.0023|0019]] | 4.0.10 - Kirkstone | [[https://github.com/tq-systems/ci-meta-tq/tree/kirkstone|kirkstone]] | tqmlx2160a-mblx2160a | [[https://github.com/tq-systems/u-boot-tqmaxx/releases/tag/zeus.TQMLX2160A.BSP.SW.0010|2019.04]] | [[https://github.com/tq-systems/linux-tqmaxx/releases/tag/zeus.TQMLX2160A.BSP.SW.0010|LSDK-20.04-V5.4-update-290520]]
| [[https://github.com/tq-systems/meta-tq/releases/tag/kirkstone.TQ.ARM.BSP.0023|0018]] | 4.0.10 - Kirkstone | [[https://github.com/tq-systems/ci-meta-tq/tree/kirkstone|kirkstone]] | tqmlx2160a-mblx2160a | [[https://github.com/tq-systems/u-boot-tqmaxx/releases/tag/zeus.TQMLX2160A.BSP.SW.0010|2019.04]] | [[https://github.com/tq-systems/linux-tqmaxx/releases/tag/zeus.TQMLX2160A.BSP.SW.0010|LSDK-20.04-V5.4-update-290520]]
| [[https://github.com/tq-systems/meta-tq/releases/tag/kirkstone.TQ.ARM.BSP.0023|0017]] | 4.0.10 - Kirkstone | [[https://github.com/tq-systems/ci-meta-tq/tree/kirkstone|kirkstone]] | tqmlx2160a-mblx2160a | [[https://github.com/tq-systems/u-boot-tqmaxx/releases/tag/zeus.TQMLX2160A.BSP.SW.0010|2019.04]] | [[https://github.com/tq-systems/linux-tqmaxx/releases/tag/zeus.TQMLX2160A.BSP.SW.0010|LSDK-20.04-V5.4-update-290520]]
| [[https://github.com/tq-systems/meta-tq/releases/tag/kirkstone.TQ.ARM.BSP.0023|0001]] | 4.0.10 - Kirkstone | [[https://github.com/tq-systems/ci-meta-tq/tree/kirkstone|kirkstone]] | tqmlx2160a-mblx2160a | [[https://github.com/tq-systems/u-boot-tqmaxx/releases/tag/zeus.TQMLX2160A.BSP.SW.0010|2019.04]] | [[https://github.com/tq-systems/linux-tqmaxx/releases/tag/zeus.TQMLX2160A.BSP.SW.0010|LSDK-20.04-V5.4-update-290520]]
^ 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/meta-tq/releases/tag/kirkstone.TQMLX2160A.BSP.SW.0010|0010]] | 4.0.10 - Kirkstone | [[https://github.com/tq-systems/ci-meta-tq/tree/kirkstone|kirkstone]] | tqmlx2160a-mblx2160a | [[https://github.com/tq-systems/u-boot-tqmaxx/releases/tag/zeus.TQMLX2160A.BSP.SW.0010|2019.04]] | [[https://github.com/tq-systems/linux-tqmaxx/releases/tag/zeus.TQMLX2160A.BSP.SW.0010|LSDK-20.04-V5.4-update-290520]] |
| [[https://github.com/tq-systems/meta-tq/releases/tag/zeus.TQMLX2160A.BSP.SW.0009|0009]] | 3.0 - Zeus | [[https://github.com/tq-systems/ci-meta-tq/tree/zeus|zeus]] | tqmlx2160a-mblx2160a | [[https://github.com/tq-systems/u-boot-tqmaxx/releases/tag/zeus.TQMLX2160A.BSP.SW.0009|2019.04]] | [[https://github.com/tq-systems/linux-tqmaxx/releases/tag/zeus.TQMLX2160A.BSP.SW.0009|LSDK-20.04-V5.4-update-290520]] |
===== Yocto Changelog =====
**BSP**
* Update to Yocto Kirkstone 4.0.10
* Add support for more TQMLX2160a CPU and memory variants in meta-tq
* Initial BSP release
===== Yocto Images =====
** System Image **
^ Boot device ^ Symlink ^ File ^
^ SD Card/eMMC | tq-image-generic-tqmlx2160a-mblx2160a.wic | tq-image-generic-tqmlx2160a-mblx2160a-.rootfs.wic |
** Bootstream (Bootloader) Binary**
^ Boot Device ^ Symlink ^ File ^
^ SD Card/eMMC | u-boot.bin | u-boot-tfa-2019.04-r0.bin |
**Linux Kernel Binary**
^ Symlink ^ File ^
| Image | %%Image--5.4-r0-tqmlx2160a-mblx2160a-.bin%% |
**Devicetree Binarys**
^ Symlink ^ Description ^
| fsl-lx2160a-mblx2160a.dtb | default device tree blob for TQMLX2160A on MBLX2160A |
**RootFS Images**
^ Symlink ^ File ^
| tq-image-generic-tqmlx2160a-mblx2160a.ext4 | tq-image-generic-tqmlx2160a-mblx2160a-.rootfs.ext4 |
| tq-image-generic-tqmlx2160a-mblx2160a.tar.gz | tq-image-generic-tqmlx2160a-mblx2160a-.rootfs.tar.gz |
| tq-image-generic-tqmlx2160a-mblx2160a.ubi | tq-image-generic-tqmlx2160a-mblx2160a-.rootfs.ubi |
| tq-image-generic-tqmlx2160a-mblx2160a.ubifs | tq-image-generic-tqmlx2160a-mblx2160a-.rootfs.ubifs |
===== Yocto Deployment =====
==== 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 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 Root FS... && run root_loop'
setenv install_mbr_emmc 'echo MBR...; mmc dev 0; mmc read $loadaddr 0 1; mmc dev 1; mmc write $loadaddr 0 1'
setenv install_uboot_emmc 'echo U-Boot...; mmc dev 0; mmc read $loadaddr 800 1800 mmc dev 1; mmc write $loadaddr 800 1800'
setenv install_uboot_env_emmc 'echo U-Boot environment...; mmc dev 0; mmc read $loadaddr 2800 1800; mmc dev 1; mmc write $loadaddr 2800 1800'
setenv install_ddr_fw 'echo DDR Firmware...; mmc dev 0; mmc read $loadaddr 4600 4000; mmc dev 1; mmc write $loadaddr 4000 4000'
setenv install_fw_part 'echo Firmware Partition...; mmc dev 0; mmc read $loadaddr 8600 18600; mmc dev 1; mmc write $loadaddr 8600 18600'
setenv install_rootfs 'echo Root FS...; run root_loop'
==== uboot command to start netboot ====
=> run netboot