~~NOCACHE~~ ====== Overview ======= ===== BSP Version Information ===== ==== BSP Version Matrix ==== ^ BSP revision ^ ++ 0100|\\ [[http://www.tq-group.com/nc/download-disclaimer/?tx_abdownloads_pi1%5Baction%5D=getviewclickeddownload&tx_abdownloads_pi1%5Buid%5D=2045&cHash=4f5fb66dd3e79924f95f7a2e5168e3b4| (precompiled binaries)]]\\ [[http://www.tq-group.com/nc/download-disclaimer/?tx_abdownloads_pi1%5Baction%5D=getviewclickeddownload&tx_abdownloads_pi1%5Buid%5D=2043&cHash=1bc14f9b930d0b24b3880c951c5b2c4d|TQMa6x BSP Rev.0100 (source)]] ++ ^ [[http://www.tq-group.com/nc/download-disclaimer/?tx_abdownloads_pi1%5Baction%5D=getviewclickeddownload&tx_abdownloads_pi1%5Buid%5D=2104&cHash=49af1c2a36d2309ca2ebbfb95d617692|0101]] ^ [[http://www.tq-group.com/nc/download-disclaimer/?tx_abdownloads_pi1%5Baction%5D=getviewclickeddownload&tx_abdownloads_pi1%5Buid%5D=2123&cHash=701d4580f16c352a3bfb139aa9c265ad|0104]] ^ [[http://www.tq-group.com/nc/download-disclaimer/?tx_abdownloads_pi1%5Baction%5D=getviewclickeddownload&tx_abdownloads_pi1%5Buid%5D=2187&cHash=f2be487c6ccaf1ef3e5dd623651cbd81|0105]] ^ [[http://www.tq-group.com/nc/en/download-disclaimer/?tx_abdownloads_pi1[action]=getviewclickeddownload&tx_abdownloads_pi1[uid]=2269&cHash=692a269607980df669e4952204024d47|0109]] ^ ^ ++PTXdist|\\ version required by BSP++ | [[http://www.pengutronix.de/software/ptxdist/download/ptxdist-2013.03.0.tar.bz2| 2013.03]] | [[http://www.pengutronix.de/software/ptxdist/download/ptxdist-2013.12.0.tar.bz2| 2013.12]] | [[http://www.pengutronix.de/software/ptxdist/download/ptxdist-2013.12.0.tar.bz2|2013.12]] | [[http://www.pengutronix.de/software/ptxdist/download/ptxdist-2014.11.0.tar.bz2|2014.11]] | [[http://www.pengutronix.de/software/ptxdist/download/ptxdist-2015.05.0.tar.bz2|2015.05]] | ^ ++OSELAS Toolchain|\\ cf. [[http://www.pengutronix.de/software/ptxdist/appnotes/AppNote_BuildingToolchain.pdf|Building OSELAS.Toolchains()]]++ | [[http://www.pengutronix.de/oselas/toolchain/download/OSELAS.Toolchain-2012.12.1.tar.bz2| 2012.12.1]] | [[http://www.pengutronix.de/oselas/toolchain/download/OSELAS.Toolchain-2013.12.1.tar.bz2| 2013.12.1]] | [[http://www.pengutronix.de/oselas/toolchain/download/OSELAS.Toolchain-2013.12.2.tar.bz2|2013.12.2]] | [[http://www.pengutronix.de/oselas/toolchain/download/OSELAS.Toolchain-2013.12.2.tar.bz2|2013.12.2]] | [[http://www.pengutronix.de/oselas/toolchain/download/OSELAS.Toolchain-2013.12.2.tar.bz2|2013.12.2]] | ^ Platform | MBa6x | MBa6x | MBa6x | MBa6x | MBa6x | ^ U-Boot | [[http://www.denx.de/wiki/U-Boot/Documentation|2013.04]] | [[http://www.denx.de/wiki/U-Boot/Documentation|2013.04]] | [[http://www.denx.de/wiki/U-Boot/Documentation|2013.04]] | [[http://www.denx.de/wiki/U-Boot/Documentation|2013.04]] | [[http://www.denx.de/wiki/U-Boot/Documentation|2015.04]] | ^ Linux Kernel | [[http://lxr.free-electrons.com/source/?v=3.10|3.10]] | [[http://lxr.free-electrons.com/source/?v=3.13|3.13]] | [[http://lxr.free-electrons.com/source/?v=3.16|3.16-rc5]] | [[http://lxr.free-electrons.com/source/?v=3.16|3.16.7]] | [[http://lxr.free-electrons.com/source/?v=4.1|4.1]] | ^ Qt Version | [[http://doc.qt.io/qt-4.8/index.html|4.8.4]] | [[http://doc.qt.io/qt-4.8/index.html|4.8.5]] | [[http://doc.qt.io/qt-4.8/index.html|4.8.6]] | [[http://doc.qt.io/qt-5/index.html|5.3.2]] | [[http://doc.qt.io/qt-5/index.html|5.3.2]] | \\ ==== Flat Devicetree ==== With BSP Revision 0109 the Linux kernel version changed from **3.16.7** to **4.1** The devicetree source & blob files for kernel 3.16.7 are **not compatible** to kernel 4.1 and vice versa. ++++BSP Rev. ≤ 0105| * [[.:#naming_convention|Naming convention]] * [[.:#dependency_matrix|Dependency matrix]] * [[.:#dependency_graph|Dependency graph]] == Naming convention == **Device Tree Blobs**\\ Several device tree blobs (.dtb files) are built by default, the resulting files are named as follows:\\ ''imx6<**q|dl**>-mba6x-.dtb''\\ When building an sd card image, the HDMI enabled device tree blob is used by default.\\ ^ Module (CPU) type ^^ | imx6q | TQMa6Q %%|%% TQMa6D | | imx6dl | TQMa6DL %%|%% TQMa6S | ^ Module revision ^^ | mba6x | TQMa6x Rev.02xx Variant B %%|%% TQMa6x Rev.01xx | ^ Display interface ^^ | hdmi | HDMI only | | lvds | LVDS only | | pd | parallel display only | | multi | HDMI + LVDS + parallel display | \\ == Dependency matrix == ^ File ^ Module ^ Starterkit\\ Mainboard ^ i.MX6Q ^ i.MX6D ^ i.MX6DL ^ i.MX6S ^ Revision 010x ^ Revision 020x ^ Ethernet Patch ^ ^imx6qdl-tqma6x.dtsi | ✔ | | ✔ | ✔ | ✔ | ✔ | ✔ | | | ^imx6q-tqma6x.dtsi | ✔ | | ✔ | ✔ | | | ✔ | | | ^imx6dl-tqma6x.dtsi | ✔ | | | | ✔ | ✔ | ✔ | | | ^imx6qdl-mba6x.dtsi |included| ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | | ^imx6q-mba6x.dts |included| ✔ | ✔ | ✔ | | | ✔ | | | ^imx6dl-mba6x.dts |included| ✔ | | | ✔ | ✔ | ✔ | | | \\ == Dependency graph == digraph "FDT_dependencies" { rankdir=BT node [shape=box style=filled] { /* level graph */ node[shape=none, width=0, height=0, label="" style=invis]; edge[dir=none style=invis]; 1 -> 2 -> 3 -> 4 -> 5 -> 6; } subgraph FSL { node [fillcolor="#E66A08" fontcolor="#FFFFFF"] "imx6q.dtsi"; "imx6dl.dtsi"; "imx6qdl.dtsi"; } subgraph TQM { node [fillcolor="#1D8EC6" fontcolor="#FFFFFF"] "imx6qdl-tqma6x.dtsi"; "imx6q-tqma6q.dtsi"; "imx6dl-tqma6s.dtsi"; } subgraph MB { node [fillcolor="#8F8F8F" fontcolor="#FFFFFF"] "imx6qdl-mba6x.dtsi"; "imx6q-mba6x.dts" [shape=oval color="#FF0000"]; "imx6dl-mba6x.dts" [shape=oval color="#FF0000"]; } {rank=same; 6; "imx6q.dtsi"; "imx6dl.dtsi"} {rank=same; 5; "imx6qdl-tqma6x.dtsi"} {rank=same; 4; "imx6q-tqma6q.dtsi"; "imx6dl-tqma6s.dtsi"} {rank=same; 3; "imx6qdl-mba6x.dtsi"} {rank=same; 2; "imx6q-mba6x.dts"; "imx6dl-mba6x.dts"} {rank=same; 1; "imx6q-mba6x-hdmi.dts"; "imx6dl-mba6x-hdmi.dts" } {"imx6q.dtsi" "imx6dl.dtsi"} -> "imx6qdl.dtsi"; "imx6q-tqma6q.dtsi" -> {"imx6qdl-tqma6x.dtsi" "imx6q.dtsi"}; "imx6dl-tqma6s.dtsi" -> {"imx6qdl-tqma6x.dtsi" "imx6dl.dtsi"}; "imx6q-mba6x.dts" -> {"imx6qdl-mba6x.dtsi" "imx6q-tqma6q.dtsi"}; "imx6dl-mba6x.dts" -> {"imx6qdl-mba6x.dtsi" "imx6dl-tqma6s.dtsi"}; "imx6q-mba6x-hdmi.dts" -> "imx6q-mba6x.dts"; "imx6dl-mba6x-hdmi.dts" -> "imx6dl-mba6x.dts"; }
CPU specific files
Module specific files
Baseboard specific files
\\
++++ ++++BSP Rev. ≥ 0109| * [[.:#naming_convention1|Naming convention]] * [[.:#dependency_matrix1|Dependency matrix]] * [[.:#dependency_graph1|Dependency graph]] == Naming convention == **Device Tree Blobs**\\ Several device tree blobs (.dtb files) are built by default, the resulting files are named as follows:\\ ''imx6<**q|dl**>-mba6<**a|b**>-.dtb''\\ When building an sd card image, the HDMI enabled device tree blob is used by default.\\ **Flat Image Tree (FIT)**\\ Additionaly a FIT image (*.itb) is generated, which contains all device trees in a single file.\\ \\ To select an individual DTB from this FIT you have to set the U-Boot variables ''fdt_type'' and ''fitfdt_part'' accordingly. ^ Module (CPU) type ^^ | imx6q | TQMa6Q %%|%% TQMa6D | | imx6dl | TQMa6DL %%|%% TQMa6S | ^ Module revision & variant ^^ | mba6a | TQMa6x Rev.02xx Variant A & C | | mba6b | TQMa6x Rev.02xx Variant B %%|%% TQMa6x Rev.01xx | ^ Display interface ^^ | hdmi | HDMI only | | lvds | LVDS only | | pd | parallel display only | | multi | HDMI + LVDS + parallel display | \\ == Dependency matrix == ^ File ^ Module ^ Starterkit\\ Mainboard ^ i.MX6Q ^ i.MX6D ^ i.MX6DL ^ i.MX6S ^ Revision 010x ^ Revision 020x ^ Ethernet Patch ^ ^imx6qdl-tqma6.dtsi | ✔ | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | ^imx6qdl-tqma6a.dtsi| ✔ | | ✔ | ✔ | ✔ | ✔ | | ✔ | ✔ | ^imx6qdl-tqma6b.dtsi| ✔ | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | ^imx6q-tqma6.dtsi | ✔ | | ✔ | ✔ | | | ✔ | ✔ | | ^imx6q-tqma6a.dtsi | ✔ | | ✔ | ✔ | | | | ✔ | ✔ | ^imx6q-tqma6b.dtsi | ✔ | | ✔ | ✔ | | | ✔ | ✔ | | ^imx6dl-tqma6.dtsi | ✔ | | | | ✔ | ✔ | ✔ | ✔ | | ^imx6dl-tqma6a.dtsi | ✔ | | | | ✔ | ✔ | | ✔ | ✔ | ^imx6dl-tqma6b.dtsi | ✔ | | | | ✔ | ✔ | ✔ | ✔ | | ^imx6qdl-mba6.dtsi | included | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | ^imx6qdl-mba6a.dtsi | included | ✔ | ✔ | ✔ | ✔ | ✔ | | ✔ | ✔ | ^imx6qdl-mba6b.dtsi | included | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | ^imx6q-mba6.dtsi | included | ✔ | ✔ | ✔ | | | ✔ | ✔ | | ^imx6q-mba6a.dts | included | ✔ | ✔ | ✔ | | | | ✔ | ✔ | ^imx6q-mba6b.dts | included | ✔ | ✔ | ✔ | | | ✔ | ✔ | | ^imx6dl-mba6.dtsi | included | ✔ | | | ✔ | ✔ | ✔ | ✔ | | ^imx6dl-mba6a.dts | included | ✔ | | | ✔ | ✔ | | ✔ | ✔ | ^imx6dl-mba6b.dts | included | ✔ | | | ✔ | ✔ | ✔ | ✔ | | \\ == Dependency graph == digraph "FDT_dependencies" { rankdir=BT node [shape=box style=filled] { /* level graph */ node[shape=none, width=0, height=0, label="" style=invis]; edge[dir=none style=invis]; 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> 8 -> 9; } subgraph FSL { node [fillcolor="#E66A08" fontcolor="#FFFFFF"] "imx6q.dtsi"; "imx6dl.dtsi"; "imx6qdl.dtsi"; } subgraph TQM { node [fillcolor="#1D8EC6" fontcolor="#FFFFFF"] "imx6qdl-tqma6.dtsi"; "imx6q-tqma6.dtsi"; "imx6dl-tqma6.dtsi"; "imx6qdl-tqma6.dtsi"; } subgraph MB { node [fillcolor="#8F8F8F" fontcolor="#FFFFFF"] ordering=out; "imx6qdl-mba6.dtsi"; subgraph MBq { rankdir=LR; "imx6q-mba6.dtsi"; "imx6q-mba6.dts" [shape=oval color="#FF0000"]; } "imx6qdl-mba6.dtsi"; subgraph MBdl { "imx6dl-mba6.dts" [shape=oval color="#FF0000"]; "imx6dl-mba6.dtsi"; } } {rank=same; 8; "imx6q.dtsi"; "imx6dl.dtsi"} {rank=same; 7; "imx6qdl-tqma6.dtsi"} {rank=same; 6; "imx6q-tqma6.dtsi"; "imx6dl-tqma6.dtsi"} {rank=same; 5; "imx6qdl-tqma6.dtsi"} {rank=same; 4; "imx6qdl-mba6.dtsi"} {rank=same; 3; "imx6q-mba6.dtsi"; "imx6q-mba6.dts"; "imx6dl-mba6.dts"; "imx6dl-mba6.dtsi"} {rank=same; 2; "imx6qdl-mba6.dtsi" } {"imx6q.dtsi" "imx6dl.dtsi"} -> "imx6qdl.dtsi"; "imx6q-tqma6.dtsi" -> {"imx6qdl-tqma6.dtsi" "imx6qdl-tqma6.dtsi" "imx6q.dtsi"}; "imx6dl-tqma6.dtsi" -> {"imx6qdl-tqma6.dtsi" "imx6qdl-tqma6.dtsi" "imx6dl.dtsi"}; "imx6q-mba6.dts" -> {"imx6q-tqma6.dtsi" "imx6qdl-mba6.dtsi" "imx6qdl-mba6.dtsi" "imx6q-mba6.dtsi"}; "imx6dl-mba6.dts" -> {"imx6dl-tqma6.dtsi" "imx6qdl-mba6.dtsi" "imx6qdl-mba6.dtsi" "imx6dl-mba6.dtsi"}; } \\
CPU specific files
Module specific files
Baseboard specific files
++++ ===== Bootloader ===== ==== Supported features ==== ^ Feature ^^^^ BSP Revision ^^Remarks^^^ ^ TQ Product ^ Chip ^ Interface ^ Function ^ 0105 ^ 0109 ^ ^^^ | TQMa6x | i.MX6 | Ethernet | RGMII (10/100/1000 Mbit/s) | ✔ | ✔ | ||| | TQMa6x | i.MX6 | uSDHC | eMMC / SD-Card | ✔ | ✔ | SD card / eMMC ||| | TQMa6x | i.MX6 | UART2 | RS232 | ✔ | ✔ | default console ||| | TQMa6x | i.MX6 | USB | Host | | ✔ | ||| | TQMa6x | i.MX6 | I²C | EEPROM, Temperature Sensors | ✔ | ✔ | ||| | TQMa6x | i.MX6 | GPIO | | | | custom config on request ||| | TQMa6x | i.MX6 | SPI | SPI NOR Flash | ✔ | ✔ | ||| | TQMa6x | i.MX6 | IIM / Fuse | | | | on request ||| | TQMa6x | i.MX6 | Devicetree FIT image | | | ✔ | see How To ||| \\ ==== Supported boot devices ==== ^ Boot device ^ supported ^ | eMMC / SD boot | ✔ | | TFTP boot | ✔ | | SPI NOR boot | ✔ | ===== Operating System ===== ==== Supported Features ==== ^ Feature ^^^^ BSP Revision ^^^^^^Remarks ^ ^ TQ Product ^ Chip ^ Interface ^ Function ^ Pre-Release ^ 0100 ^ 0101 ^ 0104 ^ 0105 ^ 0109 ^ ^ | TQMa6x | i.MX6 | AUD3 | TLV320AIC3204 | | | ✔ | ✔ | ✔ | ✔ |AudioCodec | | ::: | i.MX6 | EIM | Bus access | | | | | ✔ | ✔ |driver support / no device on MBa6x | | ::: | i.MX6 | ENET | RGMII (10/100/1000 Mbit/s) | ✔ | | ✔ | ✔ | ✔ | ✔ |MBa6x Rev. ≥ 0102 required | | ::: | i.MX6 | FLEXCAN1 | CAN 2.0B | | ✔ | ✔ | ✔ | ✔ | ✔ |BSP Rev. ≤ 0100:\\ bitrate is not set as correctly | | ::: | i.MX6 | FLEXCAN2 | CAN 2.0B | | ✔ | ✔ | ✔ | ✔ | ✔ | ::: | | ::: | i.MX6 | GPIO | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |BSP Rev. ≥ 0104: ++available via sysfs|\\ default pin-multiplexing covers all GPIO pins available on X30++ | | ::: | i.MX6 | GPIO1_IO21 | Buzzer | | ✔ | ✔ | ✔ | ✔ | ✔ |++BSP Rev. ≤ 0101|\\ supported via sysfs gpio++\\ ++BSP Rev. ≥ 0104|\\ supported via ''beep'' command++ | | ::: | i.MX6 | GPU2D | Hardware Acceleration | | | | ○ | ✔ | ✔ | BSP Rev. ≥ 0105\\ or\\ ++ kernel 3.10.17-fsl|\\ ◊ ptxdist platformconfig → extra kernel\\ ◊ rootfs from Freescale reference BSP++ required \\ tested resolution 1366x768\\ For using GPU see [[en:arm:tqma6x:linux:ptxdist:how_to#using_gpu|How To]] | | ::: | i.MX6 | GPU3D | Hardware Acceleration | | | | ○ | ✔ | ✔ | BSP Rev. ≥ 0105\\ or\\ ++ kernel 3.10.17-fsl |\\ ◊ ptxdist platformconfig → extra kernel\\ ◊ rootfs from Freescale reference BSP++ required\\ tested resolution 1366x768\\ For using GPU see [[en:arm:tqma6x:linux:ptxdist:how_to#using_gpu|How To]] | | ::: | i.MX6 | HDMI | HDMI | | | ✔ | ✔ | ✔ | ✔ |++known limitations|\\ ◊ requires monitor with correct HPD signal++\\ For Freescale kernel see [[en:arm:tqma6x:linux:ptxdist:how_to##configure_hdmi_freescale_kernel|How To ]] | | ::: | i.MX6 | I2C1 | I2C devices | | | ✔ | ✔ | ✔ | ✔ | see [[.#supported_onboard_i2c_devices|supported onboard I2C devices]] | | ::: | i.MX6 | I2C3 | I2C devices | | | ✔ | ✔ | ✔ | ✔ | see [[.#supported_onboard_i2c_devices|supported onboard I2C devices]] | | ::: | i.MX6 | IPU1 | Parallel LCD | | | | ✔ | ✔ | ✔ |++displays supported|\\ BSP Rev. ≥ 0104:\\ EDT ET(M)0700G0DH6 (7" WVGA) supported by ''imx6[q%%|%%dl]-mba6x-pd.dtb''++ | | ::: | i.MX6 | JTAG | | | | | | | | | ::: | i.MX6 | LDB | LVDS | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |++displays supported|\\ BSP Rev. ≥ 0104:\\ ChiMei G104X (10.4" XGA) supported by ''imx6[q%%|%%dl]-mba6x-lvds.dtb''++ | | ::: | i.MX6 | PCIe | Device Discovery | | | | ✔ | ✔ | ✔ |BSP Rev. 0104 TQMa6D/Q support | | ::: | i.MX6 | PWM1 | Backlight Dimming | | | | ✔ | ✔ | ✔ |MBa6x Rev. ≥ 0200 required | | ::: | i.MX6 | SATA | Serial ATA 3.0 | | ✔ | ✔ | ✔ | ✔ | ✔ | TQMa6Q and TQMa6D only | | ::: | i.MX6 | SPDIF | Digtal Audio | | | | | ✔ | ✔ |availabe at X30.10/12 on MBa6x | | ::: | i.MX6 | SPI1 | Bus access | | ✔ | ✔ | ✔ | ✔ | ✔ | BSP Rev. ≥ 0104:\\ SS2 configured for spidev, SS3 prepared for usage (pin-multiplexing) | | ::: | i.MX6 | SPI1 | NOR flash | | ✔ | ✔ | ✔ | ✔ | ✔ |/dev/mtd0 | | ::: | i.MX6 | SPI5 | Bus access | | | | ✔ | ✔ | ✔ |TQMa6Q only\\ BSP Rev. ≥ 0104:\\ SS1 configured for spidev | | ::: | i.MX6 | TEMPMON | | | | ✔ | ✔ | ✔ | ✔ | | ::: | i.MX6 | UART1 | | | | | | | |not available on MBa6x | | ::: | i.MX6 | UART2 | RS232 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |default console | | ::: | i.MX6 | UART3 | TTL | | ✔ | ✔ | ✔ | ✔ | ✔ | | ::: | i.MX6 | UART4 | RS485 | | ✔ | ✔ | ✔ | ✔ | ✔ | | ::: | i.MX6 | UART5 | TTL | | ✔ | ✔ | ✔ | ✔ | ✔ | | ::: | i.MX6 | USB_OTG | Host | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | ::: | i.MX6 | USB_OTG | OTG | | | ✔ | ✔ | ✔ | ✔ | | ::: | i.MX6 | USB_UH1 | USB2517 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | ::: | i.MX6 | USB_UH2 | | | | | | | |not available on MBa6x | | ::: | i.MX6 | USB_UH3 | | | | | | | |not available on MBa6x | | ::: | i.MX6 | uSDHC | SD(HC)-Card \\ sd2 SD card \\ sd3 eMMC | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |see issues for known limitations | | ::: | i.MX6 | VPU | Hardware Acceleration | | | | | | ✔ |For using VPU see [[en:arm:tqma6x:linux:ptxdist:how_to#using_vpu|How To]] | | MBa6x | TLV320AIC3204 | Audio Codec | Headphone Out / Line Out | | | ✔ | ✔ | ✔ | ✔ |selectable using solder straps on MBa6x | | ::: | ::: | ::: | Line In | | | ✔ | ✔ | ✔ | ✔ | | ::: | ::: | ::: | Microphone In | | | | | | | | ::: | LAN9500 | ENET | 10/100 Mbit/s | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |++BSP Rev. ≤ 0101|\\ MAC needs to be configured via U-Boot variable ''usbethaddr''++\\ ++BSP Rev. ≥ 0104|\\ automatic MAC configuration with MBa6x Rev. ≥ 0200++ | | ::: | GPIO | GPIO Key | | | ✔ | ✔ | ✔ | ✔ | ✔ |as input device | | ::: | LED | LED | LED | | | | ✔ | ✔ | ✔ |MBa6x Rev. ≥ 0200 required | | ::: | USB2517 | USB1 | LAN9500 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | MBa6x Rev. ≥ 0102 required | | ::: | USB2517 | USB2 | Host | | ✔ | ✔ | ✔ | ✔ | ✔ | ::: | | ::: | USB2517 | USB3 | Host | | ✔ | ✔ | ✔ | ✔ | ✔ | ::: | | ::: | USB2517 | ++USB4|\\ on pinheader X27++ | Host | | ✔ | ✔ | ✔ | ✔ | ✔ | ::: | | ::: | USB2517 | ++USB5|\\ on Mini-PCIe connector X23++ | Host | | | | | | | ::: | | ::: | USB2517 | USB6 | Host | | ✔ | ✔ | ✔ | ✔ | ✔ | ::: | | ::: | USB2517 | ++USB7|\\ on LVDS connector X19++ | | | | | | | | ::: | \\ ===== Onboard I2C devices ===== \\ === TQMa6x Rev.01xx / TQMa6x Rev.02xx Variant B === ^ I2C bus ^ TQMa6x ^^^ MBa6x ^^^ ^ I2C1 | ||| 0x18\\ Audiocodec ||| ^ I2C3 | 0x08\\ PMIC | 0x48\\ LM75 | 0x50\\ EEPROM | 0x49\\ LM75 | 0x57\\ EEPROM | 0x68\\ RTC | \\ === TQMa6x Rev.02xx Variant A & C ==== ^ I2C bus ^ TQMa6x ^^^ MBa6x ^^^^ ^ I2C1 | 0x08\\ PMIC | 0x48\\ LM75 | 0x50\\ EEPROM | 0x18\\ Audiocodec | 0x49\\ LM75 | 0x57\\ EEPROM | 0x68\\ RTC | ^ I2C3 | //not available due to ethernet patch// ||||||| \\ | i.MX6 | AUD3 | I2S | | | | t.b.d | | i.MX6 | I2S | AudioCodec | | | | t.b.d | ====== Adapting BSP ====== ===== Partition scheme ===== Changing the partition scheme may affect the boot loader update capability and / or the kernel command line parameters! === SD / eMMC images === * sector size 512 Byte * unpartitioned area: 4MiB (0x2000 sectors) ^ Sector ^ Size ^ Usage ^ |0x0000 ... 0x0000 | 0x0001 sector / 512 Byte| MBR / Partition Table | |0x0001 ... 0x0001 | 0x0001 sector / 512 Byte| reserved for ROM loader 1) | |0x0002 ... 0x07ff | 0x07fe sectors / 1023 KiB| u-boot | |0x0800 ... 0x0fff | 0x0800 sectors / 1MiB | environment 2) | |0x1000 ... 0x17ff | 0x0800 sectors / 1MiB | device tree blob | 1) See CPU reference Manual. This sector can be used for Redundant Boot Support 2) Environment organisation: * configured environment size: 8kiB (16 Sectors) * environment type: redundand * primary environment (sectors): 0x0800 ... 0x080f (0x100000 ... 0x101fff) * redundand environment (sectors): 0x0810 ... 0x081f (0x102000 ... 0x103fff) * partitioned area: ^ Partition ^ Size ^ Usage ^ | 1 | 4 MiB | Kernel image | | 2 | 256 MiB | root FS | | 3 | 256 MiB | Spare, not formatted | | 4 | ---- | ---- | The partition scheme is defined using the config file **config/platform-tq-mba6x/config/images/uboot-hd.config**. The creation of the image is controlled using the PTXdist packages image-uboot-tqma6-hd.make, these packages are located at **/configs/platform-tq-mba6x/rules/**. To create the image the genimage host tool is used. This tool is automatically selected and built. You can find the build directory under **/platform-MBa6x/build-host/genimage**. There is also a README file documenting how to use this tool. === SPI NOR === * sector size 64 KiB ^ Sector ^ Size ^ Usage ^ |0x0000 ... 0x0007 | 0x0008 sectors / 512 KiB | U-Boot *) | |0x0008 ... 0x0008 | 0x0001 sector / 64 KiB | environment0 | |0x0009 ... 0x0009 | 0x0001 sector / 64 KiB | environment1 | |0x000a ... 0x000a | 0x0001 sector / 64 KiB | environment1 | |0x000b ... 0x000f | 0x0005 sectors / 320 KiB | devicetree | |0x0010 ... 0x0070 | 0x0060 sectors / 6 MiB | Kernel | ====== Deployment ====== ===== PTXdist images ===== Complete system images: * **uboot_tqma6s_hd.img** : bootable image for TQMa6S on MBa6x (usage on SD Card and eMMC) * **uboot_tqma6dl_hd.img** : bootable image for TQMa6U on MBa6x (usage on SD Card and eMMC) * **uboot_tqma6q_hd.img** : bootable image for TQMa6Q and TQMa6D on MBa6x (usage on SD Card and eMMC) The complete system images are intended for: * development system initialisation * deployment Bootloader images:\\ Not to be confused with the u-boot*.bin images, these are just intermediate images and will not be booted by the i.MX6. * **u-boot-TQMa6S_MBa6x.imx** : u-boot bootloader for TQMa6S on MBa6x (usage on SD Card and eMMC) * **u-boot-TQMa6S_MBa6x_SPI.imx** : u-boot bootloader for TQMa6S on MBa6x (usage on SPI NOR Flash) * **u-boot-TQMa6DL_MBa6x.imx** : u-boot bootloader for TQMa6U on MBa6x (usage on SD Card and eMMC) * **u-boot-TQMa6DL_MBa6x_SPI.imx** : u-boot bootloader for TQMa6U on MBa6x (usage on SPI NOR Flash) * **u-boot-TQMa6Q_MBa6x.imx** : u-boot bootloader for TQMa6Q and TQMa6D on MBa6x (usage on SD Card and eMMC) * **u-boot-TQMa6Q_MBa6x_SPI.imx** : u-boot bootloader for TQMa6Q and TQMa6D on MBa6x (usage on SPI NOR Flash) Linux images: * **linuximage** : Kernel (zImage) * **imx6dl-mba6x.dtb** : device tree blob for TQMa6S and TQMa6U on MBa6x * **imx6q-mba6x.dtb** : device tree blob for TQMa6Q and TQMa6D on MBa6x Rootfs images: * **root.tgz** : Root file system archive (for NFS etc.) * **root.ext2** : Root file system partition image (for system update) ===== device assignment ===== __Device assignment:__\\ //mmcdev 0// = eMMC\\ //mmcdev 1// = SD Card\\ ===== update commands uboot ===== * U-Boot update: => run update_uboot\\ * Device Tree update: => run update_fdt\\ * Kernel update: => run update_kernel\\ ===== serial downloader ===== The Starterkit has to be set to boot-mode "serial downloader", please see [[en:arm:tqma6x:mba6x:dip_switches|MBa6x DIP switch settings]] We recommend to use Ubuntu 14.04 64bit for the imx-usb tool Starting with TQMa6x-BSP-REV.0109 we deliver a Linux tool to upload U-Boot into the TQMa6X RAM from your development host and start it. After building the BSP the tool is located under \\ **.../TQMa6x-BSP-REV.0109/platform-MBa6x/packages/h-imx_usb_loader-master**\\ You have to apply the following steps before you can start to work with the tool: * Copy the content of folder .../TQMa6x-BSP-REV.0109/platform-MBa6x/packages/host-imx_usb_loader-master/usr/etc/ to /etc * Copy the content of folder .../TQMa6x-BSP-REV.0109/platform-MBa6x/packages/host-imx_usb_loader-master/usr/bin/ to /bin ===== Usage of serial downloader tool ===== - Set Starterkit to boot-mode "serial downloader", please see [[en:arm:tqma6x:mba6x:dip_switches|MBa6x DIP switch settings]] - Connect Starterkit connector X8 (Micro USB cable provided with the Starterkit) to your host - Connect Starterkit connector X15 (RS232) to your host - Power up Starterkit - Please check that Linux recognized a new USB device, see output of command **dmesg | grep -i usb**. You should see something like the following :usb 1-1: Manufacturer: Freescale SemiConductor Inc hid-generic 0003:15A2:0054.0002: hiddev0,hidraw1: USB HID v1.10 Device [Freescale SemiConductor Inc SE Blank ARIK] on usb-0000:02:03.0-1/input0 - Open a serial terminal on your host e.g. TeraTerm - Open a Linux terminal and naviagate to folder "images" in the BSP dirctory\\ e.g. **/home/embedded/TQMa6x-BSP-REV.0109/platform-MBa6x/images**\\ - Start the serial downloader **imx_usb** as super user with the desired U-Boot as parameter Keep in mind to select a U-Boot that is corresponding to your module, please see [[en:arm:tqma6x:linux:ptxdist:deployment]]e.g.embedded@ubuntu:~/workspace/TQMa6x-BSP-REV.0109/platform-MBa6x/images$ sudo imx_usb u-boot-TQMa6Q_MBa6x.imxhost console output after starting the serial downloaderconfig file vid=0x066f pid=0x3780 file_name=mx23_usb_work.conf vid=0x15a2 pid=0x004f file_name=mx28_usb_work.conf vid=0x15a2 pid=0x0052 file_name=mx50_usb_work.conf vid=0x15a2 pid=0x0054 file_name=mx6_usb_work.conf vid=0x15a2 pid=0x0061 file_name=mx6_usb_work.conf vid=0x15a2 pid=0x0063 file_name=mx6_usb_work.conf vid=0x15a2 pid=0x0041 file_name=mx51_usb_work.conf vid=0x15a2 pid=0x004e file_name=mx53_usb_work.conf vid=0x15a2 pid=0x006a file_name=vybrid_usb_work.conf vid=0x066f pid=0x37ff file_name=linux_gadget.conf config file parse /etc/imx-loader.d/mx6_usb_work.conf 15a2:0054(mx6_qsb) bConfigurationValue =1 Interface 0 claimed HAB security state: development mode (0x56787856) == work item filename u-boot-TQMa6Q_MBa6x.imx load_size 0 bytes load_addr 0x00000000 dcd 1 clear_dcd 0 plug 1 jump_mode 2 jump_addr 0x00000000 == end work item main dcd length 308 sub dcd length 304 loading binary file(u-boot-TQMa6Q_MBa6x.imx) to 4fbff400, skip=0, fsize=5cc00 type=aa <<<379904, 379904 bytes>>> succeeded (status 0x88888888) jumping to 0x4fbff400 - Now you can see the U-Boot messages in the serial terminal programm Next steps are:\\ * write U-Boot using tftp to eMMC, see [[en:arm:tqma6x:linux:ptxdist:deployment#updating_existing_firmware_over_ethernet|Updating existing firmware over ethernet]] * write kernel image using tftp to eMMC, see [[en:arm:tqma6x:linux:ptxdist:deployment#updating_existing_firmware_over_ethernet|Updating existing firmware over ethernet]]