https://wiki.dh-electronics.com/api.php?action=feedcontributions&user=Christoph&feedformat=atom
Wiki-DB - User contributions [en]
2024-03-28T12:28:53Z
User contributions
MediaWiki 1.41.0
https://wiki.dh-electronics.com/index.php?title=Avenger96&diff=3849
Avenger96
2023-09-21T15:52:20Z
<p>Christoph: /* DSI Display Adaptor Board */</p>
<hr />
<div>'''The Avenger96 board is the official DHCOR STM32MP1 reference design!'''<br />
<br />
{|<br />
|<br />
|<br />
|-<br />
|__TOC__<br />
|[[Image:Avenger96Board.png|600px|COM Avenger96Board]]<br />
|}<br />
<br />
== Introduction ==<br />
The AVENGER Board is a 96Boards compliant consumer edition board based on the STM32MP15 series of SoCs. The STM32MP15 series <br />
is a highly integrated multi-market applications processor designed to enable secure and portable applications within the Internet of Things. <br />
AVENGER board features Dual-core Arm® Cortex®-A7 processors operating at up to 650 MHz, Single core Arm® Cortex® M4 operating up to <br />
209 MHz. In addition, an extensive set of interfaces and connectivity peripherals are included to interface to cameras, touch-screen displays, <br />
MMC/SD cards and media processor engine. It also fully supports wireless communication, including WLAN and BLE.<br />
<br />
== Technical Details ==<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''STM32MP157AAC<br />
**2x ARM® Cortex-A7 up to 650 MHz<br />
**1x ARM® Cortex-M4 up to 209 MHz <br />
'''<br />
*'''GPU''' 1x 3D GPU Vivante® @ 533 MHz - OpenGL® ES 2.0<br />
*'''PMIC''' STPMIC1A<br />
*'''DDR3 DRAM''' 1024 Mbyte @ 533 MHz<br />
*'''eMMC Flash''' 8 Gbyte, v4.51 interface<br />
*'''NOR Flash''' 2 Mbyte, Quad SPI interface<br />
*'''EEPROM''' 128 byte<br />
*'''microSD Socket''' UHS-I speed grade, v3.01<br />
*'''USB Host''' 2x type A, 2.0 high-speed<br />
*'''USB OTG''' 1x type micro-AB, 2.0 high-speed<br />
*'''HDMI''' WXGA (1366x768) @ 60 fps, HDMI 1.4<br />
*'''WiFi / Bluetooth''' <br />
**WiFi 5 GHz & 2.4GHz IEEE 802.11a / b / g / n / ac<br />
**Bluetooth® v4.2 (BR/EDR/BLE)<br />
**PCB antenna<br />
*'''Ethernet''' 10 / 100 / 1000 Mbit/s, IEEE 802.3-compliant<br />
|valign="top" style="border: 0pt;" |<br />
*'''Push-Buttons''' Power and reset<br />
*'''Battery Socket''' CR1216, CR1220 and CR1225<br />
*'''LEDs'''<br />
**4x green user controlled LEDs <br />
**1x blue Bluetooth enabled <br />
**1x yellow WiFi enabled<br />
**1x red power supply okay<br />
*'''Boot Mode''' 3 bit boot mode switch<br />
*'''Debug Interface''' JTAG interface via tag-connect<br />
*'''Supply (SYS_DCIN)''' 8 - 18 VDC<br />
*'''Temperature Range''' 0 - 40 °C<br />
*'''Dimensions ''' 100 x 85 mm<br />
*'''Expansion Connectors''' <br />
**2 x UART<br />
**2 x I2C<br />
**1 x I2S<br />
**1 x SPI<br />
**12 x GPIOs (also useable as 2x CAN, 2x ADC)<br />
**1 x MIPI-CSI2<br />
**1 x MIPI-DSI<br />
|}<br />
<br />
== Product Change Notifications (PCN) ==<br />
==== DHCOR STM32MP15====<br />
* [[media:PCN_DHCOR-STM32MP1-001_R01_2022-10-07.pdf|PCN_DHCOR-STM32MP1-001_R01_2022-10-07.pdf (New default bootloader, based on testbench configuration)]]<br />
<br />
== Downloads ==<br />
* [https://github.com/dh-electronics/kas-dhsom/releases/tag/2023-08-28 DH Mainline based starter image 2023-09-20 (based on 6.1.54 Linux Kernel)]<br />
<br />
== Documentation ==<br />
* [[media:DOC_Getting-Started-588-200_R04_2023-09-19.pdf|Getting-Started with Avenger96 (R04)]]<br />
* [[media:USM_DHCOR-STM32MP1_R05_2019-12-12.pdf|DHCOR STM32MP1 User Manual R05 <span style="color:#FF0000">'''IMPORTANT: Please have a look at NEW chapter 24. Hardware design checklist'''</span>]]<br />
* More about the STM32 MPU is on the [[Avenger96#Links | Links section]]<br />
<br />
== Design Files ==<br />
* [https://www.dropbox.com/s/u8nihe1xd6ysk3v/SCH_588-200-HS00008-public_R07_2019-08-01.pdf?dl=0 Avenger96 Schematic]<br />
* [https://www.dropbox.com/s/1gyb53slm50uu80/BOM_588-200-HS00008-public_R07_2019-08-01.xlsx?dl=0 Avenger96 Bill of Material]<br />
* [https://www.dropbox.com/s/78otmzqqbw0fkio/588-200_TOP_ASSEMBLY__R04_2019-04-12.pdf?dl=0 Avenger96 Assembly Top]<br />
* [https://www.dropbox.com/s/su226xkonru494t/588-200_BOTTOM_ASSEMBLY__R04_2019-04-12.pdf?dl=0 Avenger96 Assembly Bottom]<br />
* [https://www.dropbox.com/s/orku1po5d7gywwd/BRD_588-200-with-DHCOR_2020-06-22.STEP?dl=1 Avenger96 3D STEP file]<br />
* [https://www.dropbox.com/s/yjx9l0qj9ja0de8/DHCOR-STM32MP1-Design-Symbols_2019-10-16.zip?dl=0 DHCOR STM32MP1 Allegro/Orcad schematic and layout symbols (release date: 16.10.2019) '''Now with Allegro *.brd file and 3D information''']<br />
* [https://www.dropbox.com/s/s4n5j9wzhhrv6so/DHCOR_STM32MP1_3D_STEP_586-100_R02.zip?dl=0 DHCOR STM32MP1 3D STEP file]<br />
* [[media:Stm32mp15xx-dhcor-avenger96_2023-04-18.zip | Avenger96 CubeMX configuration (release date: 18.04.2023)]]<br />
<br />
== Software ==<br />
=== DH Mainline based Linux ===<br />
* [https://github.com/dh-electronics/kas-dhsom Build your own Yocto Kirkstone LTS via kas (GitHub)]<br />
* [https://github.com/dh-electronics/meta-dhsom-stm32-bsp Yocto BSP meta layer (Github)]<br />
* [[Default Bootloader "stm32mp15xx-dhcor-testbench" | Default Bootloader "stm32mp15xx-dhcor-testbench" programmed with delivered DHCOR module]]<br />
* [[DHCOR_STM32MP1_Linux| Linux and bootloader documentation]]<br />
:<span style="color:#008000">'''NEW How to start with custom DHCOR design?'''</span> <br />
:The patch below is an example patch which applies on top of u-boot v2021.01 and implements a custom board derived from 3V3 option of DHCOR STM32MP1 SoM. That's pretty much all you have to change to implement the board. But, please tweak the DTs esp. where there are the FIXME comments.<br />
:[https://www.dropbox.com/s/zg6f9h1vms6lxdg/0001-ARM-dts-stm32-Add-DHCOR-based-FOO-board-u-boot-v2021.01.patch?dl=0 '''NEW''' 0001-ARM-dts-stm32-Add-DHCOR-based-FOO-board-u-boot-v2021.01.patch]<br />
* [[Add Yocto SDK with QT5 to QT Creator | Start with Qt]]<br />
* [[Debugging_M4_on_STM32MP15xxxx|STM32MP1: Debugging M4]]<br />
* [https://wiki.dh-electronics.com/index.php/STM32MP1_Browser_Performance STM32MP1 Browser Performance]<br />
* [[DHSOM device tree structure | DHSOM device tree structure]]<br />
<br />
=== OpenSTLinux ===<br />
: <span style="color:#FF0000"> '''This project is NOT maintained from DH electronics!!! Please use the "DH Mainline based Linux" version for your project. The OpenSTLinux should only be used for testing!!!'''</span> <br />
* '''Info:''' <br />
:- Based on OpenSTLinux v3.0<br />
:- GPU support based on original vivante GPU driver.<br />
:- Based on kernel 5.10.x and Yocto version dunfell<br />
* [https://github.com/dh-electronics/manifest-av96 Yocto meta layer (Github)]<br />
:DH electronics Github contains the meta-av96 layer for ST SDK. Please see readme.txt which describes the build process.<br />
<br />
* [https://www.dropbox.com/s/5c8s7sxtienyfip/Avenger96_v7.0_2021-10-29.img.zip?dl=0 OpenSTLinux-3.0 based on Yocto Dunfell LTS and Linux 5.10.10 - v7.0 Starter Image] (Supported by Arrow Electronics) <br />
:[[Starter Image Changelog]]<br />
: This Image includes four different bootmodes to support some additional mezzanine boars. [https://wiki.dh-electronics.com/index.php/Starter_Image_Bootmode Click here to learn, how to change them.]<br />
<br />
:'''X-LINUX-AI OpenSTLinux Expansion Package:''' Description: Expansion Package that targets artificial intelligence for STM32MP1 Series devices.<br />
* [https://wiki.st.com/stm32mpu/wiki/X-LINUX-AI_OpenSTLinux_Expansion_Package '''NEW''' X-LINUX-AI OpenSTLinux Expansion Package]<br />
* [https://wiki.st.com/stm32mpu/wiki/How_to_install_X-LINUX-AI_v2.0.0_on_Avenger96_board '''NEW''' How to install X-LINUX-AI v2.0.0 on Avenger96 board]<br />
<br />
== Useful instructions ==<br />
==== How to test OV5640 camera ==== <br />
To use the D3 mezzanine board with AV96 and the OV5640 camera, one has to apply the correct DTO first:<br />
STM32MP> setenv loaddtos '#conf-stm32mp157a-avenger96.dtb#conf-stm32mp15xx-avenger96-overlay-ov5640-x7.dtbo'; boot<br />
<br />
Afterward it is possible to stream frames from the camera:<br />
$ XDG_RUNTIME_DIR=/var/run/user/$(id -u weston)/ gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,width=1280,height=720 ! queue ! waylandsink<br />
<br />
==== How to load U-Boot with dfu-util ==== <br />
*[[U-Boot recovery for STM32MP1 DHSOM via DFU |U-Boot recovery for STM32MP1 DHSOM via DFU]]<br />
<br />
==== SPI Flash and eMMC Image Programming via UMS (universal mass storage) ====<br />
*[[Avenger96 UMS Image Programming | Avenger96 UMS Image Programming]]<br />
<br />
==== SPI Flash and eMMC Image Programming via Cube Programmer (OLD) ====<br />
*[[Avenger96 Image Programming | Avenger96 Image Programming]]<br />
<br />
== Mezzanine Boards by DH electronics ==<br />
<br />
==== DSI Display Adaptor Board ====<br />
You can easily add an DSI display to your Avenger96 with the help of the DSI Display Adaptor Board. <br />
The display can be activated easily on our Mainline Image with a device tree overlay as described [[DHCOR_STM32MP1_Linux| here]]. <br />
To get one of the boards, simply reach out to us and we'll prepare one for you.<br />
<br />
[[File:DSI Display Adaptor Board.jpg|400px|DSI Display Adaptor Board]]<br />
<br />
== Links ==<br />
* [https://wiki.st.com/stm32mpu/wiki/Main_Page STM32 MPU wiki]<br />
* [https://wiki.st.com/stm32mpu/wiki/Category:Device_tree_configuration STM32 MPU wiki - Device tree configuration]<br />
* [https://wiki.st.com/stm32mpu/index.php/STM32MP15_resources STM32MP15 resources]<br />
* [https://www.96boards.org 96Boards]</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=Avenger96&diff=3848
Avenger96
2023-09-21T15:48:49Z
<p>Christoph: /* Software */</p>
<hr />
<div>'''The Avenger96 board is the official DHCOR STM32MP1 reference design!'''<br />
<br />
{|<br />
|<br />
|<br />
|-<br />
|__TOC__<br />
|[[Image:Avenger96Board.png|600px|COM Avenger96Board]]<br />
|}<br />
<br />
== Introduction ==<br />
The AVENGER Board is a 96Boards compliant consumer edition board based on the STM32MP15 series of SoCs. The STM32MP15 series <br />
is a highly integrated multi-market applications processor designed to enable secure and portable applications within the Internet of Things. <br />
AVENGER board features Dual-core Arm® Cortex®-A7 processors operating at up to 650 MHz, Single core Arm® Cortex® M4 operating up to <br />
209 MHz. In addition, an extensive set of interfaces and connectivity peripherals are included to interface to cameras, touch-screen displays, <br />
MMC/SD cards and media processor engine. It also fully supports wireless communication, including WLAN and BLE.<br />
<br />
== Technical Details ==<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''STM32MP157AAC<br />
**2x ARM® Cortex-A7 up to 650 MHz<br />
**1x ARM® Cortex-M4 up to 209 MHz <br />
'''<br />
*'''GPU''' 1x 3D GPU Vivante® @ 533 MHz - OpenGL® ES 2.0<br />
*'''PMIC''' STPMIC1A<br />
*'''DDR3 DRAM''' 1024 Mbyte @ 533 MHz<br />
*'''eMMC Flash''' 8 Gbyte, v4.51 interface<br />
*'''NOR Flash''' 2 Mbyte, Quad SPI interface<br />
*'''EEPROM''' 128 byte<br />
*'''microSD Socket''' UHS-I speed grade, v3.01<br />
*'''USB Host''' 2x type A, 2.0 high-speed<br />
*'''USB OTG''' 1x type micro-AB, 2.0 high-speed<br />
*'''HDMI''' WXGA (1366x768) @ 60 fps, HDMI 1.4<br />
*'''WiFi / Bluetooth''' <br />
**WiFi 5 GHz & 2.4GHz IEEE 802.11a / b / g / n / ac<br />
**Bluetooth® v4.2 (BR/EDR/BLE)<br />
**PCB antenna<br />
*'''Ethernet''' 10 / 100 / 1000 Mbit/s, IEEE 802.3-compliant<br />
|valign="top" style="border: 0pt;" |<br />
*'''Push-Buttons''' Power and reset<br />
*'''Battery Socket''' CR1216, CR1220 and CR1225<br />
*'''LEDs'''<br />
**4x green user controlled LEDs <br />
**1x blue Bluetooth enabled <br />
**1x yellow WiFi enabled<br />
**1x red power supply okay<br />
*'''Boot Mode''' 3 bit boot mode switch<br />
*'''Debug Interface''' JTAG interface via tag-connect<br />
*'''Supply (SYS_DCIN)''' 8 - 18 VDC<br />
*'''Temperature Range''' 0 - 40 °C<br />
*'''Dimensions ''' 100 x 85 mm<br />
*'''Expansion Connectors''' <br />
**2 x UART<br />
**2 x I2C<br />
**1 x I2S<br />
**1 x SPI<br />
**12 x GPIOs (also useable as 2x CAN, 2x ADC)<br />
**1 x MIPI-CSI2<br />
**1 x MIPI-DSI<br />
|}<br />
<br />
== Product Change Notifications (PCN) ==<br />
==== DHCOR STM32MP15====<br />
* [[media:PCN_DHCOR-STM32MP1-001_R01_2022-10-07.pdf|PCN_DHCOR-STM32MP1-001_R01_2022-10-07.pdf (New default bootloader, based on testbench configuration)]]<br />
<br />
== Downloads ==<br />
* [https://github.com/dh-electronics/kas-dhsom/releases/tag/2023-08-28 DH Mainline based starter image 2023-09-20 (based on 6.1.54 Linux Kernel)]<br />
<br />
== Documentation ==<br />
* [[media:DOC_Getting-Started-588-200_R04_2023-09-19.pdf|Getting-Started with Avenger96 (R04)]]<br />
* [[media:USM_DHCOR-STM32MP1_R05_2019-12-12.pdf|DHCOR STM32MP1 User Manual R05 <span style="color:#FF0000">'''IMPORTANT: Please have a look at NEW chapter 24. Hardware design checklist'''</span>]]<br />
* More about the STM32 MPU is on the [[Avenger96#Links | Links section]]<br />
<br />
== Design Files ==<br />
* [https://www.dropbox.com/s/u8nihe1xd6ysk3v/SCH_588-200-HS00008-public_R07_2019-08-01.pdf?dl=0 Avenger96 Schematic]<br />
* [https://www.dropbox.com/s/1gyb53slm50uu80/BOM_588-200-HS00008-public_R07_2019-08-01.xlsx?dl=0 Avenger96 Bill of Material]<br />
* [https://www.dropbox.com/s/78otmzqqbw0fkio/588-200_TOP_ASSEMBLY__R04_2019-04-12.pdf?dl=0 Avenger96 Assembly Top]<br />
* [https://www.dropbox.com/s/su226xkonru494t/588-200_BOTTOM_ASSEMBLY__R04_2019-04-12.pdf?dl=0 Avenger96 Assembly Bottom]<br />
* [https://www.dropbox.com/s/orku1po5d7gywwd/BRD_588-200-with-DHCOR_2020-06-22.STEP?dl=1 Avenger96 3D STEP file]<br />
* [https://www.dropbox.com/s/yjx9l0qj9ja0de8/DHCOR-STM32MP1-Design-Symbols_2019-10-16.zip?dl=0 DHCOR STM32MP1 Allegro/Orcad schematic and layout symbols (release date: 16.10.2019) '''Now with Allegro *.brd file and 3D information''']<br />
* [https://www.dropbox.com/s/s4n5j9wzhhrv6so/DHCOR_STM32MP1_3D_STEP_586-100_R02.zip?dl=0 DHCOR STM32MP1 3D STEP file]<br />
* [[media:Stm32mp15xx-dhcor-avenger96_2023-04-18.zip | Avenger96 CubeMX configuration (release date: 18.04.2023)]]<br />
<br />
== Software ==<br />
=== DH Mainline based Linux ===<br />
* [https://github.com/dh-electronics/kas-dhsom Build your own Yocto Kirkstone LTS via kas (GitHub)]<br />
* [https://github.com/dh-electronics/meta-dhsom-stm32-bsp Yocto BSP meta layer (Github)]<br />
* [[Default Bootloader "stm32mp15xx-dhcor-testbench" | Default Bootloader "stm32mp15xx-dhcor-testbench" programmed with delivered DHCOR module]]<br />
* [[DHCOR_STM32MP1_Linux| Linux and bootloader documentation]]<br />
:<span style="color:#008000">'''NEW How to start with custom DHCOR design?'''</span> <br />
:The patch below is an example patch which applies on top of u-boot v2021.01 and implements a custom board derived from 3V3 option of DHCOR STM32MP1 SoM. That's pretty much all you have to change to implement the board. But, please tweak the DTs esp. where there are the FIXME comments.<br />
:[https://www.dropbox.com/s/zg6f9h1vms6lxdg/0001-ARM-dts-stm32-Add-DHCOR-based-FOO-board-u-boot-v2021.01.patch?dl=0 '''NEW''' 0001-ARM-dts-stm32-Add-DHCOR-based-FOO-board-u-boot-v2021.01.patch]<br />
* [[Add Yocto SDK with QT5 to QT Creator | Start with Qt]]<br />
* [[Debugging_M4_on_STM32MP15xxxx|STM32MP1: Debugging M4]]<br />
* [https://wiki.dh-electronics.com/index.php/STM32MP1_Browser_Performance STM32MP1 Browser Performance]<br />
* [[DHSOM device tree structure | DHSOM device tree structure]]<br />
<br />
=== OpenSTLinux ===<br />
: <span style="color:#FF0000"> '''This project is NOT maintained from DH electronics!!! Please use the "DH Mainline based Linux" version for your project. The OpenSTLinux should only be used for testing!!!'''</span> <br />
* '''Info:''' <br />
:- Based on OpenSTLinux v3.0<br />
:- GPU support based on original vivante GPU driver.<br />
:- Based on kernel 5.10.x and Yocto version dunfell<br />
* [https://github.com/dh-electronics/manifest-av96 Yocto meta layer (Github)]<br />
:DH electronics Github contains the meta-av96 layer for ST SDK. Please see readme.txt which describes the build process.<br />
<br />
* [https://www.dropbox.com/s/5c8s7sxtienyfip/Avenger96_v7.0_2021-10-29.img.zip?dl=0 OpenSTLinux-3.0 based on Yocto Dunfell LTS and Linux 5.10.10 - v7.0 Starter Image] (Supported by Arrow Electronics) <br />
:[[Starter Image Changelog]]<br />
: This Image includes four different bootmodes to support some additional mezzanine boars. [https://wiki.dh-electronics.com/index.php/Starter_Image_Bootmode Click here to learn, how to change them.]<br />
<br />
:'''X-LINUX-AI OpenSTLinux Expansion Package:''' Description: Expansion Package that targets artificial intelligence for STM32MP1 Series devices.<br />
* [https://wiki.st.com/stm32mpu/wiki/X-LINUX-AI_OpenSTLinux_Expansion_Package '''NEW''' X-LINUX-AI OpenSTLinux Expansion Package]<br />
* [https://wiki.st.com/stm32mpu/wiki/How_to_install_X-LINUX-AI_v2.0.0_on_Avenger96_board '''NEW''' How to install X-LINUX-AI v2.0.0 on Avenger96 board]<br />
<br />
== Useful instructions ==<br />
==== How to test OV5640 camera ==== <br />
To use the D3 mezzanine board with AV96 and the OV5640 camera, one has to apply the correct DTO first:<br />
STM32MP> setenv loaddtos '#conf-stm32mp157a-avenger96.dtb#conf-stm32mp15xx-avenger96-overlay-ov5640-x7.dtbo'; boot<br />
<br />
Afterward it is possible to stream frames from the camera:<br />
$ XDG_RUNTIME_DIR=/var/run/user/$(id -u weston)/ gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,width=1280,height=720 ! queue ! waylandsink<br />
<br />
==== How to load U-Boot with dfu-util ==== <br />
*[[U-Boot recovery for STM32MP1 DHSOM via DFU |U-Boot recovery for STM32MP1 DHSOM via DFU]]<br />
<br />
==== SPI Flash and eMMC Image Programming via UMS (universal mass storage) ====<br />
*[[Avenger96 UMS Image Programming | Avenger96 UMS Image Programming]]<br />
<br />
==== SPI Flash and eMMC Image Programming via Cube Programmer (OLD) ====<br />
*[[Avenger96 Image Programming | Avenger96 Image Programming]]<br />
<br />
== Mezzanine Boards by DH electronics ==<br />
<br />
==== DSI Display Adaptor Board ====<br />
[[File:DSI Display Adaptor Board.jpg|thumb|DSI Display Adaptor Board]]<br />
You can easily add an DSI display to your Avenger96 with the help of the DSI Display Adaptor Board. <br />
The display can be activated easily on our Mainline Image with a device tree overlay as described [[DHCOR_STM32MP1_Linux| here]]. <br />
To get one of the boards, simply reach out to us and we'll prepare one for you.<br />
<br />
== Links ==<br />
* [https://wiki.st.com/stm32mpu/wiki/Main_Page STM32 MPU wiki]<br />
* [https://wiki.st.com/stm32mpu/wiki/Category:Device_tree_configuration STM32 MPU wiki - Device tree configuration]<br />
* [https://wiki.st.com/stm32mpu/index.php/STM32MP15_resources STM32MP15 resources]<br />
* [https://www.96boards.org 96Boards]</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=Avenger96&diff=3847
Avenger96
2023-09-21T15:47:50Z
<p>Christoph: /* Software */</p>
<hr />
<div>'''The Avenger96 board is the official DHCOR STM32MP1 reference design!'''<br />
<br />
{|<br />
|<br />
|<br />
|-<br />
|__TOC__<br />
|[[Image:Avenger96Board.png|600px|COM Avenger96Board]]<br />
|}<br />
<br />
== Introduction ==<br />
The AVENGER Board is a 96Boards compliant consumer edition board based on the STM32MP15 series of SoCs. The STM32MP15 series <br />
is a highly integrated multi-market applications processor designed to enable secure and portable applications within the Internet of Things. <br />
AVENGER board features Dual-core Arm® Cortex®-A7 processors operating at up to 650 MHz, Single core Arm® Cortex® M4 operating up to <br />
209 MHz. In addition, an extensive set of interfaces and connectivity peripherals are included to interface to cameras, touch-screen displays, <br />
MMC/SD cards and media processor engine. It also fully supports wireless communication, including WLAN and BLE.<br />
<br />
== Technical Details ==<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''STM32MP157AAC<br />
**2x ARM® Cortex-A7 up to 650 MHz<br />
**1x ARM® Cortex-M4 up to 209 MHz <br />
'''<br />
*'''GPU''' 1x 3D GPU Vivante® @ 533 MHz - OpenGL® ES 2.0<br />
*'''PMIC''' STPMIC1A<br />
*'''DDR3 DRAM''' 1024 Mbyte @ 533 MHz<br />
*'''eMMC Flash''' 8 Gbyte, v4.51 interface<br />
*'''NOR Flash''' 2 Mbyte, Quad SPI interface<br />
*'''EEPROM''' 128 byte<br />
*'''microSD Socket''' UHS-I speed grade, v3.01<br />
*'''USB Host''' 2x type A, 2.0 high-speed<br />
*'''USB OTG''' 1x type micro-AB, 2.0 high-speed<br />
*'''HDMI''' WXGA (1366x768) @ 60 fps, HDMI 1.4<br />
*'''WiFi / Bluetooth''' <br />
**WiFi 5 GHz & 2.4GHz IEEE 802.11a / b / g / n / ac<br />
**Bluetooth® v4.2 (BR/EDR/BLE)<br />
**PCB antenna<br />
*'''Ethernet''' 10 / 100 / 1000 Mbit/s, IEEE 802.3-compliant<br />
|valign="top" style="border: 0pt;" |<br />
*'''Push-Buttons''' Power and reset<br />
*'''Battery Socket''' CR1216, CR1220 and CR1225<br />
*'''LEDs'''<br />
**4x green user controlled LEDs <br />
**1x blue Bluetooth enabled <br />
**1x yellow WiFi enabled<br />
**1x red power supply okay<br />
*'''Boot Mode''' 3 bit boot mode switch<br />
*'''Debug Interface''' JTAG interface via tag-connect<br />
*'''Supply (SYS_DCIN)''' 8 - 18 VDC<br />
*'''Temperature Range''' 0 - 40 °C<br />
*'''Dimensions ''' 100 x 85 mm<br />
*'''Expansion Connectors''' <br />
**2 x UART<br />
**2 x I2C<br />
**1 x I2S<br />
**1 x SPI<br />
**12 x GPIOs (also useable as 2x CAN, 2x ADC)<br />
**1 x MIPI-CSI2<br />
**1 x MIPI-DSI<br />
|}<br />
<br />
== Product Change Notifications (PCN) ==<br />
==== DHCOR STM32MP15====<br />
* [[media:PCN_DHCOR-STM32MP1-001_R01_2022-10-07.pdf|PCN_DHCOR-STM32MP1-001_R01_2022-10-07.pdf (New default bootloader, based on testbench configuration)]]<br />
<br />
== Downloads ==<br />
* [https://github.com/dh-electronics/kas-dhsom/releases/tag/2023-08-28 DH Mainline based starter image 2023-09-20 (based on 6.1.54 Linux Kernel)]<br />
<br />
== Documentation ==<br />
* [[media:DOC_Getting-Started-588-200_R04_2023-09-19.pdf|Getting-Started with Avenger96 (R04)]]<br />
* [[media:USM_DHCOR-STM32MP1_R05_2019-12-12.pdf|DHCOR STM32MP1 User Manual R05 <span style="color:#FF0000">'''IMPORTANT: Please have a look at NEW chapter 24. Hardware design checklist'''</span>]]<br />
* More about the STM32 MPU is on the [[Avenger96#Links | Links section]]<br />
<br />
== Design Files ==<br />
* [https://www.dropbox.com/s/u8nihe1xd6ysk3v/SCH_588-200-HS00008-public_R07_2019-08-01.pdf?dl=0 Avenger96 Schematic]<br />
* [https://www.dropbox.com/s/1gyb53slm50uu80/BOM_588-200-HS00008-public_R07_2019-08-01.xlsx?dl=0 Avenger96 Bill of Material]<br />
* [https://www.dropbox.com/s/78otmzqqbw0fkio/588-200_TOP_ASSEMBLY__R04_2019-04-12.pdf?dl=0 Avenger96 Assembly Top]<br />
* [https://www.dropbox.com/s/su226xkonru494t/588-200_BOTTOM_ASSEMBLY__R04_2019-04-12.pdf?dl=0 Avenger96 Assembly Bottom]<br />
* [https://www.dropbox.com/s/orku1po5d7gywwd/BRD_588-200-with-DHCOR_2020-06-22.STEP?dl=1 Avenger96 3D STEP file]<br />
* [https://www.dropbox.com/s/yjx9l0qj9ja0de8/DHCOR-STM32MP1-Design-Symbols_2019-10-16.zip?dl=0 DHCOR STM32MP1 Allegro/Orcad schematic and layout symbols (release date: 16.10.2019) '''Now with Allegro *.brd file and 3D information''']<br />
* [https://www.dropbox.com/s/s4n5j9wzhhrv6so/DHCOR_STM32MP1_3D_STEP_586-100_R02.zip?dl=0 DHCOR STM32MP1 3D STEP file]<br />
* [[media:Stm32mp15xx-dhcor-avenger96_2023-04-18.zip | Avenger96 CubeMX configuration (release date: 18.04.2023)]]<br />
<br />
== Software ==<br />
=== DH Mainline based Linux ===<br />
* [https://github.com/dh-electronics/kas-dhsom Build your own Yocto via kas (GitHub)]<br />
* [https://github.com/dh-electronics/meta-dhsom-stm32-bsp Yocto BSP meta layer (Github)]<br />
* [[Default Bootloader "stm32mp15xx-dhcor-testbench" | Default Bootloader "stm32mp15xx-dhcor-testbench" programmed with delivered DHCOR module]]<br />
* [[DHCOR_STM32MP1_Linux| Linux and bootloader documentation]]<br />
:<span style="color:#008000">'''NEW How to start with custom DHCOR design?'''</span> <br />
:The patch below is an example patch which applies on top of u-boot v2021.01 and implements a custom board derived from 3V3 option of DHCOR STM32MP1 SoM. That's pretty much all you have to change to implement the board. But, please tweak the DTs esp. where there are the FIXME comments.<br />
:[https://www.dropbox.com/s/zg6f9h1vms6lxdg/0001-ARM-dts-stm32-Add-DHCOR-based-FOO-board-u-boot-v2021.01.patch?dl=0 '''NEW''' 0001-ARM-dts-stm32-Add-DHCOR-based-FOO-board-u-boot-v2021.01.patch]<br />
* [[Add Yocto SDK with QT5 to QT Creator | Start with Qt]]<br />
* [[Debugging_M4_on_STM32MP15xxxx|STM32MP1: Debugging M4]]<br />
* [https://wiki.dh-electronics.com/index.php/STM32MP1_Browser_Performance STM32MP1 Browser Performance]<br />
* [[DHSOM device tree structure | DHSOM device tree structure]]<br />
<br />
=== OpenSTLinux ===<br />
: <span style="color:#FF0000"> '''This project is NOT maintained from DH electronics!!! Please use the "DH Mainline based Linux" version for your project. The OpenSTLinux should only be used for testing!!!'''</span> <br />
* '''Info:''' <br />
:- Based on OpenSTLinux v3.0<br />
:- GPU support based on original vivante GPU driver.<br />
:- Based on kernel 5.10.x and Yocto version dunfell<br />
* [https://github.com/dh-electronics/manifest-av96 Yocto meta layer (Github)]<br />
:DH electronics Github contains the meta-av96 layer for ST SDK. Please see readme.txt which describes the build process.<br />
<br />
* [https://www.dropbox.com/s/5c8s7sxtienyfip/Avenger96_v7.0_2021-10-29.img.zip?dl=0 OpenSTLinux-3.0 based on Yocto Dunfell LTS and Linux 5.10.10 - v7.0 Starter Image] (Supported by Arrow Electronics) <br />
:[[Starter Image Changelog]]<br />
: This Image includes four different bootmodes to support some additional mezzanine boars. [https://wiki.dh-electronics.com/index.php/Starter_Image_Bootmode Click here to learn, how to change them.]<br />
<br />
:'''X-LINUX-AI OpenSTLinux Expansion Package:''' Description: Expansion Package that targets artificial intelligence for STM32MP1 Series devices.<br />
* [https://wiki.st.com/stm32mpu/wiki/X-LINUX-AI_OpenSTLinux_Expansion_Package '''NEW''' X-LINUX-AI OpenSTLinux Expansion Package]<br />
* [https://wiki.st.com/stm32mpu/wiki/How_to_install_X-LINUX-AI_v2.0.0_on_Avenger96_board '''NEW''' How to install X-LINUX-AI v2.0.0 on Avenger96 board]<br />
<br />
== Useful instructions ==<br />
==== How to test OV5640 camera ==== <br />
To use the D3 mezzanine board with AV96 and the OV5640 camera, one has to apply the correct DTO first:<br />
STM32MP> setenv loaddtos '#conf-stm32mp157a-avenger96.dtb#conf-stm32mp15xx-avenger96-overlay-ov5640-x7.dtbo'; boot<br />
<br />
Afterward it is possible to stream frames from the camera:<br />
$ XDG_RUNTIME_DIR=/var/run/user/$(id -u weston)/ gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,width=1280,height=720 ! queue ! waylandsink<br />
<br />
==== How to load U-Boot with dfu-util ==== <br />
*[[U-Boot recovery for STM32MP1 DHSOM via DFU |U-Boot recovery for STM32MP1 DHSOM via DFU]]<br />
<br />
==== SPI Flash and eMMC Image Programming via UMS (universal mass storage) ====<br />
*[[Avenger96 UMS Image Programming | Avenger96 UMS Image Programming]]<br />
<br />
==== SPI Flash and eMMC Image Programming via Cube Programmer (OLD) ====<br />
*[[Avenger96 Image Programming | Avenger96 Image Programming]]<br />
<br />
== Mezzanine Boards by DH electronics ==<br />
<br />
==== DSI Display Adaptor Board ====<br />
[[File:DSI Display Adaptor Board.jpg|thumb|DSI Display Adaptor Board]]<br />
You can easily add an DSI display to your Avenger96 with the help of the DSI Display Adaptor Board. <br />
The display can be activated easily on our Mainline Image with a device tree overlay as described [[DHCOR_STM32MP1_Linux| here]]. <br />
To get one of the boards, simply reach out to us and we'll prepare one for you.<br />
<br />
== Links ==<br />
* [https://wiki.st.com/stm32mpu/wiki/Main_Page STM32 MPU wiki]<br />
* [https://wiki.st.com/stm32mpu/wiki/Category:Device_tree_configuration STM32 MPU wiki - Device tree configuration]<br />
* [https://wiki.st.com/stm32mpu/index.php/STM32MP15_resources STM32MP15 resources]<br />
* [https://www.96boards.org 96Boards]</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=Avenger96&diff=3846
Avenger96
2023-09-21T15:42:07Z
<p>Christoph: /* Links */</p>
<hr />
<div>'''The Avenger96 board is the official DHCOR STM32MP1 reference design!'''<br />
<br />
{|<br />
|<br />
|<br />
|-<br />
|__TOC__<br />
|[[Image:Avenger96Board.png|600px|COM Avenger96Board]]<br />
|}<br />
<br />
== Introduction ==<br />
The AVENGER Board is a 96Boards compliant consumer edition board based on the STM32MP15 series of SoCs. The STM32MP15 series <br />
is a highly integrated multi-market applications processor designed to enable secure and portable applications within the Internet of Things. <br />
AVENGER board features Dual-core Arm® Cortex®-A7 processors operating at up to 650 MHz, Single core Arm® Cortex® M4 operating up to <br />
209 MHz. In addition, an extensive set of interfaces and connectivity peripherals are included to interface to cameras, touch-screen displays, <br />
MMC/SD cards and media processor engine. It also fully supports wireless communication, including WLAN and BLE.<br />
<br />
== Technical Details ==<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''STM32MP157AAC<br />
**2x ARM® Cortex-A7 up to 650 MHz<br />
**1x ARM® Cortex-M4 up to 209 MHz <br />
'''<br />
*'''GPU''' 1x 3D GPU Vivante® @ 533 MHz - OpenGL® ES 2.0<br />
*'''PMIC''' STPMIC1A<br />
*'''DDR3 DRAM''' 1024 Mbyte @ 533 MHz<br />
*'''eMMC Flash''' 8 Gbyte, v4.51 interface<br />
*'''NOR Flash''' 2 Mbyte, Quad SPI interface<br />
*'''EEPROM''' 128 byte<br />
*'''microSD Socket''' UHS-I speed grade, v3.01<br />
*'''USB Host''' 2x type A, 2.0 high-speed<br />
*'''USB OTG''' 1x type micro-AB, 2.0 high-speed<br />
*'''HDMI''' WXGA (1366x768) @ 60 fps, HDMI 1.4<br />
*'''WiFi / Bluetooth''' <br />
**WiFi 5 GHz & 2.4GHz IEEE 802.11a / b / g / n / ac<br />
**Bluetooth® v4.2 (BR/EDR/BLE)<br />
**PCB antenna<br />
*'''Ethernet''' 10 / 100 / 1000 Mbit/s, IEEE 802.3-compliant<br />
|valign="top" style="border: 0pt;" |<br />
*'''Push-Buttons''' Power and reset<br />
*'''Battery Socket''' CR1216, CR1220 and CR1225<br />
*'''LEDs'''<br />
**4x green user controlled LEDs <br />
**1x blue Bluetooth enabled <br />
**1x yellow WiFi enabled<br />
**1x red power supply okay<br />
*'''Boot Mode''' 3 bit boot mode switch<br />
*'''Debug Interface''' JTAG interface via tag-connect<br />
*'''Supply (SYS_DCIN)''' 8 - 18 VDC<br />
*'''Temperature Range''' 0 - 40 °C<br />
*'''Dimensions ''' 100 x 85 mm<br />
*'''Expansion Connectors''' <br />
**2 x UART<br />
**2 x I2C<br />
**1 x I2S<br />
**1 x SPI<br />
**12 x GPIOs (also useable as 2x CAN, 2x ADC)<br />
**1 x MIPI-CSI2<br />
**1 x MIPI-DSI<br />
|}<br />
<br />
== Product Change Notifications (PCN) ==<br />
==== DHCOR STM32MP15====<br />
* [[media:PCN_DHCOR-STM32MP1-001_R01_2022-10-07.pdf|PCN_DHCOR-STM32MP1-001_R01_2022-10-07.pdf (New default bootloader, based on testbench configuration)]]<br />
<br />
== Downloads ==<br />
* [https://github.com/dh-electronics/kas-dhsom/releases/tag/2023-08-28 DH Mainline based starter image 2023-09-20 (based on 6.1.54 Linux Kernel)]<br />
<br />
== Documentation ==<br />
* [[media:DOC_Getting-Started-588-200_R04_2023-09-19.pdf|Getting-Started with Avenger96 (R04)]]<br />
* [[media:USM_DHCOR-STM32MP1_R05_2019-12-12.pdf|DHCOR STM32MP1 User Manual R05 <span style="color:#FF0000">'''IMPORTANT: Please have a look at NEW chapter 24. Hardware design checklist'''</span>]]<br />
* More about the STM32 MPU is on the [[Avenger96#Links | Links section]]<br />
<br />
== Design Files ==<br />
* [https://www.dropbox.com/s/u8nihe1xd6ysk3v/SCH_588-200-HS00008-public_R07_2019-08-01.pdf?dl=0 Avenger96 Schematic]<br />
* [https://www.dropbox.com/s/1gyb53slm50uu80/BOM_588-200-HS00008-public_R07_2019-08-01.xlsx?dl=0 Avenger96 Bill of Material]<br />
* [https://www.dropbox.com/s/78otmzqqbw0fkio/588-200_TOP_ASSEMBLY__R04_2019-04-12.pdf?dl=0 Avenger96 Assembly Top]<br />
* [https://www.dropbox.com/s/su226xkonru494t/588-200_BOTTOM_ASSEMBLY__R04_2019-04-12.pdf?dl=0 Avenger96 Assembly Bottom]<br />
* [https://www.dropbox.com/s/orku1po5d7gywwd/BRD_588-200-with-DHCOR_2020-06-22.STEP?dl=1 Avenger96 3D STEP file]<br />
* [https://www.dropbox.com/s/yjx9l0qj9ja0de8/DHCOR-STM32MP1-Design-Symbols_2019-10-16.zip?dl=0 DHCOR STM32MP1 Allegro/Orcad schematic and layout symbols (release date: 16.10.2019) '''Now with Allegro *.brd file and 3D information''']<br />
* [https://www.dropbox.com/s/s4n5j9wzhhrv6so/DHCOR_STM32MP1_3D_STEP_586-100_R02.zip?dl=0 DHCOR STM32MP1 3D STEP file]<br />
* [[media:Stm32mp15xx-dhcor-avenger96_2023-04-18.zip | Avenger96 CubeMX configuration (release date: 18.04.2023)]]<br />
<br />
== Software ==<br />
=== DH Mainline based Linux ===<br />
* [https://github.com/dh-electronics/kas-dhsom Build your own Yocto via kas (GitHub)]<br />
* [https://github.com/dh-electronics/meta-dhsom-stm32-bsp Yocto BSP meta layer (Github)]<br />
<br />
* [[Default Bootloader "stm32mp15xx-dhcor-testbench" | Default Bootloader "stm32mp15xx-dhcor-testbench" programmed with delivered DHCOR module]]<br />
* [[DHCOR_STM32MP1_Linux| Linux and bootloader documentation]]<br />
:<span style="color:#008000">'''NEW How to start with custom DHCOR design?'''</span> <br />
:The patch below is an example patch which applies on top of u-boot v2021.01 and implements a custom board derived from 3V3 option of DHCOR STM32MP1 SoM. That's pretty much all you have to change to implement the board. But, please tweak the DTs esp. where there are the FIXME comments.<br />
:[https://www.dropbox.com/s/zg6f9h1vms6lxdg/0001-ARM-dts-stm32-Add-DHCOR-based-FOO-board-u-boot-v2021.01.patch?dl=0 '''NEW''' 0001-ARM-dts-stm32-Add-DHCOR-based-FOO-board-u-boot-v2021.01.patch]<br />
* [[Add Yocto SDK with QT5 to QT Creator | Start with Qt]]<br />
* [[Debugging_M4_on_STM32MP15xxxx|STM32MP1: Debugging M4]]<br />
* [https://wiki.dh-electronics.com/index.php/STM32MP1_Browser_Performance STM32MP1 Browser Performance]<br />
* [[DHSOM device tree structure | DHSOM device tree structure]]<br />
<br />
=== Debian ===<br />
* [https://www.dropbox.com/s/xvydm33ky97brt8/HD00066_Debian-Buster-Avenger96_2021-09-30.img.xz?dl=0 '''NEW''' Debian Buster Starter Image (based on 5.10 kernel)]<br />
:login: root <br />
:password: foo<br />
<br />
=== OpenSTLinux ===<br />
<span style="color:#800000"> '''!!! This project is NOT maintained from DH electronics!!! --> Please use the "DH Mainline based Linux" version for your project. The OpenSTLinux should only be used for testing !!!'''</span> <br />
:'''Notes:''' <br />
:- Based on OpenSTLinux v3.0<br />
:- GPU support based on original vivante GPU driver.<br />
:- Based on kernel 5.10.x and Yocto version dunfell<br />
* [https://github.com/dh-electronics/manifest-av96 Yocto meta layer --> Github]<br />
:DH electronics Github contains the meta-av96 layer for ST SDK. Please see readme.txt which describes the build process.<br />
<br />
* [https://www.dropbox.com/s/5c8s7sxtienyfip/Avenger96_v7.0_2021-10-29.img.zip?dl=0 OpenSTLinux-3.0 based on Yocto Dunfell LTS and Linux 5.10.10 - v7.0 Starter Image] (Supported by Arrow Electronics) <br />
:[[Starter Image Changelog]]<br />
: This Image includes four different bootmodes to support some additional mezzanine boars. [https://wiki.dh-electronics.com/index.php/Starter_Image_Bootmode Click here to learn, how to change them.]<br />
<br />
:'''X-LINUX-AI OpenSTLinux Expansion Package:''' Description: Expansion Package that targets artificial intelligence for STM32MP1 Series devices.<br />
* [https://wiki.st.com/stm32mpu/wiki/X-LINUX-AI_OpenSTLinux_Expansion_Package '''NEW''' X-LINUX-AI OpenSTLinux Expansion Package]<br />
* [https://wiki.st.com/stm32mpu/wiki/How_to_install_X-LINUX-AI_v2.0.0_on_Avenger96_board '''NEW''' How to install X-LINUX-AI v2.0.0 on Avenger96 board]<br />
<br />
== Useful instructions ==<br />
==== How to test OV5640 camera ==== <br />
To use the D3 mezzanine board with AV96 and the OV5640 camera, one has to apply the correct DTO first:<br />
STM32MP> setenv loaddtos '#conf-stm32mp157a-avenger96.dtb#conf-stm32mp15xx-avenger96-overlay-ov5640-x7.dtbo'; boot<br />
<br />
Afterward it is possible to stream frames from the camera:<br />
$ XDG_RUNTIME_DIR=/var/run/user/$(id -u weston)/ gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,width=1280,height=720 ! queue ! waylandsink<br />
<br />
==== How to load U-Boot with dfu-util ==== <br />
*[[U-Boot recovery for STM32MP1 DHSOM via DFU |U-Boot recovery for STM32MP1 DHSOM via DFU]]<br />
<br />
==== SPI Flash and eMMC Image Programming via UMS (universal mass storage) ====<br />
*[[Avenger96 UMS Image Programming | Avenger96 UMS Image Programming]]<br />
<br />
==== SPI Flash and eMMC Image Programming via Cube Programmer (OLD) ====<br />
*[[Avenger96 Image Programming | Avenger96 Image Programming]]<br />
<br />
== Mezzanine Boards by DH electronics ==<br />
<br />
==== DSI Display Adaptor Board ====<br />
[[File:DSI Display Adaptor Board.jpg|thumb|DSI Display Adaptor Board]]<br />
You can easily add an DSI display to your Avenger96 with the help of the DSI Display Adaptor Board. <br />
The display can be activated easily on our Mainline Image with a device tree overlay as described [[DHCOR_STM32MP1_Linux| here]]. <br />
To get one of the boards, simply reach out to us and we'll prepare one for you.<br />
<br />
== Links ==<br />
* [https://wiki.st.com/stm32mpu/wiki/Main_Page STM32 MPU wiki]<br />
* [https://wiki.st.com/stm32mpu/wiki/Category:Device_tree_configuration STM32 MPU wiki - Device tree configuration]<br />
* [https://wiki.st.com/stm32mpu/index.php/STM32MP15_resources STM32MP15 resources]<br />
* [https://www.96boards.org 96Boards]</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=Avenger96&diff=3845
Avenger96
2023-09-21T15:41:31Z
<p>Christoph: /* Documentation */</p>
<hr />
<div>'''The Avenger96 board is the official DHCOR STM32MP1 reference design!'''<br />
<br />
{|<br />
|<br />
|<br />
|-<br />
|__TOC__<br />
|[[Image:Avenger96Board.png|600px|COM Avenger96Board]]<br />
|}<br />
<br />
== Introduction ==<br />
The AVENGER Board is a 96Boards compliant consumer edition board based on the STM32MP15 series of SoCs. The STM32MP15 series <br />
is a highly integrated multi-market applications processor designed to enable secure and portable applications within the Internet of Things. <br />
AVENGER board features Dual-core Arm® Cortex®-A7 processors operating at up to 650 MHz, Single core Arm® Cortex® M4 operating up to <br />
209 MHz. In addition, an extensive set of interfaces and connectivity peripherals are included to interface to cameras, touch-screen displays, <br />
MMC/SD cards and media processor engine. It also fully supports wireless communication, including WLAN and BLE.<br />
<br />
== Technical Details ==<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''STM32MP157AAC<br />
**2x ARM® Cortex-A7 up to 650 MHz<br />
**1x ARM® Cortex-M4 up to 209 MHz <br />
'''<br />
*'''GPU''' 1x 3D GPU Vivante® @ 533 MHz - OpenGL® ES 2.0<br />
*'''PMIC''' STPMIC1A<br />
*'''DDR3 DRAM''' 1024 Mbyte @ 533 MHz<br />
*'''eMMC Flash''' 8 Gbyte, v4.51 interface<br />
*'''NOR Flash''' 2 Mbyte, Quad SPI interface<br />
*'''EEPROM''' 128 byte<br />
*'''microSD Socket''' UHS-I speed grade, v3.01<br />
*'''USB Host''' 2x type A, 2.0 high-speed<br />
*'''USB OTG''' 1x type micro-AB, 2.0 high-speed<br />
*'''HDMI''' WXGA (1366x768) @ 60 fps, HDMI 1.4<br />
*'''WiFi / Bluetooth''' <br />
**WiFi 5 GHz & 2.4GHz IEEE 802.11a / b / g / n / ac<br />
**Bluetooth® v4.2 (BR/EDR/BLE)<br />
**PCB antenna<br />
*'''Ethernet''' 10 / 100 / 1000 Mbit/s, IEEE 802.3-compliant<br />
|valign="top" style="border: 0pt;" |<br />
*'''Push-Buttons''' Power and reset<br />
*'''Battery Socket''' CR1216, CR1220 and CR1225<br />
*'''LEDs'''<br />
**4x green user controlled LEDs <br />
**1x blue Bluetooth enabled <br />
**1x yellow WiFi enabled<br />
**1x red power supply okay<br />
*'''Boot Mode''' 3 bit boot mode switch<br />
*'''Debug Interface''' JTAG interface via tag-connect<br />
*'''Supply (SYS_DCIN)''' 8 - 18 VDC<br />
*'''Temperature Range''' 0 - 40 °C<br />
*'''Dimensions ''' 100 x 85 mm<br />
*'''Expansion Connectors''' <br />
**2 x UART<br />
**2 x I2C<br />
**1 x I2S<br />
**1 x SPI<br />
**12 x GPIOs (also useable as 2x CAN, 2x ADC)<br />
**1 x MIPI-CSI2<br />
**1 x MIPI-DSI<br />
|}<br />
<br />
== Product Change Notifications (PCN) ==<br />
==== DHCOR STM32MP15====<br />
* [[media:PCN_DHCOR-STM32MP1-001_R01_2022-10-07.pdf|PCN_DHCOR-STM32MP1-001_R01_2022-10-07.pdf (New default bootloader, based on testbench configuration)]]<br />
<br />
== Downloads ==<br />
* [https://github.com/dh-electronics/kas-dhsom/releases/tag/2023-08-28 DH Mainline based starter image 2023-09-20 (based on 6.1.54 Linux Kernel)]<br />
<br />
== Documentation ==<br />
* [[media:DOC_Getting-Started-588-200_R04_2023-09-19.pdf|Getting-Started with Avenger96 (R04)]]<br />
* [[media:USM_DHCOR-STM32MP1_R05_2019-12-12.pdf|DHCOR STM32MP1 User Manual R05 <span style="color:#FF0000">'''IMPORTANT: Please have a look at NEW chapter 24. Hardware design checklist'''</span>]]<br />
* More about the STM32 MPU is on the [[Avenger96#Links | Links section]]<br />
<br />
== Design Files ==<br />
* [https://www.dropbox.com/s/u8nihe1xd6ysk3v/SCH_588-200-HS00008-public_R07_2019-08-01.pdf?dl=0 Avenger96 Schematic]<br />
* [https://www.dropbox.com/s/1gyb53slm50uu80/BOM_588-200-HS00008-public_R07_2019-08-01.xlsx?dl=0 Avenger96 Bill of Material]<br />
* [https://www.dropbox.com/s/78otmzqqbw0fkio/588-200_TOP_ASSEMBLY__R04_2019-04-12.pdf?dl=0 Avenger96 Assembly Top]<br />
* [https://www.dropbox.com/s/su226xkonru494t/588-200_BOTTOM_ASSEMBLY__R04_2019-04-12.pdf?dl=0 Avenger96 Assembly Bottom]<br />
* [https://www.dropbox.com/s/orku1po5d7gywwd/BRD_588-200-with-DHCOR_2020-06-22.STEP?dl=1 Avenger96 3D STEP file]<br />
* [https://www.dropbox.com/s/yjx9l0qj9ja0de8/DHCOR-STM32MP1-Design-Symbols_2019-10-16.zip?dl=0 DHCOR STM32MP1 Allegro/Orcad schematic and layout symbols (release date: 16.10.2019) '''Now with Allegro *.brd file and 3D information''']<br />
* [https://www.dropbox.com/s/s4n5j9wzhhrv6so/DHCOR_STM32MP1_3D_STEP_586-100_R02.zip?dl=0 DHCOR STM32MP1 3D STEP file]<br />
* [[media:Stm32mp15xx-dhcor-avenger96_2023-04-18.zip | Avenger96 CubeMX configuration (release date: 18.04.2023)]]<br />
<br />
== Software ==<br />
=== DH Mainline based Linux ===<br />
* [https://github.com/dh-electronics/kas-dhsom Build your own Yocto via kas (GitHub)]<br />
* [https://github.com/dh-electronics/meta-dhsom-stm32-bsp Yocto BSP meta layer (Github)]<br />
<br />
* [[Default Bootloader "stm32mp15xx-dhcor-testbench" | Default Bootloader "stm32mp15xx-dhcor-testbench" programmed with delivered DHCOR module]]<br />
* [[DHCOR_STM32MP1_Linux| Linux and bootloader documentation]]<br />
:<span style="color:#008000">'''NEW How to start with custom DHCOR design?'''</span> <br />
:The patch below is an example patch which applies on top of u-boot v2021.01 and implements a custom board derived from 3V3 option of DHCOR STM32MP1 SoM. That's pretty much all you have to change to implement the board. But, please tweak the DTs esp. where there are the FIXME comments.<br />
:[https://www.dropbox.com/s/zg6f9h1vms6lxdg/0001-ARM-dts-stm32-Add-DHCOR-based-FOO-board-u-boot-v2021.01.patch?dl=0 '''NEW''' 0001-ARM-dts-stm32-Add-DHCOR-based-FOO-board-u-boot-v2021.01.patch]<br />
* [[Add Yocto SDK with QT5 to QT Creator | Start with Qt]]<br />
* [[Debugging_M4_on_STM32MP15xxxx|STM32MP1: Debugging M4]]<br />
* [https://wiki.dh-electronics.com/index.php/STM32MP1_Browser_Performance STM32MP1 Browser Performance]<br />
* [[DHSOM device tree structure | DHSOM device tree structure]]<br />
<br />
=== Debian ===<br />
* [https://www.dropbox.com/s/xvydm33ky97brt8/HD00066_Debian-Buster-Avenger96_2021-09-30.img.xz?dl=0 '''NEW''' Debian Buster Starter Image (based on 5.10 kernel)]<br />
:login: root <br />
:password: foo<br />
<br />
=== OpenSTLinux ===<br />
<span style="color:#800000"> '''!!! This project is NOT maintained from DH electronics!!! --> Please use the "DH Mainline based Linux" version for your project. The OpenSTLinux should only be used for testing !!!'''</span> <br />
:'''Notes:''' <br />
:- Based on OpenSTLinux v3.0<br />
:- GPU support based on original vivante GPU driver.<br />
:- Based on kernel 5.10.x and Yocto version dunfell<br />
* [https://github.com/dh-electronics/manifest-av96 Yocto meta layer --> Github]<br />
:DH electronics Github contains the meta-av96 layer for ST SDK. Please see readme.txt which describes the build process.<br />
<br />
* [https://www.dropbox.com/s/5c8s7sxtienyfip/Avenger96_v7.0_2021-10-29.img.zip?dl=0 OpenSTLinux-3.0 based on Yocto Dunfell LTS and Linux 5.10.10 - v7.0 Starter Image] (Supported by Arrow Electronics) <br />
:[[Starter Image Changelog]]<br />
: This Image includes four different bootmodes to support some additional mezzanine boars. [https://wiki.dh-electronics.com/index.php/Starter_Image_Bootmode Click here to learn, how to change them.]<br />
<br />
:'''X-LINUX-AI OpenSTLinux Expansion Package:''' Description: Expansion Package that targets artificial intelligence for STM32MP1 Series devices.<br />
* [https://wiki.st.com/stm32mpu/wiki/X-LINUX-AI_OpenSTLinux_Expansion_Package '''NEW''' X-LINUX-AI OpenSTLinux Expansion Package]<br />
* [https://wiki.st.com/stm32mpu/wiki/How_to_install_X-LINUX-AI_v2.0.0_on_Avenger96_board '''NEW''' How to install X-LINUX-AI v2.0.0 on Avenger96 board]<br />
<br />
== Useful instructions ==<br />
==== How to test OV5640 camera ==== <br />
To use the D3 mezzanine board with AV96 and the OV5640 camera, one has to apply the correct DTO first:<br />
STM32MP> setenv loaddtos '#conf-stm32mp157a-avenger96.dtb#conf-stm32mp15xx-avenger96-overlay-ov5640-x7.dtbo'; boot<br />
<br />
Afterward it is possible to stream frames from the camera:<br />
$ XDG_RUNTIME_DIR=/var/run/user/$(id -u weston)/ gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,width=1280,height=720 ! queue ! waylandsink<br />
<br />
==== How to load U-Boot with dfu-util ==== <br />
*[[U-Boot recovery for STM32MP1 DHSOM via DFU |U-Boot recovery for STM32MP1 DHSOM via DFU]]<br />
<br />
==== SPI Flash and eMMC Image Programming via UMS (universal mass storage) ====<br />
*[[Avenger96 UMS Image Programming | Avenger96 UMS Image Programming]]<br />
<br />
==== SPI Flash and eMMC Image Programming via Cube Programmer (OLD) ====<br />
*[[Avenger96 Image Programming | Avenger96 Image Programming]]<br />
<br />
== Mezzanine Boards by DH electronics ==<br />
<br />
==== DSI Display Adaptor Board ====<br />
[[File:DSI Display Adaptor Board.jpg|thumb|DSI Display Adaptor Board]]<br />
You can easily add an DSI display to your Avenger96 with the help of the DSI Display Adaptor Board. <br />
The display can be activated easily on our Mainline Image with a device tree overlay as described [[DHCOR_STM32MP1_Linux| here]]. <br />
To get one of the boards, simply reach out to us and we'll prepare one for you.<br />
<br />
== Links ==<br />
* [https://wiki.st.com/stm32mpu/wiki/Main_Page STM32 MPU wiki]<br />
* [https://wiki.st.com/stm32mpu/wiki/Category:Device_tree_configuration STM32 MPU wiki - Device tree configuration]<br />
* [https://wiki.st.com/stm32mpu/index.php/STM32MP15_resources STM32MP15 resources]<br />
* [https://www.96boards.org/ 96Boards]</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=Avenger96&diff=3844
Avenger96
2023-09-21T15:36:30Z
<p>Christoph: /* Downloads */</p>
<hr />
<div>'''The Avenger96 board is the official DHCOR STM32MP1 reference design!'''<br />
<br />
{|<br />
|<br />
|<br />
|-<br />
|__TOC__<br />
|[[Image:Avenger96Board.png|600px|COM Avenger96Board]]<br />
|}<br />
<br />
== Introduction ==<br />
The AVENGER Board is a 96Boards compliant consumer edition board based on the STM32MP15 series of SoCs. The STM32MP15 series <br />
is a highly integrated multi-market applications processor designed to enable secure and portable applications within the Internet of Things. <br />
AVENGER board features Dual-core Arm® Cortex®-A7 processors operating at up to 650 MHz, Single core Arm® Cortex® M4 operating up to <br />
209 MHz. In addition, an extensive set of interfaces and connectivity peripherals are included to interface to cameras, touch-screen displays, <br />
MMC/SD cards and media processor engine. It also fully supports wireless communication, including WLAN and BLE.<br />
<br />
== Technical Details ==<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''STM32MP157AAC<br />
**2x ARM® Cortex-A7 up to 650 MHz<br />
**1x ARM® Cortex-M4 up to 209 MHz <br />
'''<br />
*'''GPU''' 1x 3D GPU Vivante® @ 533 MHz - OpenGL® ES 2.0<br />
*'''PMIC''' STPMIC1A<br />
*'''DDR3 DRAM''' 1024 Mbyte @ 533 MHz<br />
*'''eMMC Flash''' 8 Gbyte, v4.51 interface<br />
*'''NOR Flash''' 2 Mbyte, Quad SPI interface<br />
*'''EEPROM''' 128 byte<br />
*'''microSD Socket''' UHS-I speed grade, v3.01<br />
*'''USB Host''' 2x type A, 2.0 high-speed<br />
*'''USB OTG''' 1x type micro-AB, 2.0 high-speed<br />
*'''HDMI''' WXGA (1366x768) @ 60 fps, HDMI 1.4<br />
*'''WiFi / Bluetooth''' <br />
**WiFi 5 GHz & 2.4GHz IEEE 802.11a / b / g / n / ac<br />
**Bluetooth® v4.2 (BR/EDR/BLE)<br />
**PCB antenna<br />
*'''Ethernet''' 10 / 100 / 1000 Mbit/s, IEEE 802.3-compliant<br />
|valign="top" style="border: 0pt;" |<br />
*'''Push-Buttons''' Power and reset<br />
*'''Battery Socket''' CR1216, CR1220 and CR1225<br />
*'''LEDs'''<br />
**4x green user controlled LEDs <br />
**1x blue Bluetooth enabled <br />
**1x yellow WiFi enabled<br />
**1x red power supply okay<br />
*'''Boot Mode''' 3 bit boot mode switch<br />
*'''Debug Interface''' JTAG interface via tag-connect<br />
*'''Supply (SYS_DCIN)''' 8 - 18 VDC<br />
*'''Temperature Range''' 0 - 40 °C<br />
*'''Dimensions ''' 100 x 85 mm<br />
*'''Expansion Connectors''' <br />
**2 x UART<br />
**2 x I2C<br />
**1 x I2S<br />
**1 x SPI<br />
**12 x GPIOs (also useable as 2x CAN, 2x ADC)<br />
**1 x MIPI-CSI2<br />
**1 x MIPI-DSI<br />
|}<br />
<br />
== Product Change Notifications (PCN) ==<br />
==== DHCOR STM32MP15====<br />
* [[media:PCN_DHCOR-STM32MP1-001_R01_2022-10-07.pdf|PCN_DHCOR-STM32MP1-001_R01_2022-10-07.pdf (New default bootloader, based on testbench configuration)]]<br />
<br />
== Downloads ==<br />
* [https://github.com/dh-electronics/kas-dhsom/releases/tag/2023-08-28 DH Mainline based starter image 2023-09-20 (based on 6.1.54 Linux Kernel)]<br />
<br />
== Documentation ==<br />
* [[media:DOC_Getting-Started-588-200_R04_2023-09-19.pdf|Avenger96 588-200 Getting-Started R04]]<br />
* [[media:USM_DHCOR-STM32MP1_R05_2019-12-12.pdf|'''NEW''' DHCOR STM32MP1 User Manual R05 <span style="color:#FF0000">'''IMPORTANT: Please have a look at NEW chapter 24. Hardware design checklist'''</span>]]<br />
:'''NOTE:''' Please also have a look at the STM32 MPU wiki: [[Avenger96#Links | Links]]<br />
<br />
== Design Files ==<br />
* [https://www.dropbox.com/s/u8nihe1xd6ysk3v/SCH_588-200-HS00008-public_R07_2019-08-01.pdf?dl=0 Avenger96 Schematic]<br />
* [https://www.dropbox.com/s/1gyb53slm50uu80/BOM_588-200-HS00008-public_R07_2019-08-01.xlsx?dl=0 Avenger96 Bill of Material]<br />
* [https://www.dropbox.com/s/78otmzqqbw0fkio/588-200_TOP_ASSEMBLY__R04_2019-04-12.pdf?dl=0 Avenger96 Assembly Top]<br />
* [https://www.dropbox.com/s/su226xkonru494t/588-200_BOTTOM_ASSEMBLY__R04_2019-04-12.pdf?dl=0 Avenger96 Assembly Bottom]<br />
* [https://www.dropbox.com/s/orku1po5d7gywwd/BRD_588-200-with-DHCOR_2020-06-22.STEP?dl=1 Avenger96 3D STEP file]<br />
* [https://www.dropbox.com/s/yjx9l0qj9ja0de8/DHCOR-STM32MP1-Design-Symbols_2019-10-16.zip?dl=0 DHCOR STM32MP1 Allegro/Orcad schematic and layout symbols (release date: 16.10.2019) '''Now with Allegro *.brd file and 3D information''']<br />
* [https://www.dropbox.com/s/s4n5j9wzhhrv6so/DHCOR_STM32MP1_3D_STEP_586-100_R02.zip?dl=0 DHCOR STM32MP1 3D STEP file]<br />
* [[media:Stm32mp15xx-dhcor-avenger96_2023-04-18.zip | Avenger96 CubeMX configuration (release date: 18.04.2023)]]<br />
<br />
== Software ==<br />
=== DH Mainline based Linux ===<br />
* [https://github.com/dh-electronics/kas-dhsom Build your own Yocto via kas (GitHub)]<br />
* [https://github.com/dh-electronics/meta-dhsom-stm32-bsp Yocto BSP meta layer (Github)]<br />
<br />
* [[Default Bootloader "stm32mp15xx-dhcor-testbench" | Default Bootloader "stm32mp15xx-dhcor-testbench" programmed with delivered DHCOR module]]<br />
* [[DHCOR_STM32MP1_Linux| Linux and bootloader documentation]]<br />
:<span style="color:#008000">'''NEW How to start with custom DHCOR design?'''</span> <br />
:The patch below is an example patch which applies on top of u-boot v2021.01 and implements a custom board derived from 3V3 option of DHCOR STM32MP1 SoM. That's pretty much all you have to change to implement the board. But, please tweak the DTs esp. where there are the FIXME comments.<br />
:[https://www.dropbox.com/s/zg6f9h1vms6lxdg/0001-ARM-dts-stm32-Add-DHCOR-based-FOO-board-u-boot-v2021.01.patch?dl=0 '''NEW''' 0001-ARM-dts-stm32-Add-DHCOR-based-FOO-board-u-boot-v2021.01.patch]<br />
* [[Add Yocto SDK with QT5 to QT Creator | Start with Qt]]<br />
* [[Debugging_M4_on_STM32MP15xxxx|STM32MP1: Debugging M4]]<br />
* [https://wiki.dh-electronics.com/index.php/STM32MP1_Browser_Performance STM32MP1 Browser Performance]<br />
* [[DHSOM device tree structure | DHSOM device tree structure]]<br />
<br />
=== Debian ===<br />
* [https://www.dropbox.com/s/xvydm33ky97brt8/HD00066_Debian-Buster-Avenger96_2021-09-30.img.xz?dl=0 '''NEW''' Debian Buster Starter Image (based on 5.10 kernel)]<br />
:login: root <br />
:password: foo<br />
<br />
=== OpenSTLinux ===<br />
<span style="color:#800000"> '''!!! This project is NOT maintained from DH electronics!!! --> Please use the "DH Mainline based Linux" version for your project. The OpenSTLinux should only be used for testing !!!'''</span> <br />
:'''Notes:''' <br />
:- Based on OpenSTLinux v3.0<br />
:- GPU support based on original vivante GPU driver.<br />
:- Based on kernel 5.10.x and Yocto version dunfell<br />
* [https://github.com/dh-electronics/manifest-av96 Yocto meta layer --> Github]<br />
:DH electronics Github contains the meta-av96 layer for ST SDK. Please see readme.txt which describes the build process.<br />
<br />
* [https://www.dropbox.com/s/5c8s7sxtienyfip/Avenger96_v7.0_2021-10-29.img.zip?dl=0 OpenSTLinux-3.0 based on Yocto Dunfell LTS and Linux 5.10.10 - v7.0 Starter Image] (Supported by Arrow Electronics) <br />
:[[Starter Image Changelog]]<br />
: This Image includes four different bootmodes to support some additional mezzanine boars. [https://wiki.dh-electronics.com/index.php/Starter_Image_Bootmode Click here to learn, how to change them.]<br />
<br />
:'''X-LINUX-AI OpenSTLinux Expansion Package:''' Description: Expansion Package that targets artificial intelligence for STM32MP1 Series devices.<br />
* [https://wiki.st.com/stm32mpu/wiki/X-LINUX-AI_OpenSTLinux_Expansion_Package '''NEW''' X-LINUX-AI OpenSTLinux Expansion Package]<br />
* [https://wiki.st.com/stm32mpu/wiki/How_to_install_X-LINUX-AI_v2.0.0_on_Avenger96_board '''NEW''' How to install X-LINUX-AI v2.0.0 on Avenger96 board]<br />
<br />
== Useful instructions ==<br />
==== How to test OV5640 camera ==== <br />
To use the D3 mezzanine board with AV96 and the OV5640 camera, one has to apply the correct DTO first:<br />
STM32MP> setenv loaddtos '#conf-stm32mp157a-avenger96.dtb#conf-stm32mp15xx-avenger96-overlay-ov5640-x7.dtbo'; boot<br />
<br />
Afterward it is possible to stream frames from the camera:<br />
$ XDG_RUNTIME_DIR=/var/run/user/$(id -u weston)/ gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,width=1280,height=720 ! queue ! waylandsink<br />
<br />
==== How to load U-Boot with dfu-util ==== <br />
*[[U-Boot recovery for STM32MP1 DHSOM via DFU |U-Boot recovery for STM32MP1 DHSOM via DFU]]<br />
<br />
==== SPI Flash and eMMC Image Programming via UMS (universal mass storage) ====<br />
*[[Avenger96 UMS Image Programming | Avenger96 UMS Image Programming]]<br />
<br />
==== SPI Flash and eMMC Image Programming via Cube Programmer (OLD) ====<br />
*[[Avenger96 Image Programming | Avenger96 Image Programming]]<br />
<br />
== Mezzanine Boards by DH electronics ==<br />
<br />
==== DSI Display Adaptor Board ====<br />
[[File:DSI Display Adaptor Board.jpg|thumb|DSI Display Adaptor Board]]<br />
You can easily add an DSI display to your Avenger96 with the help of the DSI Display Adaptor Board. <br />
The display can be activated easily on our Mainline Image with a device tree overlay as described [[DHCOR_STM32MP1_Linux| here]]. <br />
To get one of the boards, simply reach out to us and we'll prepare one for you.<br />
<br />
== Links ==<br />
* [https://wiki.st.com/stm32mpu/wiki/Main_Page STM32 MPU wiki]<br />
* [https://wiki.st.com/stm32mpu/wiki/Category:Device_tree_configuration STM32 MPU wiki - Device tree configuration]<br />
* [https://wiki.st.com/stm32mpu/index.php/STM32MP15_resources STM32MP15 resources]<br />
* [https://www.96boards.org/ 96Boards]</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=Avenger96&diff=3843
Avenger96
2023-09-21T15:35:28Z
<p>Christoph: /* DH Mainline based Linux */</p>
<hr />
<div>'''The Avenger96 board is the official DHCOR STM32MP1 reference design!'''<br />
<br />
{|<br />
|<br />
|<br />
|-<br />
|__TOC__<br />
|[[Image:Avenger96Board.png|600px|COM Avenger96Board]]<br />
|}<br />
<br />
== Introduction ==<br />
The AVENGER Board is a 96Boards compliant consumer edition board based on the STM32MP15 series of SoCs. The STM32MP15 series <br />
is a highly integrated multi-market applications processor designed to enable secure and portable applications within the Internet of Things. <br />
AVENGER board features Dual-core Arm® Cortex®-A7 processors operating at up to 650 MHz, Single core Arm® Cortex® M4 operating up to <br />
209 MHz. In addition, an extensive set of interfaces and connectivity peripherals are included to interface to cameras, touch-screen displays, <br />
MMC/SD cards and media processor engine. It also fully supports wireless communication, including WLAN and BLE.<br />
<br />
== Technical Details ==<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''STM32MP157AAC<br />
**2x ARM® Cortex-A7 up to 650 MHz<br />
**1x ARM® Cortex-M4 up to 209 MHz <br />
'''<br />
*'''GPU''' 1x 3D GPU Vivante® @ 533 MHz - OpenGL® ES 2.0<br />
*'''PMIC''' STPMIC1A<br />
*'''DDR3 DRAM''' 1024 Mbyte @ 533 MHz<br />
*'''eMMC Flash''' 8 Gbyte, v4.51 interface<br />
*'''NOR Flash''' 2 Mbyte, Quad SPI interface<br />
*'''EEPROM''' 128 byte<br />
*'''microSD Socket''' UHS-I speed grade, v3.01<br />
*'''USB Host''' 2x type A, 2.0 high-speed<br />
*'''USB OTG''' 1x type micro-AB, 2.0 high-speed<br />
*'''HDMI''' WXGA (1366x768) @ 60 fps, HDMI 1.4<br />
*'''WiFi / Bluetooth''' <br />
**WiFi 5 GHz & 2.4GHz IEEE 802.11a / b / g / n / ac<br />
**Bluetooth® v4.2 (BR/EDR/BLE)<br />
**PCB antenna<br />
*'''Ethernet''' 10 / 100 / 1000 Mbit/s, IEEE 802.3-compliant<br />
|valign="top" style="border: 0pt;" |<br />
*'''Push-Buttons''' Power and reset<br />
*'''Battery Socket''' CR1216, CR1220 and CR1225<br />
*'''LEDs'''<br />
**4x green user controlled LEDs <br />
**1x blue Bluetooth enabled <br />
**1x yellow WiFi enabled<br />
**1x red power supply okay<br />
*'''Boot Mode''' 3 bit boot mode switch<br />
*'''Debug Interface''' JTAG interface via tag-connect<br />
*'''Supply (SYS_DCIN)''' 8 - 18 VDC<br />
*'''Temperature Range''' 0 - 40 °C<br />
*'''Dimensions ''' 100 x 85 mm<br />
*'''Expansion Connectors''' <br />
**2 x UART<br />
**2 x I2C<br />
**1 x I2S<br />
**1 x SPI<br />
**12 x GPIOs (also useable as 2x CAN, 2x ADC)<br />
**1 x MIPI-CSI2<br />
**1 x MIPI-DSI<br />
|}<br />
<br />
== Product Change Notifications (PCN) ==<br />
==== DHCOR STM32MP15====<br />
* [[media:PCN_DHCOR-STM32MP1-001_R01_2022-10-07.pdf|PCN_DHCOR-STM32MP1-001_R01_2022-10-07.pdf (New default bootloader, based on testbench configuration)]]<br />
<br />
== Downloads ==<br />
* [https://github.com/dh-electronics/kas-dhsom/releases/tag/2023-08-28 '''NEW''' DH Mainline based Starter Image 2023-09-20 (based on 6.1.54 Linux Kernel)]<br />
<br />
== Documentation ==<br />
* [[media:DOC_Getting-Started-588-200_R04_2023-09-19.pdf|Avenger96 588-200 Getting-Started R04]]<br />
* [[media:USM_DHCOR-STM32MP1_R05_2019-12-12.pdf|'''NEW''' DHCOR STM32MP1 User Manual R05 <span style="color:#FF0000">'''IMPORTANT: Please have a look at NEW chapter 24. Hardware design checklist'''</span>]]<br />
:'''NOTE:''' Please also have a look at the STM32 MPU wiki: [[Avenger96#Links | Links]]<br />
<br />
== Design Files ==<br />
* [https://www.dropbox.com/s/u8nihe1xd6ysk3v/SCH_588-200-HS00008-public_R07_2019-08-01.pdf?dl=0 Avenger96 Schematic]<br />
* [https://www.dropbox.com/s/1gyb53slm50uu80/BOM_588-200-HS00008-public_R07_2019-08-01.xlsx?dl=0 Avenger96 Bill of Material]<br />
* [https://www.dropbox.com/s/78otmzqqbw0fkio/588-200_TOP_ASSEMBLY__R04_2019-04-12.pdf?dl=0 Avenger96 Assembly Top]<br />
* [https://www.dropbox.com/s/su226xkonru494t/588-200_BOTTOM_ASSEMBLY__R04_2019-04-12.pdf?dl=0 Avenger96 Assembly Bottom]<br />
* [https://www.dropbox.com/s/orku1po5d7gywwd/BRD_588-200-with-DHCOR_2020-06-22.STEP?dl=1 Avenger96 3D STEP file]<br />
* [https://www.dropbox.com/s/yjx9l0qj9ja0de8/DHCOR-STM32MP1-Design-Symbols_2019-10-16.zip?dl=0 DHCOR STM32MP1 Allegro/Orcad schematic and layout symbols (release date: 16.10.2019) '''Now with Allegro *.brd file and 3D information''']<br />
* [https://www.dropbox.com/s/s4n5j9wzhhrv6so/DHCOR_STM32MP1_3D_STEP_586-100_R02.zip?dl=0 DHCOR STM32MP1 3D STEP file]<br />
* [[media:Stm32mp15xx-dhcor-avenger96_2023-04-18.zip | Avenger96 CubeMX configuration (release date: 18.04.2023)]]<br />
<br />
== Software ==<br />
=== DH Mainline based Linux ===<br />
* [https://github.com/dh-electronics/kas-dhsom Build your own Yocto via kas (GitHub)]<br />
* [https://github.com/dh-electronics/meta-dhsom-stm32-bsp Yocto BSP meta layer (Github)]<br />
<br />
* [[Default Bootloader "stm32mp15xx-dhcor-testbench" | Default Bootloader "stm32mp15xx-dhcor-testbench" programmed with delivered DHCOR module]]<br />
* [[DHCOR_STM32MP1_Linux| Linux and bootloader documentation]]<br />
:<span style="color:#008000">'''NEW How to start with custom DHCOR design?'''</span> <br />
:The patch below is an example patch which applies on top of u-boot v2021.01 and implements a custom board derived from 3V3 option of DHCOR STM32MP1 SoM. That's pretty much all you have to change to implement the board. But, please tweak the DTs esp. where there are the FIXME comments.<br />
:[https://www.dropbox.com/s/zg6f9h1vms6lxdg/0001-ARM-dts-stm32-Add-DHCOR-based-FOO-board-u-boot-v2021.01.patch?dl=0 '''NEW''' 0001-ARM-dts-stm32-Add-DHCOR-based-FOO-board-u-boot-v2021.01.patch]<br />
* [[Add Yocto SDK with QT5 to QT Creator | Start with Qt]]<br />
* [[Debugging_M4_on_STM32MP15xxxx|STM32MP1: Debugging M4]]<br />
* [https://wiki.dh-electronics.com/index.php/STM32MP1_Browser_Performance STM32MP1 Browser Performance]<br />
* [[DHSOM device tree structure | DHSOM device tree structure]]<br />
<br />
=== Debian ===<br />
* [https://www.dropbox.com/s/xvydm33ky97brt8/HD00066_Debian-Buster-Avenger96_2021-09-30.img.xz?dl=0 '''NEW''' Debian Buster Starter Image (based on 5.10 kernel)]<br />
:login: root <br />
:password: foo<br />
<br />
=== OpenSTLinux ===<br />
<span style="color:#800000"> '''!!! This project is NOT maintained from DH electronics!!! --> Please use the "DH Mainline based Linux" version for your project. The OpenSTLinux should only be used for testing !!!'''</span> <br />
:'''Notes:''' <br />
:- Based on OpenSTLinux v3.0<br />
:- GPU support based on original vivante GPU driver.<br />
:- Based on kernel 5.10.x and Yocto version dunfell<br />
* [https://github.com/dh-electronics/manifest-av96 Yocto meta layer --> Github]<br />
:DH electronics Github contains the meta-av96 layer for ST SDK. Please see readme.txt which describes the build process.<br />
<br />
* [https://www.dropbox.com/s/5c8s7sxtienyfip/Avenger96_v7.0_2021-10-29.img.zip?dl=0 OpenSTLinux-3.0 based on Yocto Dunfell LTS and Linux 5.10.10 - v7.0 Starter Image] (Supported by Arrow Electronics) <br />
:[[Starter Image Changelog]]<br />
: This Image includes four different bootmodes to support some additional mezzanine boars. [https://wiki.dh-electronics.com/index.php/Starter_Image_Bootmode Click here to learn, how to change them.]<br />
<br />
:'''X-LINUX-AI OpenSTLinux Expansion Package:''' Description: Expansion Package that targets artificial intelligence for STM32MP1 Series devices.<br />
* [https://wiki.st.com/stm32mpu/wiki/X-LINUX-AI_OpenSTLinux_Expansion_Package '''NEW''' X-LINUX-AI OpenSTLinux Expansion Package]<br />
* [https://wiki.st.com/stm32mpu/wiki/How_to_install_X-LINUX-AI_v2.0.0_on_Avenger96_board '''NEW''' How to install X-LINUX-AI v2.0.0 on Avenger96 board]<br />
<br />
== Useful instructions ==<br />
==== How to test OV5640 camera ==== <br />
To use the D3 mezzanine board with AV96 and the OV5640 camera, one has to apply the correct DTO first:<br />
STM32MP> setenv loaddtos '#conf-stm32mp157a-avenger96.dtb#conf-stm32mp15xx-avenger96-overlay-ov5640-x7.dtbo'; boot<br />
<br />
Afterward it is possible to stream frames from the camera:<br />
$ XDG_RUNTIME_DIR=/var/run/user/$(id -u weston)/ gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,width=1280,height=720 ! queue ! waylandsink<br />
<br />
==== How to load U-Boot with dfu-util ==== <br />
*[[U-Boot recovery for STM32MP1 DHSOM via DFU |U-Boot recovery for STM32MP1 DHSOM via DFU]]<br />
<br />
==== SPI Flash and eMMC Image Programming via UMS (universal mass storage) ====<br />
*[[Avenger96 UMS Image Programming | Avenger96 UMS Image Programming]]<br />
<br />
==== SPI Flash and eMMC Image Programming via Cube Programmer (OLD) ====<br />
*[[Avenger96 Image Programming | Avenger96 Image Programming]]<br />
<br />
== Mezzanine Boards by DH electronics ==<br />
<br />
==== DSI Display Adaptor Board ====<br />
[[File:DSI Display Adaptor Board.jpg|thumb|DSI Display Adaptor Board]]<br />
You can easily add an DSI display to your Avenger96 with the help of the DSI Display Adaptor Board. <br />
The display can be activated easily on our Mainline Image with a device tree overlay as described [[DHCOR_STM32MP1_Linux| here]]. <br />
To get one of the boards, simply reach out to us and we'll prepare one for you.<br />
<br />
== Links ==<br />
* [https://wiki.st.com/stm32mpu/wiki/Main_Page STM32 MPU wiki]<br />
* [https://wiki.st.com/stm32mpu/wiki/Category:Device_tree_configuration STM32 MPU wiki - Device tree configuration]<br />
* [https://wiki.st.com/stm32mpu/index.php/STM32MP15_resources STM32MP15 resources]<br />
* [https://www.96boards.org/ 96Boards]</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=Avenger96&diff=3842
Avenger96
2023-09-21T15:29:06Z
<p>Christoph: /* Downloads */</p>
<hr />
<div>'''The Avenger96 board is the official DHCOR STM32MP1 reference design!'''<br />
<br />
{|<br />
|<br />
|<br />
|-<br />
|__TOC__<br />
|[[Image:Avenger96Board.png|600px|COM Avenger96Board]]<br />
|}<br />
<br />
== Introduction ==<br />
The AVENGER Board is a 96Boards compliant consumer edition board based on the STM32MP15 series of SoCs. The STM32MP15 series <br />
is a highly integrated multi-market applications processor designed to enable secure and portable applications within the Internet of Things. <br />
AVENGER board features Dual-core Arm® Cortex®-A7 processors operating at up to 650 MHz, Single core Arm® Cortex® M4 operating up to <br />
209 MHz. In addition, an extensive set of interfaces and connectivity peripherals are included to interface to cameras, touch-screen displays, <br />
MMC/SD cards and media processor engine. It also fully supports wireless communication, including WLAN and BLE.<br />
<br />
== Technical Details ==<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''STM32MP157AAC<br />
**2x ARM® Cortex-A7 up to 650 MHz<br />
**1x ARM® Cortex-M4 up to 209 MHz <br />
'''<br />
*'''GPU''' 1x 3D GPU Vivante® @ 533 MHz - OpenGL® ES 2.0<br />
*'''PMIC''' STPMIC1A<br />
*'''DDR3 DRAM''' 1024 Mbyte @ 533 MHz<br />
*'''eMMC Flash''' 8 Gbyte, v4.51 interface<br />
*'''NOR Flash''' 2 Mbyte, Quad SPI interface<br />
*'''EEPROM''' 128 byte<br />
*'''microSD Socket''' UHS-I speed grade, v3.01<br />
*'''USB Host''' 2x type A, 2.0 high-speed<br />
*'''USB OTG''' 1x type micro-AB, 2.0 high-speed<br />
*'''HDMI''' WXGA (1366x768) @ 60 fps, HDMI 1.4<br />
*'''WiFi / Bluetooth''' <br />
**WiFi 5 GHz & 2.4GHz IEEE 802.11a / b / g / n / ac<br />
**Bluetooth® v4.2 (BR/EDR/BLE)<br />
**PCB antenna<br />
*'''Ethernet''' 10 / 100 / 1000 Mbit/s, IEEE 802.3-compliant<br />
|valign="top" style="border: 0pt;" |<br />
*'''Push-Buttons''' Power and reset<br />
*'''Battery Socket''' CR1216, CR1220 and CR1225<br />
*'''LEDs'''<br />
**4x green user controlled LEDs <br />
**1x blue Bluetooth enabled <br />
**1x yellow WiFi enabled<br />
**1x red power supply okay<br />
*'''Boot Mode''' 3 bit boot mode switch<br />
*'''Debug Interface''' JTAG interface via tag-connect<br />
*'''Supply (SYS_DCIN)''' 8 - 18 VDC<br />
*'''Temperature Range''' 0 - 40 °C<br />
*'''Dimensions ''' 100 x 85 mm<br />
*'''Expansion Connectors''' <br />
**2 x UART<br />
**2 x I2C<br />
**1 x I2S<br />
**1 x SPI<br />
**12 x GPIOs (also useable as 2x CAN, 2x ADC)<br />
**1 x MIPI-CSI2<br />
**1 x MIPI-DSI<br />
|}<br />
<br />
== Product Change Notifications (PCN) ==<br />
==== DHCOR STM32MP15====<br />
* [[media:PCN_DHCOR-STM32MP1-001_R01_2022-10-07.pdf|PCN_DHCOR-STM32MP1-001_R01_2022-10-07.pdf (New default bootloader, based on testbench configuration)]]<br />
<br />
== Downloads ==<br />
* [https://github.com/dh-electronics/kas-dhsom/releases/tag/2023-08-28 '''NEW''' DH Mainline based Starter Image 2023-09-20 (based on 6.1.54 Linux Kernel)]<br />
<br />
== Documentation ==<br />
* [[media:DOC_Getting-Started-588-200_R04_2023-09-19.pdf|Avenger96 588-200 Getting-Started R04]]<br />
* [[media:USM_DHCOR-STM32MP1_R05_2019-12-12.pdf|'''NEW''' DHCOR STM32MP1 User Manual R05 <span style="color:#FF0000">'''IMPORTANT: Please have a look at NEW chapter 24. Hardware design checklist'''</span>]]<br />
:'''NOTE:''' Please also have a look at the STM32 MPU wiki: [[Avenger96#Links | Links]]<br />
<br />
== Design Files ==<br />
* [https://www.dropbox.com/s/u8nihe1xd6ysk3v/SCH_588-200-HS00008-public_R07_2019-08-01.pdf?dl=0 Avenger96 Schematic]<br />
* [https://www.dropbox.com/s/1gyb53slm50uu80/BOM_588-200-HS00008-public_R07_2019-08-01.xlsx?dl=0 Avenger96 Bill of Material]<br />
* [https://www.dropbox.com/s/78otmzqqbw0fkio/588-200_TOP_ASSEMBLY__R04_2019-04-12.pdf?dl=0 Avenger96 Assembly Top]<br />
* [https://www.dropbox.com/s/su226xkonru494t/588-200_BOTTOM_ASSEMBLY__R04_2019-04-12.pdf?dl=0 Avenger96 Assembly Bottom]<br />
* [https://www.dropbox.com/s/orku1po5d7gywwd/BRD_588-200-with-DHCOR_2020-06-22.STEP?dl=1 Avenger96 3D STEP file]<br />
* [https://www.dropbox.com/s/yjx9l0qj9ja0de8/DHCOR-STM32MP1-Design-Symbols_2019-10-16.zip?dl=0 DHCOR STM32MP1 Allegro/Orcad schematic and layout symbols (release date: 16.10.2019) '''Now with Allegro *.brd file and 3D information''']<br />
* [https://www.dropbox.com/s/s4n5j9wzhhrv6so/DHCOR_STM32MP1_3D_STEP_586-100_R02.zip?dl=0 DHCOR STM32MP1 3D STEP file]<br />
* [[media:Stm32mp15xx-dhcor-avenger96_2023-04-18.zip | Avenger96 CubeMX configuration (release date: 18.04.2023)]]<br />
<br />
== Software ==<br />
=== DH Mainline based Linux ===<br />
:'''Notes:''' <br />
:- The Mainline based Linux offers Etnaviv GPU driver support!!!<br />
:- Based on '''kernel 6.1.x''' and Yocto version kirkstone<br />
* [https://github.com/dh-electronics/meta-dhsom-stm32-bsp Yocto BSP meta layer --> Github]<br />
* [https://github.com/dh-electronics/kas-dhsom Easy Yocto build via KAS --> Github]<br />
* [https://github.com/dh-electronics/kas-dhsom/releases/tag/2023-08-28 '''NEW''' DH Mainline based Starter Image 2023-09-20 (based on 6.1.54 kernel)]<br />
* [[Default Bootloader "stm32mp15xx-dhcor-testbench" | '''NEW''' Default Bootloader "stm32mp15xx-dhcor-testbench" programmed with delivered DHCOR module]]<br />
* [[DHCOR_STM32MP1_Linux| Linux and bootloader documentation]]<br />
:<span style="color:#008000">'''NEW How to start with custom DHCOR design?'''</span> <br />
:The patch below is an example patch which applies on top of u-boot v2021.01 and implements a custom board derived from 3V3 option of DHCOR STM32MP1 SoM. That's pretty much all you have to change to implement the board. But, please tweak the DTs esp. where there are the FIXME comments.<br />
:[https://www.dropbox.com/s/zg6f9h1vms6lxdg/0001-ARM-dts-stm32-Add-DHCOR-based-FOO-board-u-boot-v2021.01.patch?dl=0 '''NEW''' 0001-ARM-dts-stm32-Add-DHCOR-based-FOO-board-u-boot-v2021.01.patch]<br />
* [[Add Yocto SDK with QT5 to QT Creator | Start with Qt]]<br />
* [[Debugging_M4_on_STM32MP15xxxx|STM32MP1: Debugging M4]]<br />
* [https://wiki.dh-electronics.com/index.php/STM32MP1_Browser_Performance STM32MP1 Browser Performance]<br />
* [[DHSOM device tree structure | DHSOM device tree structure]]<br />
<br />
=== Debian ===<br />
* [https://www.dropbox.com/s/xvydm33ky97brt8/HD00066_Debian-Buster-Avenger96_2021-09-30.img.xz?dl=0 '''NEW''' Debian Buster Starter Image (based on 5.10 kernel)]<br />
:login: root <br />
:password: foo<br />
<br />
=== OpenSTLinux ===<br />
<span style="color:#800000"> '''!!! This project is NOT maintained from DH electronics!!! --> Please use the "DH Mainline based Linux" version for your project. The OpenSTLinux should only be used for testing !!!'''</span> <br />
:'''Notes:''' <br />
:- Based on OpenSTLinux v3.0<br />
:- GPU support based on original vivante GPU driver.<br />
:- Based on kernel 5.10.x and Yocto version dunfell<br />
* [https://github.com/dh-electronics/manifest-av96 Yocto meta layer --> Github]<br />
:DH electronics Github contains the meta-av96 layer for ST SDK. Please see readme.txt which describes the build process.<br />
<br />
* [https://www.dropbox.com/s/5c8s7sxtienyfip/Avenger96_v7.0_2021-10-29.img.zip?dl=0 OpenSTLinux-3.0 based on Yocto Dunfell LTS and Linux 5.10.10 - v7.0 Starter Image] (Supported by Arrow Electronics) <br />
:[[Starter Image Changelog]]<br />
: This Image includes four different bootmodes to support some additional mezzanine boars. [https://wiki.dh-electronics.com/index.php/Starter_Image_Bootmode Click here to learn, how to change them.]<br />
<br />
:'''X-LINUX-AI OpenSTLinux Expansion Package:''' Description: Expansion Package that targets artificial intelligence for STM32MP1 Series devices.<br />
* [https://wiki.st.com/stm32mpu/wiki/X-LINUX-AI_OpenSTLinux_Expansion_Package '''NEW''' X-LINUX-AI OpenSTLinux Expansion Package]<br />
* [https://wiki.st.com/stm32mpu/wiki/How_to_install_X-LINUX-AI_v2.0.0_on_Avenger96_board '''NEW''' How to install X-LINUX-AI v2.0.0 on Avenger96 board]<br />
<br />
== Useful instructions ==<br />
==== How to test OV5640 camera ==== <br />
To use the D3 mezzanine board with AV96 and the OV5640 camera, one has to apply the correct DTO first:<br />
STM32MP> setenv loaddtos '#conf-stm32mp157a-avenger96.dtb#conf-stm32mp15xx-avenger96-overlay-ov5640-x7.dtbo'; boot<br />
<br />
Afterward it is possible to stream frames from the camera:<br />
$ XDG_RUNTIME_DIR=/var/run/user/$(id -u weston)/ gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,width=1280,height=720 ! queue ! waylandsink<br />
<br />
==== How to load U-Boot with dfu-util ==== <br />
*[[U-Boot recovery for STM32MP1 DHSOM via DFU |U-Boot recovery for STM32MP1 DHSOM via DFU]]<br />
<br />
==== SPI Flash and eMMC Image Programming via UMS (universal mass storage) ====<br />
*[[Avenger96 UMS Image Programming | Avenger96 UMS Image Programming]]<br />
<br />
==== SPI Flash and eMMC Image Programming via Cube Programmer (OLD) ====<br />
*[[Avenger96 Image Programming | Avenger96 Image Programming]]<br />
<br />
== Mezzanine Boards by DH electronics ==<br />
<br />
==== DSI Display Adaptor Board ====<br />
[[File:DSI Display Adaptor Board.jpg|thumb|DSI Display Adaptor Board]]<br />
You can easily add an DSI display to your Avenger96 with the help of the DSI Display Adaptor Board. <br />
The display can be activated easily on our Mainline Image with a device tree overlay as described [[DHCOR_STM32MP1_Linux| here]]. <br />
To get one of the boards, simply reach out to us and we'll prepare one for you.<br />
<br />
== Links ==<br />
* [https://wiki.st.com/stm32mpu/wiki/Main_Page STM32 MPU wiki]<br />
* [https://wiki.st.com/stm32mpu/wiki/Category:Device_tree_configuration STM32 MPU wiki - Device tree configuration]<br />
* [https://wiki.st.com/stm32mpu/index.php/STM32MP15_resources STM32MP15 resources]<br />
* [https://www.96boards.org/ 96Boards]</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=Avenger96&diff=3841
Avenger96
2023-09-21T15:26:28Z
<p>Christoph: </p>
<hr />
<div>'''The Avenger96 board is the official DHCOR STM32MP1 reference design!'''<br />
<br />
{|<br />
|<br />
|<br />
|-<br />
|__TOC__<br />
|[[Image:Avenger96Board.png|600px|COM Avenger96Board]]<br />
|}<br />
<br />
== Introduction ==<br />
The AVENGER Board is a 96Boards compliant consumer edition board based on the STM32MP15 series of SoCs. The STM32MP15 series <br />
is a highly integrated multi-market applications processor designed to enable secure and portable applications within the Internet of Things. <br />
AVENGER board features Dual-core Arm® Cortex®-A7 processors operating at up to 650 MHz, Single core Arm® Cortex® M4 operating up to <br />
209 MHz. In addition, an extensive set of interfaces and connectivity peripherals are included to interface to cameras, touch-screen displays, <br />
MMC/SD cards and media processor engine. It also fully supports wireless communication, including WLAN and BLE.<br />
<br />
== Technical Details ==<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''STM32MP157AAC<br />
**2x ARM® Cortex-A7 up to 650 MHz<br />
**1x ARM® Cortex-M4 up to 209 MHz <br />
'''<br />
*'''GPU''' 1x 3D GPU Vivante® @ 533 MHz - OpenGL® ES 2.0<br />
*'''PMIC''' STPMIC1A<br />
*'''DDR3 DRAM''' 1024 Mbyte @ 533 MHz<br />
*'''eMMC Flash''' 8 Gbyte, v4.51 interface<br />
*'''NOR Flash''' 2 Mbyte, Quad SPI interface<br />
*'''EEPROM''' 128 byte<br />
*'''microSD Socket''' UHS-I speed grade, v3.01<br />
*'''USB Host''' 2x type A, 2.0 high-speed<br />
*'''USB OTG''' 1x type micro-AB, 2.0 high-speed<br />
*'''HDMI''' WXGA (1366x768) @ 60 fps, HDMI 1.4<br />
*'''WiFi / Bluetooth''' <br />
**WiFi 5 GHz & 2.4GHz IEEE 802.11a / b / g / n / ac<br />
**Bluetooth® v4.2 (BR/EDR/BLE)<br />
**PCB antenna<br />
*'''Ethernet''' 10 / 100 / 1000 Mbit/s, IEEE 802.3-compliant<br />
|valign="top" style="border: 0pt;" |<br />
*'''Push-Buttons''' Power and reset<br />
*'''Battery Socket''' CR1216, CR1220 and CR1225<br />
*'''LEDs'''<br />
**4x green user controlled LEDs <br />
**1x blue Bluetooth enabled <br />
**1x yellow WiFi enabled<br />
**1x red power supply okay<br />
*'''Boot Mode''' 3 bit boot mode switch<br />
*'''Debug Interface''' JTAG interface via tag-connect<br />
*'''Supply (SYS_DCIN)''' 8 - 18 VDC<br />
*'''Temperature Range''' 0 - 40 °C<br />
*'''Dimensions ''' 100 x 85 mm<br />
*'''Expansion Connectors''' <br />
**2 x UART<br />
**2 x I2C<br />
**1 x I2S<br />
**1 x SPI<br />
**12 x GPIOs (also useable as 2x CAN, 2x ADC)<br />
**1 x MIPI-CSI2<br />
**1 x MIPI-DSI<br />
|}<br />
<br />
== Product Change Notifications (PCN) ==<br />
==== DHCOR STM32MP15====<br />
* [[media:PCN_DHCOR-STM32MP1-001_R01_2022-10-07.pdf|PCN_DHCOR-STM32MP1-001_R01_2022-10-07.pdf (New default bootloader, based on testbench configuration)]]<br />
<br />
== Downloads ==<br />
* [[media:DOC_Getting-Started-588-200_R04_2023-09-19.pdf|Avenger96 588-200 Getting-Started R04]]<br />
* [[media:USM_DHCOR-STM32MP1_R05_2019-12-12.pdf|'''NEW''' DHCOR STM32MP1 User Manual R05 <span style="color:#FF0000">'''IMPORTANT: Please have a look at NEW chapter 24. Hardware design checklist'''</span>]]<br />
:'''NOTE:''' Please also have a look at the STM32 MPU wiki: [[Avenger96#Links | Links]]<br />
<br />
== Documentation ==<br />
* [[media:DOC_Getting-Started-588-200_R04_2023-09-19.pdf|Avenger96 588-200 Getting-Started R04]]<br />
* [[media:USM_DHCOR-STM32MP1_R05_2019-12-12.pdf|'''NEW''' DHCOR STM32MP1 User Manual R05 <span style="color:#FF0000">'''IMPORTANT: Please have a look at NEW chapter 24. Hardware design checklist'''</span>]]<br />
:'''NOTE:''' Please also have a look at the STM32 MPU wiki: [[Avenger96#Links | Links]]<br />
<br />
== Design Files ==<br />
* [https://www.dropbox.com/s/u8nihe1xd6ysk3v/SCH_588-200-HS00008-public_R07_2019-08-01.pdf?dl=0 Avenger96 Schematic]<br />
* [https://www.dropbox.com/s/1gyb53slm50uu80/BOM_588-200-HS00008-public_R07_2019-08-01.xlsx?dl=0 Avenger96 Bill of Material]<br />
* [https://www.dropbox.com/s/78otmzqqbw0fkio/588-200_TOP_ASSEMBLY__R04_2019-04-12.pdf?dl=0 Avenger96 Assembly Top]<br />
* [https://www.dropbox.com/s/su226xkonru494t/588-200_BOTTOM_ASSEMBLY__R04_2019-04-12.pdf?dl=0 Avenger96 Assembly Bottom]<br />
* [https://www.dropbox.com/s/orku1po5d7gywwd/BRD_588-200-with-DHCOR_2020-06-22.STEP?dl=1 Avenger96 3D STEP file]<br />
* [https://www.dropbox.com/s/yjx9l0qj9ja0de8/DHCOR-STM32MP1-Design-Symbols_2019-10-16.zip?dl=0 DHCOR STM32MP1 Allegro/Orcad schematic and layout symbols (release date: 16.10.2019) '''Now with Allegro *.brd file and 3D information''']<br />
* [https://www.dropbox.com/s/s4n5j9wzhhrv6so/DHCOR_STM32MP1_3D_STEP_586-100_R02.zip?dl=0 DHCOR STM32MP1 3D STEP file]<br />
* [[media:Stm32mp15xx-dhcor-avenger96_2023-04-18.zip | Avenger96 CubeMX configuration (release date: 18.04.2023)]]<br />
<br />
== Software ==<br />
=== DH Mainline based Linux ===<br />
:'''Notes:''' <br />
:- The Mainline based Linux offers Etnaviv GPU driver support!!!<br />
:- Based on '''kernel 6.1.x''' and Yocto version kirkstone<br />
* [https://github.com/dh-electronics/meta-dhsom-stm32-bsp Yocto BSP meta layer --> Github]<br />
* [https://github.com/dh-electronics/kas-dhsom Easy Yocto build via KAS --> Github]<br />
* [https://github.com/dh-electronics/kas-dhsom/releases/tag/2023-08-28 '''NEW''' DH Mainline based Starter Image 2023-09-20 (based on 6.1.54 kernel)]<br />
* [[Default Bootloader "stm32mp15xx-dhcor-testbench" | '''NEW''' Default Bootloader "stm32mp15xx-dhcor-testbench" programmed with delivered DHCOR module]]<br />
* [[DHCOR_STM32MP1_Linux| Linux and bootloader documentation]]<br />
:<span style="color:#008000">'''NEW How to start with custom DHCOR design?'''</span> <br />
:The patch below is an example patch which applies on top of u-boot v2021.01 and implements a custom board derived from 3V3 option of DHCOR STM32MP1 SoM. That's pretty much all you have to change to implement the board. But, please tweak the DTs esp. where there are the FIXME comments.<br />
:[https://www.dropbox.com/s/zg6f9h1vms6lxdg/0001-ARM-dts-stm32-Add-DHCOR-based-FOO-board-u-boot-v2021.01.patch?dl=0 '''NEW''' 0001-ARM-dts-stm32-Add-DHCOR-based-FOO-board-u-boot-v2021.01.patch]<br />
* [[Add Yocto SDK with QT5 to QT Creator | Start with Qt]]<br />
* [[Debugging_M4_on_STM32MP15xxxx|STM32MP1: Debugging M4]]<br />
* [https://wiki.dh-electronics.com/index.php/STM32MP1_Browser_Performance STM32MP1 Browser Performance]<br />
* [[DHSOM device tree structure | DHSOM device tree structure]]<br />
<br />
=== Debian ===<br />
* [https://www.dropbox.com/s/xvydm33ky97brt8/HD00066_Debian-Buster-Avenger96_2021-09-30.img.xz?dl=0 '''NEW''' Debian Buster Starter Image (based on 5.10 kernel)]<br />
:login: root <br />
:password: foo<br />
<br />
=== OpenSTLinux ===<br />
<span style="color:#800000"> '''!!! This project is NOT maintained from DH electronics!!! --> Please use the "DH Mainline based Linux" version for your project. The OpenSTLinux should only be used for testing !!!'''</span> <br />
:'''Notes:''' <br />
:- Based on OpenSTLinux v3.0<br />
:- GPU support based on original vivante GPU driver.<br />
:- Based on kernel 5.10.x and Yocto version dunfell<br />
* [https://github.com/dh-electronics/manifest-av96 Yocto meta layer --> Github]<br />
:DH electronics Github contains the meta-av96 layer for ST SDK. Please see readme.txt which describes the build process.<br />
<br />
* [https://www.dropbox.com/s/5c8s7sxtienyfip/Avenger96_v7.0_2021-10-29.img.zip?dl=0 OpenSTLinux-3.0 based on Yocto Dunfell LTS and Linux 5.10.10 - v7.0 Starter Image] (Supported by Arrow Electronics) <br />
:[[Starter Image Changelog]]<br />
: This Image includes four different bootmodes to support some additional mezzanine boars. [https://wiki.dh-electronics.com/index.php/Starter_Image_Bootmode Click here to learn, how to change them.]<br />
<br />
:'''X-LINUX-AI OpenSTLinux Expansion Package:''' Description: Expansion Package that targets artificial intelligence for STM32MP1 Series devices.<br />
* [https://wiki.st.com/stm32mpu/wiki/X-LINUX-AI_OpenSTLinux_Expansion_Package '''NEW''' X-LINUX-AI OpenSTLinux Expansion Package]<br />
* [https://wiki.st.com/stm32mpu/wiki/How_to_install_X-LINUX-AI_v2.0.0_on_Avenger96_board '''NEW''' How to install X-LINUX-AI v2.0.0 on Avenger96 board]<br />
<br />
== Useful instructions ==<br />
==== How to test OV5640 camera ==== <br />
To use the D3 mezzanine board with AV96 and the OV5640 camera, one has to apply the correct DTO first:<br />
STM32MP> setenv loaddtos '#conf-stm32mp157a-avenger96.dtb#conf-stm32mp15xx-avenger96-overlay-ov5640-x7.dtbo'; boot<br />
<br />
Afterward it is possible to stream frames from the camera:<br />
$ XDG_RUNTIME_DIR=/var/run/user/$(id -u weston)/ gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,width=1280,height=720 ! queue ! waylandsink<br />
<br />
==== How to load U-Boot with dfu-util ==== <br />
*[[U-Boot recovery for STM32MP1 DHSOM via DFU |U-Boot recovery for STM32MP1 DHSOM via DFU]]<br />
<br />
==== SPI Flash and eMMC Image Programming via UMS (universal mass storage) ====<br />
*[[Avenger96 UMS Image Programming | Avenger96 UMS Image Programming]]<br />
<br />
==== SPI Flash and eMMC Image Programming via Cube Programmer (OLD) ====<br />
*[[Avenger96 Image Programming | Avenger96 Image Programming]]<br />
<br />
== Mezzanine Boards by DH electronics ==<br />
<br />
==== DSI Display Adaptor Board ====<br />
[[File:DSI Display Adaptor Board.jpg|thumb|DSI Display Adaptor Board]]<br />
You can easily add an DSI display to your Avenger96 with the help of the DSI Display Adaptor Board. <br />
The display can be activated easily on our Mainline Image with a device tree overlay as described [[DHCOR_STM32MP1_Linux| here]]. <br />
To get one of the boards, simply reach out to us and we'll prepare one for you.<br />
<br />
== Links ==<br />
* [https://wiki.st.com/stm32mpu/wiki/Main_Page STM32 MPU wiki]<br />
* [https://wiki.st.com/stm32mpu/wiki/Category:Device_tree_configuration STM32 MPU wiki - Device tree configuration]<br />
* [https://wiki.st.com/stm32mpu/index.php/STM32MP15_resources STM32MP15 resources]<br />
* [https://www.96boards.org/ 96Boards]</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=Avenger96&diff=3840
Avenger96
2023-09-21T15:25:36Z
<p>Christoph: /* Documentation */</p>
<hr />
<div>'''The Avenger96 board is the official DHCOR STM32MP1 reference design!'''<br />
<br />
{|<br />
|<br />
|<br />
|-<br />
|__TOC__<br />
|[[Image:Avenger96Board.png|600px|COM Avenger96Board]]<br />
|}<br />
<br />
== Introduction ==<br />
The AVENGER Board is a 96Boards compliant consumer edition board based on the STM32MP15 series of SoCs. The STM32MP15 series <br />
is a highly integrated multi-market applications processor designed to enable secure and portable applications within the Internet of Things. <br />
AVENGER board features Dual-core Arm® Cortex®-A7 processors operating at up to 650 MHz, Single core Arm® Cortex® M4 operating up to <br />
209 MHz. In addition, an extensive set of interfaces and connectivity peripherals are included to interface to cameras, touch-screen displays, <br />
MMC/SD cards and media processor engine. It also fully supports wireless communication, including WLAN and BLE.<br />
<br />
== Technical Details ==<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''STM32MP157AAC<br />
**2x ARM® Cortex-A7 up to 650 MHz<br />
**1x ARM® Cortex-M4 up to 209 MHz <br />
'''<br />
*'''GPU''' 1x 3D GPU Vivante® @ 533 MHz - OpenGL® ES 2.0<br />
*'''PMIC''' STPMIC1A<br />
*'''DDR3 DRAM''' 1024 Mbyte @ 533 MHz<br />
*'''eMMC Flash''' 8 Gbyte, v4.51 interface<br />
*'''NOR Flash''' 2 Mbyte, Quad SPI interface<br />
*'''EEPROM''' 128 byte<br />
*'''microSD Socket''' UHS-I speed grade, v3.01<br />
*'''USB Host''' 2x type A, 2.0 high-speed<br />
*'''USB OTG''' 1x type micro-AB, 2.0 high-speed<br />
*'''HDMI''' WXGA (1366x768) @ 60 fps, HDMI 1.4<br />
*'''WiFi / Bluetooth''' <br />
**WiFi 5 GHz & 2.4GHz IEEE 802.11a / b / g / n / ac<br />
**Bluetooth® v4.2 (BR/EDR/BLE)<br />
**PCB antenna<br />
*'''Ethernet''' 10 / 100 / 1000 Mbit/s, IEEE 802.3-compliant<br />
|valign="top" style="border: 0pt;" |<br />
*'''Push-Buttons''' Power and reset<br />
*'''Battery Socket''' CR1216, CR1220 and CR1225<br />
*'''LEDs'''<br />
**4x green user controlled LEDs <br />
**1x blue Bluetooth enabled <br />
**1x yellow WiFi enabled<br />
**1x red power supply okay<br />
*'''Boot Mode''' 3 bit boot mode switch<br />
*'''Debug Interface''' JTAG interface via tag-connect<br />
*'''Supply (SYS_DCIN)''' 8 - 18 VDC<br />
*'''Temperature Range''' 0 - 40 °C<br />
*'''Dimensions ''' 100 x 85 mm<br />
*'''Expansion Connectors''' <br />
**2 x UART<br />
**2 x I2C<br />
**1 x I2S<br />
**1 x SPI<br />
**12 x GPIOs (also useable as 2x CAN, 2x ADC)<br />
**1 x MIPI-CSI2<br />
**1 x MIPI-DSI<br />
|}<br />
<br />
== Product Change Notifications (PCN) ==<br />
==== DHCOR STM32MP15====<br />
* [[media:PCN_DHCOR-STM32MP1-001_R01_2022-10-07.pdf|PCN_DHCOR-STM32MP1-001_R01_2022-10-07.pdf (New default bootloader, based on testbench configuration)]]<br />
<br />
== Documentation ==<br />
* [[media:DOC_Getting-Started-588-200_R04_2023-09-19.pdf|Avenger96 588-200 Getting-Started R04]]<br />
* [[media:USM_DHCOR-STM32MP1_R05_2019-12-12.pdf|'''NEW''' DHCOR STM32MP1 User Manual R05 <span style="color:#FF0000">'''IMPORTANT: Please have a look at NEW chapter 24. Hardware design checklist'''</span>]]<br />
:'''NOTE:''' Please also have a look at the STM32 MPU wiki: [[Avenger96#Links | Links]]<br />
<br />
== Design Files ==<br />
* [https://www.dropbox.com/s/u8nihe1xd6ysk3v/SCH_588-200-HS00008-public_R07_2019-08-01.pdf?dl=0 Avenger96 Schematic]<br />
* [https://www.dropbox.com/s/1gyb53slm50uu80/BOM_588-200-HS00008-public_R07_2019-08-01.xlsx?dl=0 Avenger96 Bill of Material]<br />
* [https://www.dropbox.com/s/78otmzqqbw0fkio/588-200_TOP_ASSEMBLY__R04_2019-04-12.pdf?dl=0 Avenger96 Assembly Top]<br />
* [https://www.dropbox.com/s/su226xkonru494t/588-200_BOTTOM_ASSEMBLY__R04_2019-04-12.pdf?dl=0 Avenger96 Assembly Bottom]<br />
* [https://www.dropbox.com/s/orku1po5d7gywwd/BRD_588-200-with-DHCOR_2020-06-22.STEP?dl=1 Avenger96 3D STEP file]<br />
* [https://www.dropbox.com/s/yjx9l0qj9ja0de8/DHCOR-STM32MP1-Design-Symbols_2019-10-16.zip?dl=0 DHCOR STM32MP1 Allegro/Orcad schematic and layout symbols (release date: 16.10.2019) '''Now with Allegro *.brd file and 3D information''']<br />
* [https://www.dropbox.com/s/s4n5j9wzhhrv6so/DHCOR_STM32MP1_3D_STEP_586-100_R02.zip?dl=0 DHCOR STM32MP1 3D STEP file]<br />
* [[media:Stm32mp15xx-dhcor-avenger96_2023-04-18.zip | Avenger96 CubeMX configuration (release date: 18.04.2023)]]<br />
<br />
== Software ==<br />
=== DH Mainline based Linux ===<br />
:'''Notes:''' <br />
:- The Mainline based Linux offers Etnaviv GPU driver support!!!<br />
:- Based on '''kernel 6.1.x''' and Yocto version kirkstone<br />
* [https://github.com/dh-electronics/meta-dhsom-stm32-bsp Yocto BSP meta layer --> Github]<br />
* [https://github.com/dh-electronics/kas-dhsom Easy Yocto build via KAS --> Github]<br />
* [https://github.com/dh-electronics/kas-dhsom/releases/tag/2023-08-28 '''NEW''' DH Mainline based Starter Image 2023-09-20 (based on 6.1.54 kernel)]<br />
* [[Default Bootloader "stm32mp15xx-dhcor-testbench" | '''NEW''' Default Bootloader "stm32mp15xx-dhcor-testbench" programmed with delivered DHCOR module]]<br />
* [[DHCOR_STM32MP1_Linux| Linux and bootloader documentation]]<br />
:<span style="color:#008000">'''NEW How to start with custom DHCOR design?'''</span> <br />
:The patch below is an example patch which applies on top of u-boot v2021.01 and implements a custom board derived from 3V3 option of DHCOR STM32MP1 SoM. That's pretty much all you have to change to implement the board. But, please tweak the DTs esp. where there are the FIXME comments.<br />
:[https://www.dropbox.com/s/zg6f9h1vms6lxdg/0001-ARM-dts-stm32-Add-DHCOR-based-FOO-board-u-boot-v2021.01.patch?dl=0 '''NEW''' 0001-ARM-dts-stm32-Add-DHCOR-based-FOO-board-u-boot-v2021.01.patch]<br />
* [[Add Yocto SDK with QT5 to QT Creator | Start with Qt]]<br />
* [[Debugging_M4_on_STM32MP15xxxx|STM32MP1: Debugging M4]]<br />
* [https://wiki.dh-electronics.com/index.php/STM32MP1_Browser_Performance STM32MP1 Browser Performance]<br />
* [[DHSOM device tree structure | DHSOM device tree structure]]<br />
<br />
=== Debian ===<br />
* [https://www.dropbox.com/s/xvydm33ky97brt8/HD00066_Debian-Buster-Avenger96_2021-09-30.img.xz?dl=0 '''NEW''' Debian Buster Starter Image (based on 5.10 kernel)]<br />
:login: root <br />
:password: foo<br />
<br />
=== OpenSTLinux ===<br />
<span style="color:#800000"> '''!!! This project is NOT maintained from DH electronics!!! --> Please use the "DH Mainline based Linux" version for your project. The OpenSTLinux should only be used for testing !!!'''</span> <br />
:'''Notes:''' <br />
:- Based on OpenSTLinux v3.0<br />
:- GPU support based on original vivante GPU driver.<br />
:- Based on kernel 5.10.x and Yocto version dunfell<br />
* [https://github.com/dh-electronics/manifest-av96 Yocto meta layer --> Github]<br />
:DH electronics Github contains the meta-av96 layer for ST SDK. Please see readme.txt which describes the build process.<br />
<br />
* [https://www.dropbox.com/s/5c8s7sxtienyfip/Avenger96_v7.0_2021-10-29.img.zip?dl=0 OpenSTLinux-3.0 based on Yocto Dunfell LTS and Linux 5.10.10 - v7.0 Starter Image] (Supported by Arrow Electronics) <br />
:[[Starter Image Changelog]]<br />
: This Image includes four different bootmodes to support some additional mezzanine boars. [https://wiki.dh-electronics.com/index.php/Starter_Image_Bootmode Click here to learn, how to change them.]<br />
<br />
:'''X-LINUX-AI OpenSTLinux Expansion Package:''' Description: Expansion Package that targets artificial intelligence for STM32MP1 Series devices.<br />
* [https://wiki.st.com/stm32mpu/wiki/X-LINUX-AI_OpenSTLinux_Expansion_Package '''NEW''' X-LINUX-AI OpenSTLinux Expansion Package]<br />
* [https://wiki.st.com/stm32mpu/wiki/How_to_install_X-LINUX-AI_v2.0.0_on_Avenger96_board '''NEW''' How to install X-LINUX-AI v2.0.0 on Avenger96 board]<br />
<br />
== Useful instructions ==<br />
==== How to test OV5640 camera ==== <br />
To use the D3 mezzanine board with AV96 and the OV5640 camera, one has to apply the correct DTO first:<br />
STM32MP> setenv loaddtos '#conf-stm32mp157a-avenger96.dtb#conf-stm32mp15xx-avenger96-overlay-ov5640-x7.dtbo'; boot<br />
<br />
Afterward it is possible to stream frames from the camera:<br />
$ XDG_RUNTIME_DIR=/var/run/user/$(id -u weston)/ gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,width=1280,height=720 ! queue ! waylandsink<br />
<br />
==== How to load U-Boot with dfu-util ==== <br />
*[[U-Boot recovery for STM32MP1 DHSOM via DFU |U-Boot recovery for STM32MP1 DHSOM via DFU]]<br />
<br />
==== SPI Flash and eMMC Image Programming via UMS (universal mass storage) ====<br />
*[[Avenger96 UMS Image Programming | Avenger96 UMS Image Programming]]<br />
<br />
==== SPI Flash and eMMC Image Programming via Cube Programmer (OLD) ====<br />
*[[Avenger96 Image Programming | Avenger96 Image Programming]]<br />
<br />
== Mezzanine Boards by DH electronics ==<br />
<br />
==== DSI Display Adaptor Board ====<br />
[[File:DSI Display Adaptor Board.jpg|thumb|DSI Display Adaptor Board]]<br />
You can easily add an DSI display to your Avenger96 with the help of the DSI Display Adaptor Board. <br />
The display can be activated easily on our Mainline Image with a device tree overlay as described [[DHCOR_STM32MP1_Linux| here]]. <br />
To get one of the boards, simply reach out to us and we'll prepare one for you.<br />
<br />
== Links ==<br />
* [https://wiki.st.com/stm32mpu/wiki/Main_Page STM32 MPU wiki]<br />
* [https://wiki.st.com/stm32mpu/wiki/Category:Device_tree_configuration STM32 MPU wiki - Device tree configuration]<br />
* [https://wiki.st.com/stm32mpu/index.php/STM32MP15_resources STM32MP15 resources]<br />
* [https://www.96boards.org/ 96Boards]</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=File:USM_DHCOR-STM32MP1_R05_2019-12-12.pdf&diff=3839
File:USM DHCOR-STM32MP1 R05 2019-12-12.pdf
2023-09-21T15:24:45Z
<p>Christoph: NEW DHCOR STM32MP1 User Manual R05</p>
<hr />
<div>== Summary ==<br />
NEW DHCOR STM32MP1 User Manual R05</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=Avenger96&diff=3838
Avenger96
2023-09-21T15:24:04Z
<p>Christoph: /* Documentation */</p>
<hr />
<div>'''The Avenger96 board is the official DHCOR STM32MP1 reference design!'''<br />
<br />
{|<br />
|<br />
|<br />
|-<br />
|__TOC__<br />
|[[Image:Avenger96Board.png|600px|COM Avenger96Board]]<br />
|}<br />
<br />
== Introduction ==<br />
The AVENGER Board is a 96Boards compliant consumer edition board based on the STM32MP15 series of SoCs. The STM32MP15 series <br />
is a highly integrated multi-market applications processor designed to enable secure and portable applications within the Internet of Things. <br />
AVENGER board features Dual-core Arm® Cortex®-A7 processors operating at up to 650 MHz, Single core Arm® Cortex® M4 operating up to <br />
209 MHz. In addition, an extensive set of interfaces and connectivity peripherals are included to interface to cameras, touch-screen displays, <br />
MMC/SD cards and media processor engine. It also fully supports wireless communication, including WLAN and BLE.<br />
<br />
== Technical Details ==<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''STM32MP157AAC<br />
**2x ARM® Cortex-A7 up to 650 MHz<br />
**1x ARM® Cortex-M4 up to 209 MHz <br />
'''<br />
*'''GPU''' 1x 3D GPU Vivante® @ 533 MHz - OpenGL® ES 2.0<br />
*'''PMIC''' STPMIC1A<br />
*'''DDR3 DRAM''' 1024 Mbyte @ 533 MHz<br />
*'''eMMC Flash''' 8 Gbyte, v4.51 interface<br />
*'''NOR Flash''' 2 Mbyte, Quad SPI interface<br />
*'''EEPROM''' 128 byte<br />
*'''microSD Socket''' UHS-I speed grade, v3.01<br />
*'''USB Host''' 2x type A, 2.0 high-speed<br />
*'''USB OTG''' 1x type micro-AB, 2.0 high-speed<br />
*'''HDMI''' WXGA (1366x768) @ 60 fps, HDMI 1.4<br />
*'''WiFi / Bluetooth''' <br />
**WiFi 5 GHz & 2.4GHz IEEE 802.11a / b / g / n / ac<br />
**Bluetooth® v4.2 (BR/EDR/BLE)<br />
**PCB antenna<br />
*'''Ethernet''' 10 / 100 / 1000 Mbit/s, IEEE 802.3-compliant<br />
|valign="top" style="border: 0pt;" |<br />
*'''Push-Buttons''' Power and reset<br />
*'''Battery Socket''' CR1216, CR1220 and CR1225<br />
*'''LEDs'''<br />
**4x green user controlled LEDs <br />
**1x blue Bluetooth enabled <br />
**1x yellow WiFi enabled<br />
**1x red power supply okay<br />
*'''Boot Mode''' 3 bit boot mode switch<br />
*'''Debug Interface''' JTAG interface via tag-connect<br />
*'''Supply (SYS_DCIN)''' 8 - 18 VDC<br />
*'''Temperature Range''' 0 - 40 °C<br />
*'''Dimensions ''' 100 x 85 mm<br />
*'''Expansion Connectors''' <br />
**2 x UART<br />
**2 x I2C<br />
**1 x I2S<br />
**1 x SPI<br />
**12 x GPIOs (also useable as 2x CAN, 2x ADC)<br />
**1 x MIPI-CSI2<br />
**1 x MIPI-DSI<br />
|}<br />
<br />
== Product Change Notifications (PCN) ==<br />
==== DHCOR STM32MP15====<br />
* [[media:PCN_DHCOR-STM32MP1-001_R01_2022-10-07.pdf|PCN_DHCOR-STM32MP1-001_R01_2022-10-07.pdf (New default bootloader, based on testbench configuration)]]<br />
<br />
== Documentation ==<br />
* [[media:DOC_Getting-Started-588-200_R04_2023-09-19.pdf|Avenger96 588-200 Getting-Started R04]]<br />
* [[media:USM_DHCOR-STM32MP1_R05_2019-12-12.pdf|'''NEW''' DHCOR STM32MP1 User Manual R05 <span style="color:#FF0000">'''IMPORTANT: Please have a look at NEW chapter 24. Hardware design checklist'''</span>]]<br />
* [https://www.dropbox.com/s/40k1tygmsiogy6r/USM_DHCOR-STM32MP1_R05_2019-12-12.pdf?dl=0 '''NEW''' DHCOR STM32MP1 User Manual R05 <span style="color:#FF0000">'''IMPORTANT: Please have a look at NEW chapter 24. Hardware design checklist'''</span> ]<br />
:'''NOTE:''' Please also have a look at the STM32 MPU wiki: [[Avenger96#Links | Links]]<br />
<br />
== Design Files ==<br />
* [https://www.dropbox.com/s/u8nihe1xd6ysk3v/SCH_588-200-HS00008-public_R07_2019-08-01.pdf?dl=0 Avenger96 Schematic]<br />
* [https://www.dropbox.com/s/1gyb53slm50uu80/BOM_588-200-HS00008-public_R07_2019-08-01.xlsx?dl=0 Avenger96 Bill of Material]<br />
* [https://www.dropbox.com/s/78otmzqqbw0fkio/588-200_TOP_ASSEMBLY__R04_2019-04-12.pdf?dl=0 Avenger96 Assembly Top]<br />
* [https://www.dropbox.com/s/su226xkonru494t/588-200_BOTTOM_ASSEMBLY__R04_2019-04-12.pdf?dl=0 Avenger96 Assembly Bottom]<br />
* [https://www.dropbox.com/s/orku1po5d7gywwd/BRD_588-200-with-DHCOR_2020-06-22.STEP?dl=1 Avenger96 3D STEP file]<br />
* [https://www.dropbox.com/s/yjx9l0qj9ja0de8/DHCOR-STM32MP1-Design-Symbols_2019-10-16.zip?dl=0 DHCOR STM32MP1 Allegro/Orcad schematic and layout symbols (release date: 16.10.2019) '''Now with Allegro *.brd file and 3D information''']<br />
* [https://www.dropbox.com/s/s4n5j9wzhhrv6so/DHCOR_STM32MP1_3D_STEP_586-100_R02.zip?dl=0 DHCOR STM32MP1 3D STEP file]<br />
* [[media:Stm32mp15xx-dhcor-avenger96_2023-04-18.zip | Avenger96 CubeMX configuration (release date: 18.04.2023)]]<br />
<br />
== Software ==<br />
=== DH Mainline based Linux ===<br />
:'''Notes:''' <br />
:- The Mainline based Linux offers Etnaviv GPU driver support!!!<br />
:- Based on '''kernel 6.1.x''' and Yocto version kirkstone<br />
* [https://github.com/dh-electronics/meta-dhsom-stm32-bsp Yocto BSP meta layer --> Github]<br />
* [https://github.com/dh-electronics/kas-dhsom Easy Yocto build via KAS --> Github]<br />
* [https://github.com/dh-electronics/kas-dhsom/releases/tag/2023-08-28 '''NEW''' DH Mainline based Starter Image 2023-09-20 (based on 6.1.54 kernel)]<br />
* [[Default Bootloader "stm32mp15xx-dhcor-testbench" | '''NEW''' Default Bootloader "stm32mp15xx-dhcor-testbench" programmed with delivered DHCOR module]]<br />
* [[DHCOR_STM32MP1_Linux| Linux and bootloader documentation]]<br />
:<span style="color:#008000">'''NEW How to start with custom DHCOR design?'''</span> <br />
:The patch below is an example patch which applies on top of u-boot v2021.01 and implements a custom board derived from 3V3 option of DHCOR STM32MP1 SoM. That's pretty much all you have to change to implement the board. But, please tweak the DTs esp. where there are the FIXME comments.<br />
:[https://www.dropbox.com/s/zg6f9h1vms6lxdg/0001-ARM-dts-stm32-Add-DHCOR-based-FOO-board-u-boot-v2021.01.patch?dl=0 '''NEW''' 0001-ARM-dts-stm32-Add-DHCOR-based-FOO-board-u-boot-v2021.01.patch]<br />
* [[Add Yocto SDK with QT5 to QT Creator | Start with Qt]]<br />
* [[Debugging_M4_on_STM32MP15xxxx|STM32MP1: Debugging M4]]<br />
* [https://wiki.dh-electronics.com/index.php/STM32MP1_Browser_Performance STM32MP1 Browser Performance]<br />
* [[DHSOM device tree structure | DHSOM device tree structure]]<br />
<br />
=== Debian ===<br />
* [https://www.dropbox.com/s/xvydm33ky97brt8/HD00066_Debian-Buster-Avenger96_2021-09-30.img.xz?dl=0 '''NEW''' Debian Buster Starter Image (based on 5.10 kernel)]<br />
:login: root <br />
:password: foo<br />
<br />
=== OpenSTLinux ===<br />
<span style="color:#800000"> '''!!! This project is NOT maintained from DH electronics!!! --> Please use the "DH Mainline based Linux" version for your project. The OpenSTLinux should only be used for testing !!!'''</span> <br />
:'''Notes:''' <br />
:- Based on OpenSTLinux v3.0<br />
:- GPU support based on original vivante GPU driver.<br />
:- Based on kernel 5.10.x and Yocto version dunfell<br />
* [https://github.com/dh-electronics/manifest-av96 Yocto meta layer --> Github]<br />
:DH electronics Github contains the meta-av96 layer for ST SDK. Please see readme.txt which describes the build process.<br />
<br />
* [https://www.dropbox.com/s/5c8s7sxtienyfip/Avenger96_v7.0_2021-10-29.img.zip?dl=0 OpenSTLinux-3.0 based on Yocto Dunfell LTS and Linux 5.10.10 - v7.0 Starter Image] (Supported by Arrow Electronics) <br />
:[[Starter Image Changelog]]<br />
: This Image includes four different bootmodes to support some additional mezzanine boars. [https://wiki.dh-electronics.com/index.php/Starter_Image_Bootmode Click here to learn, how to change them.]<br />
<br />
:'''X-LINUX-AI OpenSTLinux Expansion Package:''' Description: Expansion Package that targets artificial intelligence for STM32MP1 Series devices.<br />
* [https://wiki.st.com/stm32mpu/wiki/X-LINUX-AI_OpenSTLinux_Expansion_Package '''NEW''' X-LINUX-AI OpenSTLinux Expansion Package]<br />
* [https://wiki.st.com/stm32mpu/wiki/How_to_install_X-LINUX-AI_v2.0.0_on_Avenger96_board '''NEW''' How to install X-LINUX-AI v2.0.0 on Avenger96 board]<br />
<br />
== Useful instructions ==<br />
==== How to test OV5640 camera ==== <br />
To use the D3 mezzanine board with AV96 and the OV5640 camera, one has to apply the correct DTO first:<br />
STM32MP> setenv loaddtos '#conf-stm32mp157a-avenger96.dtb#conf-stm32mp15xx-avenger96-overlay-ov5640-x7.dtbo'; boot<br />
<br />
Afterward it is possible to stream frames from the camera:<br />
$ XDG_RUNTIME_DIR=/var/run/user/$(id -u weston)/ gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,width=1280,height=720 ! queue ! waylandsink<br />
<br />
==== How to load U-Boot with dfu-util ==== <br />
*[[U-Boot recovery for STM32MP1 DHSOM via DFU |U-Boot recovery for STM32MP1 DHSOM via DFU]]<br />
<br />
==== SPI Flash and eMMC Image Programming via UMS (universal mass storage) ====<br />
*[[Avenger96 UMS Image Programming | Avenger96 UMS Image Programming]]<br />
<br />
==== SPI Flash and eMMC Image Programming via Cube Programmer (OLD) ====<br />
*[[Avenger96 Image Programming | Avenger96 Image Programming]]<br />
<br />
== Mezzanine Boards by DH electronics ==<br />
<br />
==== DSI Display Adaptor Board ====<br />
[[File:DSI Display Adaptor Board.jpg|thumb|DSI Display Adaptor Board]]<br />
You can easily add an DSI display to your Avenger96 with the help of the DSI Display Adaptor Board. <br />
The display can be activated easily on our Mainline Image with a device tree overlay as described [[DHCOR_STM32MP1_Linux| here]]. <br />
To get one of the boards, simply reach out to us and we'll prepare one for you.<br />
<br />
== Links ==<br />
* [https://wiki.st.com/stm32mpu/wiki/Main_Page STM32 MPU wiki]<br />
* [https://wiki.st.com/stm32mpu/wiki/Category:Device_tree_configuration STM32 MPU wiki - Device tree configuration]<br />
* [https://wiki.st.com/stm32mpu/index.php/STM32MP15_resources STM32MP15 resources]<br />
* [https://www.96boards.org/ 96Boards]</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=File:DOC_Getting-Started-588-200_R04_2023-09-19.pdf&diff=3837
File:DOC Getting-Started-588-200 R04 2023-09-19.pdf
2023-09-21T15:20:27Z
<p>Christoph: Avenger96 588-200 Getting-Started R04</p>
<hr />
<div>== Summary ==<br />
Avenger96 588-200 Getting-Started R04</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=Avenger96&diff=3836
Avenger96
2023-09-21T15:19:40Z
<p>Christoph: /* Documentation */</p>
<hr />
<div>'''The Avenger96 board is the official DHCOR STM32MP1 reference design!'''<br />
<br />
{|<br />
|<br />
|<br />
|-<br />
|__TOC__<br />
|[[Image:Avenger96Board.png|600px|COM Avenger96Board]]<br />
|}<br />
<br />
== Introduction ==<br />
The AVENGER Board is a 96Boards compliant consumer edition board based on the STM32MP15 series of SoCs. The STM32MP15 series <br />
is a highly integrated multi-market applications processor designed to enable secure and portable applications within the Internet of Things. <br />
AVENGER board features Dual-core Arm® Cortex®-A7 processors operating at up to 650 MHz, Single core Arm® Cortex® M4 operating up to <br />
209 MHz. In addition, an extensive set of interfaces and connectivity peripherals are included to interface to cameras, touch-screen displays, <br />
MMC/SD cards and media processor engine. It also fully supports wireless communication, including WLAN and BLE.<br />
<br />
== Technical Details ==<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''STM32MP157AAC<br />
**2x ARM® Cortex-A7 up to 650 MHz<br />
**1x ARM® Cortex-M4 up to 209 MHz <br />
'''<br />
*'''GPU''' 1x 3D GPU Vivante® @ 533 MHz - OpenGL® ES 2.0<br />
*'''PMIC''' STPMIC1A<br />
*'''DDR3 DRAM''' 1024 Mbyte @ 533 MHz<br />
*'''eMMC Flash''' 8 Gbyte, v4.51 interface<br />
*'''NOR Flash''' 2 Mbyte, Quad SPI interface<br />
*'''EEPROM''' 128 byte<br />
*'''microSD Socket''' UHS-I speed grade, v3.01<br />
*'''USB Host''' 2x type A, 2.0 high-speed<br />
*'''USB OTG''' 1x type micro-AB, 2.0 high-speed<br />
*'''HDMI''' WXGA (1366x768) @ 60 fps, HDMI 1.4<br />
*'''WiFi / Bluetooth''' <br />
**WiFi 5 GHz & 2.4GHz IEEE 802.11a / b / g / n / ac<br />
**Bluetooth® v4.2 (BR/EDR/BLE)<br />
**PCB antenna<br />
*'''Ethernet''' 10 / 100 / 1000 Mbit/s, IEEE 802.3-compliant<br />
|valign="top" style="border: 0pt;" |<br />
*'''Push-Buttons''' Power and reset<br />
*'''Battery Socket''' CR1216, CR1220 and CR1225<br />
*'''LEDs'''<br />
**4x green user controlled LEDs <br />
**1x blue Bluetooth enabled <br />
**1x yellow WiFi enabled<br />
**1x red power supply okay<br />
*'''Boot Mode''' 3 bit boot mode switch<br />
*'''Debug Interface''' JTAG interface via tag-connect<br />
*'''Supply (SYS_DCIN)''' 8 - 18 VDC<br />
*'''Temperature Range''' 0 - 40 °C<br />
*'''Dimensions ''' 100 x 85 mm<br />
*'''Expansion Connectors''' <br />
**2 x UART<br />
**2 x I2C<br />
**1 x I2S<br />
**1 x SPI<br />
**12 x GPIOs (also useable as 2x CAN, 2x ADC)<br />
**1 x MIPI-CSI2<br />
**1 x MIPI-DSI<br />
|}<br />
<br />
== Product Change Notifications (PCN) ==<br />
==== DHCOR STM32MP15====<br />
* [[media:PCN_DHCOR-STM32MP1-001_R01_2022-10-07.pdf|PCN_DHCOR-STM32MP1-001_R01_2022-10-07.pdf (New default bootloader, based on testbench configuration)]]<br />
<br />
== Documentation ==<br />
* [[media:DOC_Getting-Started-588-200_R04_2023-09-19.pdf|Avenger96 588-200 Getting-Started R04]]<br />
* [https://www.dropbox.com/s/f9jvcdq8rgb3e3f/DOC_Getting-Started-588-200_R03_2020-05-29.pdf?dl=1 Avenger96 588-200 Getting-Started R03]<br />
* [https://www.dropbox.com/s/40k1tygmsiogy6r/USM_DHCOR-STM32MP1_R05_2019-12-12.pdf?dl=0 '''NEW''' DHCOR STM32MP1 User Manual R05 <span style="color:#FF0000">'''IMPORTANT: Please have a look at NEW chapter 24. Hardware design checklist'''</span> ]<br />
:'''NOTE:''' Please also have a look at the STM32 MPU wiki: [[Avenger96#Links | Links]]<br />
<br />
== Design Files ==<br />
* [https://www.dropbox.com/s/u8nihe1xd6ysk3v/SCH_588-200-HS00008-public_R07_2019-08-01.pdf?dl=0 Avenger96 Schematic]<br />
* [https://www.dropbox.com/s/1gyb53slm50uu80/BOM_588-200-HS00008-public_R07_2019-08-01.xlsx?dl=0 Avenger96 Bill of Material]<br />
* [https://www.dropbox.com/s/78otmzqqbw0fkio/588-200_TOP_ASSEMBLY__R04_2019-04-12.pdf?dl=0 Avenger96 Assembly Top]<br />
* [https://www.dropbox.com/s/su226xkonru494t/588-200_BOTTOM_ASSEMBLY__R04_2019-04-12.pdf?dl=0 Avenger96 Assembly Bottom]<br />
* [https://www.dropbox.com/s/orku1po5d7gywwd/BRD_588-200-with-DHCOR_2020-06-22.STEP?dl=1 Avenger96 3D STEP file]<br />
* [https://www.dropbox.com/s/yjx9l0qj9ja0de8/DHCOR-STM32MP1-Design-Symbols_2019-10-16.zip?dl=0 DHCOR STM32MP1 Allegro/Orcad schematic and layout symbols (release date: 16.10.2019) '''Now with Allegro *.brd file and 3D information''']<br />
* [https://www.dropbox.com/s/s4n5j9wzhhrv6so/DHCOR_STM32MP1_3D_STEP_586-100_R02.zip?dl=0 DHCOR STM32MP1 3D STEP file]<br />
* [[media:Stm32mp15xx-dhcor-avenger96_2023-04-18.zip | Avenger96 CubeMX configuration (release date: 18.04.2023)]]<br />
<br />
== Software ==<br />
=== DH Mainline based Linux ===<br />
:'''Notes:''' <br />
:- The Mainline based Linux offers Etnaviv GPU driver support!!!<br />
:- Based on '''kernel 6.1.x''' and Yocto version kirkstone<br />
* [https://github.com/dh-electronics/meta-dhsom-stm32-bsp Yocto BSP meta layer --> Github]<br />
* [https://github.com/dh-electronics/kas-dhsom Easy Yocto build via KAS --> Github]<br />
* [https://github.com/dh-electronics/kas-dhsom/releases/tag/2023-08-28 '''NEW''' DH Mainline based Starter Image 2023-09-20 (based on 6.1.54 kernel)]<br />
* [[Default Bootloader "stm32mp15xx-dhcor-testbench" | '''NEW''' Default Bootloader "stm32mp15xx-dhcor-testbench" programmed with delivered DHCOR module]]<br />
* [[DHCOR_STM32MP1_Linux| Linux and bootloader documentation]]<br />
:<span style="color:#008000">'''NEW How to start with custom DHCOR design?'''</span> <br />
:The patch below is an example patch which applies on top of u-boot v2021.01 and implements a custom board derived from 3V3 option of DHCOR STM32MP1 SoM. That's pretty much all you have to change to implement the board. But, please tweak the DTs esp. where there are the FIXME comments.<br />
:[https://www.dropbox.com/s/zg6f9h1vms6lxdg/0001-ARM-dts-stm32-Add-DHCOR-based-FOO-board-u-boot-v2021.01.patch?dl=0 '''NEW''' 0001-ARM-dts-stm32-Add-DHCOR-based-FOO-board-u-boot-v2021.01.patch]<br />
* [[Add Yocto SDK with QT5 to QT Creator | Start with Qt]]<br />
* [[Debugging_M4_on_STM32MP15xxxx|STM32MP1: Debugging M4]]<br />
* [https://wiki.dh-electronics.com/index.php/STM32MP1_Browser_Performance STM32MP1 Browser Performance]<br />
* [[DHSOM device tree structure | DHSOM device tree structure]]<br />
<br />
=== Debian ===<br />
* [https://www.dropbox.com/s/xvydm33ky97brt8/HD00066_Debian-Buster-Avenger96_2021-09-30.img.xz?dl=0 '''NEW''' Debian Buster Starter Image (based on 5.10 kernel)]<br />
:login: root <br />
:password: foo<br />
<br />
=== OpenSTLinux ===<br />
<span style="color:#800000"> '''!!! This project is NOT maintained from DH electronics!!! --> Please use the "DH Mainline based Linux" version for your project. The OpenSTLinux should only be used for testing !!!'''</span> <br />
:'''Notes:''' <br />
:- Based on OpenSTLinux v3.0<br />
:- GPU support based on original vivante GPU driver.<br />
:- Based on kernel 5.10.x and Yocto version dunfell<br />
* [https://github.com/dh-electronics/manifest-av96 Yocto meta layer --> Github]<br />
:DH electronics Github contains the meta-av96 layer for ST SDK. Please see readme.txt which describes the build process.<br />
<br />
* [https://www.dropbox.com/s/5c8s7sxtienyfip/Avenger96_v7.0_2021-10-29.img.zip?dl=0 OpenSTLinux-3.0 based on Yocto Dunfell LTS and Linux 5.10.10 - v7.0 Starter Image] (Supported by Arrow Electronics) <br />
:[[Starter Image Changelog]]<br />
: This Image includes four different bootmodes to support some additional mezzanine boars. [https://wiki.dh-electronics.com/index.php/Starter_Image_Bootmode Click here to learn, how to change them.]<br />
<br />
:'''X-LINUX-AI OpenSTLinux Expansion Package:''' Description: Expansion Package that targets artificial intelligence for STM32MP1 Series devices.<br />
* [https://wiki.st.com/stm32mpu/wiki/X-LINUX-AI_OpenSTLinux_Expansion_Package '''NEW''' X-LINUX-AI OpenSTLinux Expansion Package]<br />
* [https://wiki.st.com/stm32mpu/wiki/How_to_install_X-LINUX-AI_v2.0.0_on_Avenger96_board '''NEW''' How to install X-LINUX-AI v2.0.0 on Avenger96 board]<br />
<br />
== Useful instructions ==<br />
==== How to test OV5640 camera ==== <br />
To use the D3 mezzanine board with AV96 and the OV5640 camera, one has to apply the correct DTO first:<br />
STM32MP> setenv loaddtos '#conf-stm32mp157a-avenger96.dtb#conf-stm32mp15xx-avenger96-overlay-ov5640-x7.dtbo'; boot<br />
<br />
Afterward it is possible to stream frames from the camera:<br />
$ XDG_RUNTIME_DIR=/var/run/user/$(id -u weston)/ gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,width=1280,height=720 ! queue ! waylandsink<br />
<br />
==== How to load U-Boot with dfu-util ==== <br />
*[[U-Boot recovery for STM32MP1 DHSOM via DFU |U-Boot recovery for STM32MP1 DHSOM via DFU]]<br />
<br />
==== SPI Flash and eMMC Image Programming via UMS (universal mass storage) ====<br />
*[[Avenger96 UMS Image Programming | Avenger96 UMS Image Programming]]<br />
<br />
==== SPI Flash and eMMC Image Programming via Cube Programmer (OLD) ====<br />
*[[Avenger96 Image Programming | Avenger96 Image Programming]]<br />
<br />
== Mezzanine Boards by DH electronics ==<br />
<br />
==== DSI Display Adaptor Board ====<br />
[[File:DSI Display Adaptor Board.jpg|thumb|DSI Display Adaptor Board]]<br />
You can easily add an DSI display to your Avenger96 with the help of the DSI Display Adaptor Board. <br />
The display can be activated easily on our Mainline Image with a device tree overlay as described [[DHCOR_STM32MP1_Linux| here]]. <br />
To get one of the boards, simply reach out to us and we'll prepare one for you.<br />
<br />
== Links ==<br />
* [https://wiki.st.com/stm32mpu/wiki/Main_Page STM32 MPU wiki]<br />
* [https://wiki.st.com/stm32mpu/wiki/Category:Device_tree_configuration STM32 MPU wiki - Device tree configuration]<br />
* [https://wiki.st.com/stm32mpu/index.php/STM32MP15_resources STM32MP15 resources]<br />
* [https://www.96boards.org/ 96Boards]</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=DHCOM_iMX6ULL-D2&diff=3819
DHCOM iMX6ULL-D2
2023-04-04T09:37:17Z
<p>Christoph: /* U-Boot (for eMMC DHCOMs) */</p>
<hr />
<div>{|<br />
|<br />
|<br />
|-<br />
|rowspan="2"|__TOC__<br />
|style="padding-left:100px"|[[Image:IMX6ULL_DHCOR_Modul.png|320px|DHCOR i.MX6ULL-LG]]<br />
|-<br />
|[[Image:IMX6ULLModul.png|600px|DHCOM iMX6ULL-D2]]<br />
|}<br />
<br />
== Scope ==<br />
'''This is also the right page for the DHCOR module, because DHCOM is the reference design for the DHCOR module.'''<br />
<br />
== Hardware ==<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''Cortex-A7 NXP i.MX6ULL up to 900 MHz'''<br />
* 128 - 1024 MByte NAND flash memory (8 bit bus width) or<br>4 - 16 GByte eMMC flash (8 bit bus width)<br />
* 2 MB SPI boot flash<br />
* 128 - 1024 MByte DDR3-400<br />
* On module microSD card socket (4 bit SDIO) <sup>[1]</sup><br />
* LC display controller, 18 bit colors, 1366x768 pixels<br />
* On-chip touch controller for 4-wire resistive touch screens<br />
* 2x Ethernet controller 10/100 Mbit, IEEE1588 conform <sup>[2]</sup><br />
* USB 2.0 OTG high-speed<br />
* USB 2.0 host high speed<br />
* 2x Standard UART with hardware handshake support <sup>[3]</sup><sup>[4]</sup><br />
* WiFi iEEE802.11b/g/n + Bluetooth v4.1 (BR/EDR/BLE) module on BGA <sup>[1]</sup><sup>[4]</sup><br />
<br/><sup>[1]</sup> On module microSD card socket is only available if WiFi is not mounted.<br />
<br/><sup>[2]</sup> The second SPI is only available, if the second ethernet is not mounted.<br />
<br/><sup>[3]</sup> CTS and RTS of the first UART is only available if second CAN port is not connected.<br />
<br/><sup>[4]</sup> The second UART is only available if Bluetooth is not used. This means WiFi/BT module 1DX is not mounted or module 1FX (only WiFi) is mounted.<br />
<br/><sup>[5]</sup> I²S lines are shared with JTAG.<br />
|valign="top" style="border: 0pt;" | <br />
* 2x CAN interface <sup>[3]</sup><br />
* 2x SPI interface <sup>[2]</sup><br />
* 2x I²C interface <br />
* I²S Audio codec (1 x microphone, 1 x Line in, 1x Line out) <sup>[5]</sup><br />
* Real-time clock (I²C connection), low power temperature compensated<br />
* 2x 10 bit analog input (I²C connection)<br />
* 2x 256 Bytes EEPROM with integrated MAC address <br />
* PWM channel<br />
* 22 GPIOs (A-U + INT_HI_PRIO)<br />
* JTAG debug connection via FFC plug connector <br />
* Industrial temperature range (-40°C to +85°C)<br />
* SODIMM-200 socket with DHCOM pin assignment<br />
|}<br />
<br />
*[[COM iMX6ULL Hardware|Hardware Support]]<br />
<br />
== Product Change Notifications (PCN) ==<br />
==== DHCOR i.MX6ULL ====<br />
* [[media:PCN_DHCOR-iMX6ULL-001_R01_2020-02-18.pdf|PCN_DHCOR-iMX6ULL-001_R01_2020-02-18.pdf (IMX_THERMAL)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-002_R01_2020-02-18.pdf|PCN_DHCOR-iMX6ULL-002_R01_2020-02-18.pdf (SPEED_GRADING)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-003_R01_2020-02-18.pdf|PCN_DHCOR-iMX6ULL-003_R01_2020-02-18.pdf (Bootloader on eMMC)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-004_R01_2020-09-17.pdf|PCN_DHCOR-iMX6ULL-004_R01_2020-09-17.pdf (900MHz undervolt)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-005_R01_2021-05-05.pdf|PCN_DHCOR-iMX6ULL-005_R01_2021-05-05.pdf (VDD_SOC_CAP capacitor)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-006_R02_2021-05-10.pdf|PCN_DHCOR-iMX6ULL-006_R02_2021-05-10.pdf (PMIC buck converter mode)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-007_R01_2021-07-28.pdf|PCN_DHCOR-iMX6ULL-007_R01_2021-07-28.pdf (Change of PCB)]]<br />
==== DHCOM i.MX6ULL ====<br />
* [[media:PCN_DHCOM-iMX6ULL-001_R01_2021-12-23.pdf|PCN_DHCOM-iMX6ULL-001_R01_2021-12-23.pdf (microSD socket EOL)]]<br />
<br />
== Software Support ==<br />
*[[COM iMX6ULL Bootloader U-Boot|i.MX6ULL: Bootloader U-Boot]]<br />
*[[COM iMX6ULL Linux|i.MX6ULL: Linux]]<br />
*[[DHCOM Update Mechanism|DHCOM Update Mechanism]]<br />
*[[Yocto | Yocto on DHCOM]]<br />
<br />
== BSP Sources==<br />
==== [https://www.denx.de/wiki/U-Boot U-Boot] ====<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2018.05_dhcom DH U-Boot (based on v2018.05)]<br />
<br />
==== [https://www.kernel.org Linux Kernel] ====<br />
* Mainline<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/release/5.10.131_dhsom/20220725 DH 5.10.131 Release 2022-07-25]<br />
<br />
== Download binaries/images ==<br />
==== U-Boot (for eMMC DHCOMs) ====<br />
* [https://www.dropbox.com/s/jvdimyvwpr13dtg/u-boot-with-spl_imx6ull_2018.05-DH_v1.2_emmc-g7e1b0c7964.imx?raw=1 DH U-Boot v1.2 (based on v2018.05)]<br />
: More on how to program it with the U-Boot command "update bootloader ..." on the page [[DHCOM Update Mechanism#Commandline Mode|"DHCOM Update Mechanism"]]<br />
<br />
==== Update Kernel ====<br />
* Please contact DH electronics if you need a binary.<br />
: More on how to use it on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
==== Debian based images ====<br />
* Debian 10 "Buster" + Kernel 5.10.131 Release 2022-08-19<br />
<br />
:* [https://www.dropbox.com/s/ub1w39d5phtggot/HD00051_2022-08-19_imx6ull_buster_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/4il9qc1uxrelhm7/HD00051_2022-08-19_imx6ull_buster_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
Hint: You can also progam the eMMC by using the [[COM iMX6ULL Bootloader U-Boot#USB Mass Storage|U-Boot command "ums"]] (usable since U-Boot v2018.05)</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=DHCOM_iMX6-D2&diff=3818
DHCOM iMX6-D2
2023-04-04T09:33:45Z
<p>Christoph: /* U-Boot (for eMMC DHCOMs) */</p>
<hr />
<div>{|<br />
|<br />
|<br />
|-<br />
|__TOC__<br />
|[[Image:IM6Modul.png|600px|COM iMX6-D2]]<br />
|}<br />
<br />
== Hardware ==<br />
<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''Cortex-A9 Freescale i.MX6 Solo/DualLite/Dual/Quad up to 1.2GHz'''<br />
* 2D (GC320) / 3D (GC880/GC2000) graphics accelerator<br />
* 128 - 1024 MByte NAND flash memory (8 bit bus width) or<br/>4 - 16 GByte eMMC flash (8 bit bus width)<br />
* 2 MB SPI boot flash<br />
* 256 - 2048 MByte DDR3-1066 or DDR3-800<br />
* On module microSD card socket (4 bit SDIO) <sup>[1]</sup><br />
* SD/MMC card interface, 4 bit SDIO<br />
* LC display controller, 24 bit colors, 2048x1536 pixels<br />
* LVDS 4-channel, max. 165 Mpixels/s<br />
* On-board touch controller for 4-wire resistive touch screens<br />
* Ethernet controller 10/100 Mbit, IEEE1588 conform<br />
* USB 2.0 OTG high-speed<br />
* USB 2.0 host high speed<br />
* Full function UART <sup>[2]</sup><br />
* Standard UART with hardware handshake support<br />
* Standard UART<br />
<br/><sup>[1]</sup> On module microSD card socket is only available if second CAN port is not connected.<br />
<br/><sup>[2]</sup> CTS and RTS is only available if second CAN port is not connected.<br />
|valign="top" style="border: 0pt;" | <br />
* 2x CAN interface <sup>[1][2]</sup><br />
* 2x SPI interface <br />
* 2x I²C interface <br />
* I²S Audio codec (1 x microphone, 1 x Line in, 1x Line out)<br />
* Real-time clock (I²C connection), low power temperature compensated<br />
* 12 bit analog input <br />
* 128 Bytes EEPROM with integrated MAC address <br />
* 16 bit address/databus interface on SODIMM-200 socket <br />
* PWM channel<br />
* 24 GPIOs (A-W + INT_HI_PRIO)<br />
* JTAG debug connection via FFC plug connector <br />
* Industrial temperature range (-40°C to +85°C)<br />
* SODIMM-200 socket with DHCOM pin assignment<br />
|}<br />
<br />
*[[COM iMX6 Hardware|Hardware Support]]<br />
<br />
== Product Change Notifications (PCN) ==<br />
* [[media:PCN_iMX6_R01_2017-08-17.pdf|PCN_iMX6_R01_2017-08-17.pdf (4GByte eMMC)]]<br />
* [[media:PCN_iMX6_R02_2017-08-17.pdf|PCN_iMX6_R02_2017-08-17.pdf (8GByte eMMC)]]<br />
* [[media:PCN_iMX6_R03_2017-09-20.pdf|PCN_iMX6_R03_2017-09-20.pdf (SW ethernet bug)]]<br />
* [[media:PCN_iMX6_R04_2017-09-25.pdf|PCN_iMX6_R04_2017-09-25.pdf (Molex microSD socket)]]<br />
* [[media:PCN_iMX6_R05_2018-01-10.pdf|PCN_iMX6_R05_2018-01-10.pdf (512MB NAND flash)]]<br />
* [[media:PCN_iMX6_R06_2018-10-09.pdf|PCN_iMX6_R06_2018-10-09.pdf (label change)]]<br />
* [[media:PCN_iMX6_R07_2019-11-13.pdf|PCN_iMX6_R07_2019-11-13.pdf (4GByte eMMC)]]<br />
* [[media:PCN_iMX6_R08_2019-11-13.pdf|PCN_iMX6_R08_2019-11-13.pdf (8GByte eMMC)]]<br />
* [[media:PCN_iMX6-009_R01_2021-07-20.pdf|PCN_iMX6-009_R01_2021-07-20.pdf (SPI flash EOL)]]<br />
* [[media:PCN_DHCOM-iMX6-010_R01_2021-12-23.pdf|PCN_DHCOM-iMX6-010_R01_2021-12-23.pdf (microSD socket EOL)]]<br />
<br />
== Software Support ==<br />
*[[COM iMX6 Bootloader U-Boot|i.MX6: Bootloader U-Boot]]<br />
*[[COM iMX6 Linux|i.MX6: Linux]]<br />
*[[DHCOM Update Mechanism|DHCOM Update Mechanism]]<br />
* [https://github.com/dh-electronics/meta-dhsom-imx-bsp Yocto BSP meta layer --> Github]<br />
* [https://github.com/dh-electronics/kas-dhsom Easy Yocto build via KAS --> Github]<br />
*[[COM iMX6 WinCE|i.MX6: WinCE]]<br />
<br />
== BSP Sources==<br />
==== [https://www.denx.de/wiki/U-Boot U-Boot] ====<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/legacy/2018.05_dhcom DH U-Boot (based on v2018.05)]<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2015.10_dhcom DH U-Boot (based on v2015.10)(deprecated)]<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2013.10_dhcom DH U-Boot (based on v2013.10)(deprecated)]<br />
<br />
==== [https://www.kernel.org Linux Kernel] ====<br />
* Mainline<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/release/5.10.131_dhsom/20220725 DH 5.10.131 Release 2022-07-25]<br />
* NXP Vendor<br />
:* [https://github.com/dh-electronics/linux-imx6-vendor/tree/release/v4.1.15/20190926 DH 4.1.15 Release 2019-09-26]<br />
:* [https://github.com/dh-electronics/linux-imx6-vendor/tree/release/v3.10.17/20170804 DH 3.10.17 Release 2017-08-04]<br />
<br />
== Download binaries/images ==<br />
==== U-Boot (for eMMC DHCOMs) ====<br />
* [https://www.dropbox.com/s/i9ed2ex6x7ucj8w/u-boot-with-spl_imx6_v2.3.1.0_emmc.imx?raw=1 DH U-Boot v2.3.1.0 (based on v2018.05)]<br />
* [https://www.dropbox.com/s/e6dl6srzj5tbfot/v1-1-0-8_u-boot-imx6qdl.tar.xz?raw=1 DH U-Boot v1.1.0.8 (based on v2015.10)]<br />
: More on how to program it with the U-Boot command "update bootloader ..." on the page [[DHCOM Update Mechanism#Commandline Mode|"DHCOM Update Mechanism"]]<br />
<br />
==== Update Kernel ====<br />
* Please contact DH electronics if you need a binary.<br />
: More on how to use it on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
==== Debian based images ====<br />
* Debian 10 "Buster" + Kernel 5.10.131 Release 2022-08-19<br />
: Note: Devicetree is set to "imx6q-dhcom-pdk2.dtb" in uLinuxEnv.txt<br />
<br />
:* [https://www.dropbox.com/s/5qr7mayxmh9egvf/HD00035_2022-08-19_imx6_buster_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/r1tv1dmeqzt5gnl/HD00035_2022-08-19_imx6_buster_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
* Debian 8 "Jessie" with Qt5.9.1 + Vendor Kernel 4.1.15 Release 2019-09-26<br />
<br />
:* [https://www.dropbox.com/s/18f4hsj3lhp6e5w/HD00039_2019-09-26_imx6_jessie_qt5.9.1_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/3c6b96g7ijzkoay/HD00039_2019-09-26_imx6_jessie_qt5.9.1_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
Hint: You can also progam the eMMC by using the [[COM iMX6 Bootloader U-Boot#USB Mass Storage|U-Boot command "ums"]] (usable since U-Boot v2018.05)<br />
<br />
== Download Linux code examples ==<br />
==== [[Virtual Machine for Application Development#Code Examples for Userspace-Applications to Access SPI, I2C, GPIOs, and more|Code Examples for Userspace-Applications to Access SPI, I2C, GPIOs, and more]] ====<br />
<br />
== Download WEC ==<br />
==== WEC7 DHHalLib.dll (function library) ====<br />
* [[media:DHHalLib_WEC7_R11_2022-05-11.zip|Download DHHalLib Library Version 1.3.0.7]]<br />
* [[media:DHHalLib_Test_App_Source_WEC7_R10_2022-04-06.zip|DHHalLib Demo App Source Code ]]<br />
* [[media:DHHalLib_Test_App_Binary_WEC7_R10_2022-04-06.zip|DHHalLib Demo App Binary File]]<br />
* [[media:CSharp_LibWrapper_Source_WEC7_R09_2022-03-18.zip|Download DHHalLib CSharp Wrapper]]<br />
* [[media:CSharp_LibWrapper.zip|Download DHHalLib CSharp Demo Wrapper App ]]<br />
* [[media:CSharp_LibWrapper_Binary.zip|Download DHHalLib CSharp Demo Wrapper App Binary File]]<br />
<br />
==== WEC7 binary BSP ====<br />
* [[media:2016-05-19_DHCOM_iMX6_BSP_BIN.zip|Download WEC7 binary BSP (date: 2016-05-19)]]<br />
<br />
==== WEC2013 DHHalLib.dll (function library) ====<br />
* [[media:DHHalLib_WEC2013_R12_2021-10-01.zip|Download DHHalLib Library Version 1.4.2.2]]<br />
* [[media:DHHalLib_Test_App_Source_WEC2013_R07_2018_06_12.zip|DHHalLib Demo App Source Code ]]<br />
* [[media:DHHalLib_Test_App_Binary_WEC2013_R09_2021-10-01.zip|DHHalLib Demo App Binary File]]<br />
* [[media:CSharp_LibWrapper_Source_WEC2013_R07_2021-10-01.zip|Download DHHalLib CSharp Wrapper]]<br />
* [[media:CSharp_DHHalLib_Wrapper_App_Source_WEC2013_R05_2017_08_08.zip|DHHalLib C# Demo App Source Code]]<br />
* [[media:CSharp_DHHalLib_Wrapper_App_Binary_WEC2013_R05_2017_08_08.zip|DHHalLib C# Demo App Binary File]]</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=DHCOM_iMX6ULL-D2&diff=3813
DHCOM iMX6ULL-D2
2022-12-14T13:48:24Z
<p>Christoph: /* U-Boot (for eMMC DHCOMs) */</p>
<hr />
<div>{|<br />
|<br />
|<br />
|-<br />
|rowspan="2"|__TOC__<br />
|style="padding-left:100px"|[[Image:IMX6ULL_DHCOR_Modul.png|320px|DHCOR i.MX6ULL-LG]]<br />
|-<br />
|[[Image:IMX6ULLModul.png|600px|DHCOM iMX6ULL-D2]]<br />
|}<br />
<br />
== Scope ==<br />
'''This is also the right page for the DHCOR module, because DHCOM is the reference design for the DHCOR module.'''<br />
<br />
== Hardware ==<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''Cortex-A7 NXP i.MX6ULL up to 900 MHz'''<br />
* 128 - 1024 MByte NAND flash memory (8 bit bus width) or<br>4 - 16 GByte eMMC flash (8 bit bus width)<br />
* 2 MB SPI boot flash<br />
* 128 - 1024 MByte DDR3-400<br />
* On module microSD card socket (4 bit SDIO) <sup>[1]</sup><br />
* LC display controller, 18 bit colors, 1366x768 pixels<br />
* On-chip touch controller for 4-wire resistive touch screens<br />
* 2x Ethernet controller 10/100 Mbit, IEEE1588 conform <sup>[2]</sup><br />
* USB 2.0 OTG high-speed<br />
* USB 2.0 host high speed<br />
* 2x Standard UART with hardware handshake support <sup>[3]</sup><sup>[4]</sup><br />
* WiFi iEEE802.11b/g/n + Bluetooth v4.1 (BR/EDR/BLE) module on BGA <sup>[1]</sup><sup>[4]</sup><br />
<br/><sup>[1]</sup> On module microSD card socket is only available if WiFi is not mounted.<br />
<br/><sup>[2]</sup> The second SPI is only available, if the second ethernet is not mounted.<br />
<br/><sup>[3]</sup> CTS and RTS of the first UART is only available if second CAN port is not connected.<br />
<br/><sup>[4]</sup> The second UART is only available if Bluetooth is not used. This means WiFi/BT module 1DX is not mounted or module 1FX (only WiFi) is mounted.<br />
<br/><sup>[5]</sup> I²S lines are shared with JTAG.<br />
|valign="top" style="border: 0pt;" | <br />
* 2x CAN interface <sup>[3]</sup><br />
* 2x SPI interface <sup>[2]</sup><br />
* 2x I²C interface <br />
* I²S Audio codec (1 x microphone, 1 x Line in, 1x Line out) <sup>[5]</sup><br />
* Real-time clock (I²C connection), low power temperature compensated<br />
* 2x 10 bit analog input (I²C connection)<br />
* 2x 256 Bytes EEPROM with integrated MAC address <br />
* PWM channel<br />
* 22 GPIOs (A-U + INT_HI_PRIO)<br />
* JTAG debug connection via FFC plug connector <br />
* Industrial temperature range (-40°C to +85°C)<br />
* SODIMM-200 socket with DHCOM pin assignment<br />
|}<br />
<br />
*[[COM iMX6ULL Hardware|Hardware Support]]<br />
<br />
== Product Change Notifications (PCN) ==<br />
==== DHCOR i.MX6ULL ====<br />
* [[media:PCN_DHCOR-iMX6ULL-001_R01_2020-02-18.pdf|PCN_DHCOR-iMX6ULL-001_R01_2020-02-18.pdf (IMX_THERMAL)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-002_R01_2020-02-18.pdf|PCN_DHCOR-iMX6ULL-002_R01_2020-02-18.pdf (SPEED_GRADING)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-003_R01_2020-02-18.pdf|PCN_DHCOR-iMX6ULL-003_R01_2020-02-18.pdf (Bootloader on eMMC)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-004_R01_2020-09-17.pdf|PCN_DHCOR-iMX6ULL-004_R01_2020-09-17.pdf (900MHz undervolt)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-005_R01_2021-05-05.pdf|PCN_DHCOR-iMX6ULL-005_R01_2021-05-05.pdf (VDD_SOC_CAP capacitor)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-006_R02_2021-05-10.pdf|PCN_DHCOR-iMX6ULL-006_R02_2021-05-10.pdf (PMIC buck converter mode)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-007_R01_2021-07-28.pdf|PCN_DHCOR-iMX6ULL-007_R01_2021-07-28.pdf (Change of PCB)]]<br />
==== DHCOM i.MX6ULL ====<br />
* [[media:PCN_DHCOM-iMX6ULL-001_R01_2021-12-23.pdf|PCN_DHCOM-iMX6ULL-001_R01_2021-12-23.pdf (microSD socket EOL)]]<br />
<br />
== Software Support ==<br />
*[[COM iMX6ULL Bootloader U-Boot|i.MX6ULL: Bootloader U-Boot]]<br />
*[[COM iMX6ULL Linux|i.MX6ULL: Linux]]<br />
*[[DHCOM Update Mechanism|DHCOM Update Mechanism]]<br />
*[[Yocto | Yocto on DHCOM]]<br />
<br />
== BSP Sources==<br />
==== [https://www.denx.de/wiki/U-Boot U-Boot] ====<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2018.05_dhcom DH U-Boot (based on v2018.05)]<br />
<br />
==== [https://www.kernel.org Linux Kernel] ====<br />
* Mainline<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/release/5.10.131_dhsom/20220725 DH 5.10.131 Release 2022-07-25]<br />
<br />
== Download binaries/images ==<br />
==== U-Boot (for eMMC DHCOMs) ====<br />
* [https://www.dropbox.com/s/kxlnb6ij587f5pt/u-boot-with-spl_imx6ull_2018.05-DH_v1.1_emmc-g27bc1dbecc.imx?raw=1 DH U-Boot v1.1 (based on v2018.05)]<br />
: More on how to program it with the U-Boot command "update bootloader ..." on the page [[DHCOM Update Mechanism#Commandline Mode|"DHCOM Update Mechanism"]]<br />
<br />
==== Update Kernel ====<br />
* Please contact DH electronics if you need a binary.<br />
: More on how to use it on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
==== Debian based images ====<br />
* Debian 10 "Buster" + Kernel 5.10.131 Release 2022-08-19<br />
<br />
:* [https://www.dropbox.com/s/ub1w39d5phtggot/HD00051_2022-08-19_imx6ull_buster_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/4il9qc1uxrelhm7/HD00051_2022-08-19_imx6ull_buster_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
Hint: You can also progam the eMMC by using the [[COM iMX6ULL Bootloader U-Boot#USB Mass Storage|U-Boot command "ums"]] (usable since U-Boot v2018.05)</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=DHCOM_iMX6ULL-D2&diff=3762
DHCOM iMX6ULL-D2
2022-10-12T21:44:53Z
<p>Christoph: /* U-Boot (for eMMC DHCOMs) */</p>
<hr />
<div>{|<br />
|<br />
|<br />
|-<br />
|rowspan="2"|__TOC__<br />
|style="padding-left:100px"|[[Image:IMX6ULL_DHCOR_Modul.png|320px|DHCOR i.MX6ULL-LG]]<br />
|-<br />
|[[Image:IMX6ULLModul.png|600px|DHCOM iMX6ULL-D2]]<br />
|}<br />
<br />
== Scope ==<br />
'''This is also the right page for the DHCOR module, because DHCOM is the reference design for the DHCOR module.'''<br />
<br />
== Hardware ==<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''Cortex-A7 NXP i.MX6ULL up to 900 MHz'''<br />
* 128 - 1024 MByte NAND flash memory (8 bit bus width) or<br>4 - 16 GByte eMMC flash (8 bit bus width)<br />
* 2 MB SPI boot flash<br />
* 128 - 1024 MByte DDR3-400<br />
* On module microSD card socket (4 bit SDIO) <sup>[1]</sup><br />
* LC display controller, 18 bit colors, 1366x768 pixels<br />
* On-chip touch controller for 4-wire resistive touch screens<br />
* 2x Ethernet controller 10/100 Mbit, IEEE1588 conform <sup>[2]</sup><br />
* USB 2.0 OTG high-speed<br />
* USB 2.0 host high speed<br />
* 2x Standard UART with hardware handshake support <sup>[3]</sup><sup>[4]</sup><br />
* WiFi iEEE802.11b/g/n + Bluetooth v4.1 (BR/EDR/BLE) module on BGA <sup>[1]</sup><sup>[4]</sup><br />
<br/><sup>[1]</sup> On module microSD card socket is only available if WiFi is not mounted.<br />
<br/><sup>[2]</sup> The second SPI is only available, if the second ethernet is not mounted.<br />
<br/><sup>[3]</sup> CTS and RTS of the first UART is only available if second CAN port is not connected.<br />
<br/><sup>[4]</sup> The second UART is only available if Bluetooth is not used. This means WiFi/BT module 1DX is not mounted or module 1FX (only WiFi) is mounted.<br />
<br/><sup>[5]</sup> I²S lines are shared with JTAG.<br />
|valign="top" style="border: 0pt;" | <br />
* 2x CAN interface <sup>[3]</sup><br />
* 2x SPI interface <sup>[2]</sup><br />
* 2x I²C interface <br />
* I²S Audio codec (1 x microphone, 1 x Line in, 1x Line out) <sup>[5]</sup><br />
* Real-time clock (I²C connection), low power temperature compensated<br />
* 2x 10 bit analog input (I²C connection)<br />
* 2x 256 Bytes EEPROM with integrated MAC address <br />
* PWM channel<br />
* 22 GPIOs (A-U + INT_HI_PRIO)<br />
* JTAG debug connection via FFC plug connector <br />
* Industrial temperature range (-40°C to +85°C)<br />
* SODIMM-200 socket with DHCOM pin assignment<br />
|}<br />
<br />
*[[COM iMX6ULL Hardware|Hardware Support]]<br />
<br />
== Product Change Notifications (PCN) ==<br />
==== DHCOR i.MX6ULL ====<br />
* [[media:PCN_DHCOR-iMX6ULL-001_R01_2020-02-18.pdf|PCN_DHCOR-iMX6ULL-001_R01_2020-02-18.pdf (IMX_THERMAL)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-002_R01_2020-02-18.pdf|PCN_DHCOR-iMX6ULL-002_R01_2020-02-18.pdf (SPEED_GRADING)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-003_R01_2020-02-18.pdf|PCN_DHCOR-iMX6ULL-003_R01_2020-02-18.pdf (Bootloader on eMMC)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-004_R01_2020-09-17.pdf|PCN_DHCOR-iMX6ULL-004_R01_2020-09-17.pdf (900MHz undervolt)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-005_R01_2021-05-05.pdf|PCN_DHCOR-iMX6ULL-005_R01_2021-05-05.pdf (VDD_SOC_CAP capacitor)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-006_R02_2021-05-10.pdf|PCN_DHCOR-iMX6ULL-006_R02_2021-05-10.pdf (PMIC buck converter mode)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-007_R01_2021-07-28.pdf|PCN_DHCOR-iMX6ULL-007_R01_2021-07-28.pdf (Change of PCB)]]<br />
==== DHCOM i.MX6ULL ====<br />
* [[media:PCN_DHCOM-iMX6ULL-001_R01_2021-12-23.pdf|PCN_DHCOM-iMX6ULL-001_R01_2021-12-23.pdf (microSD socket EOL)]]<br />
<br />
== Software Support ==<br />
*[[COM iMX6ULL Bootloader U-Boot|i.MX6ULL: Bootloader U-Boot]]<br />
*[[COM iMX6ULL Linux|i.MX6ULL: Linux]]<br />
*[[DHCOM Update Mechanism|DHCOM Update Mechanism]]<br />
*[[Yocto | Yocto on DHCOM]]<br />
<br />
== BSP Sources==<br />
==== [https://www.denx.de/wiki/U-Boot U-Boot] ====<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2018.05_dhcom DH U-Boot (based on v2018.05)]<br />
<br />
==== [https://www.kernel.org Linux Kernel] ====<br />
* Mainline<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/release/5.10.131_dhsom/20220725 DH 5.10.131 Release 2022-07-25]<br />
<br />
== Download binaries/images ==<br />
==== U-Boot (for eMMC DHCOMs) ====<br />
* [https://www.dropbox.com/s/d9ql37xr3k5j86c/u-boot-with-spl_imx6ull_2018.05-DH_v1.0_emmc-gc532f56e32.imx?raw=1 DH U-Boot v1.0 (based on v2018.05)]<br />
: More on how to program it with the U-Boot command "update bootloader ..." on the page [[DHCOM Update Mechanism#Commandline Mode|"DHCOM Update Mechanism"]]<br />
<br />
==== Update Kernel ====<br />
* Please contact DH electronics if you need a binary.<br />
: More on how to use it on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
==== Debian based images ====<br />
* Debian 10 "Buster" + Kernel 5.10.131 Release 2022-08-19<br />
<br />
:* [https://www.dropbox.com/s/ub1w39d5phtggot/HD00051_2022-08-19_imx6ull_buster_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/4il9qc1uxrelhm7/HD00051_2022-08-19_imx6ull_buster_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
Hint: You can also progam the eMMC by using the [[COM iMX6ULL Bootloader U-Boot#USB Mass Storage|U-Boot command "ums"]] (usable since U-Boot v2018.05)</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=DHCOM_iMX6ULL-D2&diff=3761
DHCOM iMX6ULL-D2
2022-10-12T08:37:09Z
<p>Christoph: /* U-Boot (for eMMC DHCOMs) */</p>
<hr />
<div>{|<br />
|<br />
|<br />
|-<br />
|rowspan="2"|__TOC__<br />
|style="padding-left:100px"|[[Image:IMX6ULL_DHCOR_Modul.png|320px|DHCOR i.MX6ULL-LG]]<br />
|-<br />
|[[Image:IMX6ULLModul.png|600px|DHCOM iMX6ULL-D2]]<br />
|}<br />
<br />
== Scope ==<br />
'''This is also the right page for the DHCOR module, because DHCOM is the reference design for the DHCOR module.'''<br />
<br />
== Hardware ==<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''Cortex-A7 NXP i.MX6ULL up to 900 MHz'''<br />
* 128 - 1024 MByte NAND flash memory (8 bit bus width) or<br>4 - 16 GByte eMMC flash (8 bit bus width)<br />
* 2 MB SPI boot flash<br />
* 128 - 1024 MByte DDR3-400<br />
* On module microSD card socket (4 bit SDIO) <sup>[1]</sup><br />
* LC display controller, 18 bit colors, 1366x768 pixels<br />
* On-chip touch controller for 4-wire resistive touch screens<br />
* 2x Ethernet controller 10/100 Mbit, IEEE1588 conform <sup>[2]</sup><br />
* USB 2.0 OTG high-speed<br />
* USB 2.0 host high speed<br />
* 2x Standard UART with hardware handshake support <sup>[3]</sup><sup>[4]</sup><br />
* WiFi iEEE802.11b/g/n + Bluetooth v4.1 (BR/EDR/BLE) module on BGA <sup>[1]</sup><sup>[4]</sup><br />
<br/><sup>[1]</sup> On module microSD card socket is only available if WiFi is not mounted.<br />
<br/><sup>[2]</sup> The second SPI is only available, if the second ethernet is not mounted.<br />
<br/><sup>[3]</sup> CTS and RTS of the first UART is only available if second CAN port is not connected.<br />
<br/><sup>[4]</sup> The second UART is only available if Bluetooth is not used. This means WiFi/BT module 1DX is not mounted or module 1FX (only WiFi) is mounted.<br />
<br/><sup>[5]</sup> I²S lines are shared with JTAG.<br />
|valign="top" style="border: 0pt;" | <br />
* 2x CAN interface <sup>[3]</sup><br />
* 2x SPI interface <sup>[2]</sup><br />
* 2x I²C interface <br />
* I²S Audio codec (1 x microphone, 1 x Line in, 1x Line out) <sup>[5]</sup><br />
* Real-time clock (I²C connection), low power temperature compensated<br />
* 2x 10 bit analog input (I²C connection)<br />
* 2x 256 Bytes EEPROM with integrated MAC address <br />
* PWM channel<br />
* 22 GPIOs (A-U + INT_HI_PRIO)<br />
* JTAG debug connection via FFC plug connector <br />
* Industrial temperature range (-40°C to +85°C)<br />
* SODIMM-200 socket with DHCOM pin assignment<br />
|}<br />
<br />
*[[COM iMX6ULL Hardware|Hardware Support]]<br />
<br />
== Product Change Notifications (PCN) ==<br />
==== DHCOR i.MX6ULL ====<br />
* [[media:PCN_DHCOR-iMX6ULL-001_R01_2020-02-18.pdf|PCN_DHCOR-iMX6ULL-001_R01_2020-02-18.pdf (IMX_THERMAL)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-002_R01_2020-02-18.pdf|PCN_DHCOR-iMX6ULL-002_R01_2020-02-18.pdf (SPEED_GRADING)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-003_R01_2020-02-18.pdf|PCN_DHCOR-iMX6ULL-003_R01_2020-02-18.pdf (Bootloader on eMMC)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-004_R01_2020-09-17.pdf|PCN_DHCOR-iMX6ULL-004_R01_2020-09-17.pdf (900MHz undervolt)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-005_R01_2021-05-05.pdf|PCN_DHCOR-iMX6ULL-005_R01_2021-05-05.pdf (VDD_SOC_CAP capacitor)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-006_R02_2021-05-10.pdf|PCN_DHCOR-iMX6ULL-006_R02_2021-05-10.pdf (PMIC buck converter mode)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-007_R01_2021-07-28.pdf|PCN_DHCOR-iMX6ULL-007_R01_2021-07-28.pdf (Change of PCB)]]<br />
==== DHCOM i.MX6ULL ====<br />
* [[media:PCN_DHCOM-iMX6ULL-001_R01_2021-12-23.pdf|PCN_DHCOM-iMX6ULL-001_R01_2021-12-23.pdf (microSD socket EOL)]]<br />
<br />
== Software Support ==<br />
*[[COM iMX6ULL Bootloader U-Boot|i.MX6ULL: Bootloader U-Boot]]<br />
*[[COM iMX6ULL Linux|i.MX6ULL: Linux]]<br />
*[[DHCOM Update Mechanism|DHCOM Update Mechanism]]<br />
*[[Yocto | Yocto on DHCOM]]<br />
<br />
== BSP Sources==<br />
==== [https://www.denx.de/wiki/U-Boot U-Boot] ====<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2018.05_dhcom DH U-Boot (based on v2018.05)]<br />
<br />
==== [https://www.kernel.org Linux Kernel] ====<br />
* Mainline<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/release/5.10.131_dhsom/20220725 DH 5.10.131 Release 2022-07-25]<br />
<br />
== Download binaries/images ==<br />
==== U-Boot (for eMMC DHCOMs) ====<br />
* [https://www.dropbox.com/s/d00np27blt0wkx3/u-boot-with-spl_imx6ull_2018.05-DH_v1.0_emmc-g9b054abf63.imx?raw=1 DH U-Boot v1.0 (based on v2018.05)]<br />
: More on how to program it with the U-Boot command "update bootloader ..." on the page [[DHCOM Update Mechanism#Commandline Mode|"DHCOM Update Mechanism"]]<br />
<br />
==== Update Kernel ====<br />
* Please contact DH electronics if you need a binary.<br />
: More on how to use it on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
==== Debian based images ====<br />
* Debian 10 "Buster" + Kernel 5.10.131 Release 2022-08-19<br />
<br />
:* [https://www.dropbox.com/s/ub1w39d5phtggot/HD00051_2022-08-19_imx6ull_buster_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/4il9qc1uxrelhm7/HD00051_2022-08-19_imx6ull_buster_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
Hint: You can also progam the eMMC by using the [[COM iMX6ULL Bootloader U-Boot#USB Mass Storage|U-Boot command "ums"]] (usable since U-Boot v2018.05)</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=DHCOM_iMX6-D2&diff=3760
DHCOM iMX6-D2
2022-10-10T16:12:14Z
<p>Christoph: /* U-Boot (for eMMC DHCOMs) */</p>
<hr />
<div>{|<br />
|<br />
|<br />
|-<br />
|__TOC__<br />
|[[Image:IM6Modul.png|600px|COM iMX6-D2]]<br />
|}<br />
<br />
== Hardware ==<br />
<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''Cortex-A9 Freescale i.MX6 Solo/DualLite/Dual/Quad up to 1.2GHz'''<br />
* 2D (GC320) / 3D (GC880/GC2000) graphics accelerator<br />
* 128 - 1024 MByte NAND flash memory (8 bit bus width) or<br/>4 - 16 GByte eMMC flash (8 bit bus width)<br />
* 2 MB SPI boot flash<br />
* 256 - 2048 MByte DDR3-1066 or DDR3-800<br />
* On module microSD card socket (4 bit SDIO) <sup>[1]</sup><br />
* SD/MMC card interface, 4 bit SDIO<br />
* LC display controller, 24 bit colors, 2048x1536 pixels<br />
* LVDS 4-channel, max. 165 Mpixels/s<br />
* On-board touch controller for 4-wire resistive touch screens<br />
* Ethernet controller 10/100 Mbit, IEEE1588 conform<br />
* USB 2.0 OTG high-speed<br />
* USB 2.0 host high speed<br />
* Full function UART <sup>[2]</sup><br />
* Standard UART with hardware handshake support<br />
* Standard UART<br />
<br/><sup>[1]</sup> On module microSD card socket is only available if second CAN port is not connected.<br />
<br/><sup>[2]</sup> CTS and RTS is only available if second CAN port is not connected.<br />
|valign="top" style="border: 0pt;" | <br />
* 2x CAN interface <sup>[1][2]</sup><br />
* 2x SPI interface <br />
* 2x I²C interface <br />
* I²S Audio codec (1 x microphone, 1 x Line in, 1x Line out)<br />
* Real-time clock (I²C connection), low power temperature compensated<br />
* 12 bit analog input <br />
* 128 Bytes EEPROM with integrated MAC address <br />
* 16 bit address/databus interface on SODIMM-200 socket <br />
* PWM channel<br />
* 24 GPIOs (A-W + INT_HI_PRIO)<br />
* JTAG debug connection via FFC plug connector <br />
* Industrial temperature range (-40°C to +85°C)<br />
* SODIMM-200 socket with DHCOM pin assignment<br />
|}<br />
<br />
*[[COM iMX6 Hardware|Hardware Support]]<br />
<br />
== Product Change Notifications (PCN) ==<br />
* [[media:PCN_iMX6_R01_2017-08-17.pdf|PCN_iMX6_R01_2017-08-17.pdf (4GByte eMMC)]]<br />
* [[media:PCN_iMX6_R02_2017-08-17.pdf|PCN_iMX6_R02_2017-08-17.pdf (8GByte eMMC)]]<br />
* [[media:PCN_iMX6_R03_2017-09-20.pdf|PCN_iMX6_R03_2017-09-20.pdf (SW ethernet bug)]]<br />
* [[media:PCN_iMX6_R04_2017-09-25.pdf|PCN_iMX6_R04_2017-09-25.pdf (Molex microSD socket)]]<br />
* [[media:PCN_iMX6_R05_2018-01-10.pdf|PCN_iMX6_R05_2018-01-10.pdf (512MB NAND flash)]]<br />
* [[media:PCN_iMX6_R06_2018-10-09.pdf|PCN_iMX6_R06_2018-10-09.pdf (label change)]]<br />
* [[media:PCN_iMX6_R07_2019-11-13.pdf|PCN_iMX6_R07_2019-11-13.pdf (4GByte eMMC)]]<br />
* [[media:PCN_iMX6_R08_2019-11-13.pdf|PCN_iMX6_R08_2019-11-13.pdf (8GByte eMMC)]]<br />
* [[media:PCN_iMX6-009_R01_2021-07-20.pdf|PCN_iMX6-009_R01_2021-07-20.pdf (SPI flash EOL)]]<br />
* [[media:PCN_DHCOM-iMX6-010_R01_2021-12-23.pdf|PCN_DHCOM-iMX6-010_R01_2021-12-23.pdf (microSD socket EOL)]]<br />
<br />
== Software Support ==<br />
*[[COM iMX6 Bootloader U-Boot|i.MX6: Bootloader U-Boot]]<br />
*[[COM iMX6 Linux|i.MX6: Linux]]<br />
*[[DHCOM Update Mechanism|DHCOM Update Mechanism]]<br />
*[[Yocto | Yocto on DHCOM]]<br />
*[[COM iMX6 WinCE|i.MX6: WinCE]]<br />
<br />
== BSP Sources==<br />
==== [https://www.denx.de/wiki/U-Boot U-Boot] ====<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/legacy/2018.05_dhcom DH U-Boot (based on v2018.05)]<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2015.10_dhcom DH U-Boot (based on v2015.10)(deprecated)]<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2013.10_dhcom DH U-Boot (based on v2013.10)(deprecated)]<br />
<br />
==== [https://www.kernel.org Linux Kernel] ====<br />
* Mainline<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/release/5.10.131_dhsom/20220725 DH 5.10.131 Release 2022-07-25]<br />
* NXP Vendor<br />
:* [https://github.com/dh-electronics/linux-imx6-vendor/tree/release/v4.1.15/20190926 DH 4.1.15 Release 2019-09-26]<br />
:* [https://github.com/dh-electronics/linux-imx6-vendor/tree/release/v3.10.17/20170804 DH 3.10.17 Release 2017-08-04]<br />
<br />
== Download binaries/images ==<br />
==== U-Boot (for eMMC DHCOMs) ====<br />
* [https://www.dropbox.com/s/s618pt8imevieu4/u-boot-with-spl_imx6_v2.3.0.0_emmc.imx?raw=1 DH U-Boot v2.3.0.0 (based on v2018.05)]<br />
* [https://www.dropbox.com/s/e6dl6srzj5tbfot/v1-1-0-8_u-boot-imx6qdl.tar.xz?raw=1 DH U-Boot v1.1.0.8 (based on v2015.10)]<br />
: More on how to program it with the U-Boot command "update bootloader ..." on the page [[DHCOM Update Mechanism#Commandline Mode|"DHCOM Update Mechanism"]]<br />
<br />
==== Update Kernel ====<br />
* Please contact DH electronics if you need a binary.<br />
: More on how to use it on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
==== Debian based images ====<br />
* Debian 10 "Buster" + Kernel 5.10.131 Release 2022-08-19<br />
: Note: Devicetree is set to "imx6q-dhcom-pdk2.dtb" in uLinuxEnv.txt<br />
<br />
:* [https://www.dropbox.com/s/5qr7mayxmh9egvf/HD00035_2022-08-19_imx6_buster_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/r1tv1dmeqzt5gnl/HD00035_2022-08-19_imx6_buster_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
* Debian 8 "Jessie" with Qt5.9.1 + Vendor Kernel 4.1.15 Release 2019-09-26<br />
<br />
:* [https://www.dropbox.com/s/18f4hsj3lhp6e5w/HD00039_2019-09-26_imx6_jessie_qt5.9.1_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/3c6b96g7ijzkoay/HD00039_2019-09-26_imx6_jessie_qt5.9.1_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
Hint: You can also progam the eMMC by using the [[COM iMX6 Bootloader U-Boot#USB Mass Storage|U-Boot command "ums"]] (usable since U-Boot v2018.05)<br />
<br />
== Download Linux code examples ==<br />
==== [[Virtual Machine for Application Development#Code Examples for Userspace-Applications to Access SPI, I2C, GPIOs, and more|Code Examples for Userspace-Applications to Access SPI, I2C, GPIOs, and more]] ====<br />
<br />
== Download WEC ==<br />
==== WEC7 DHHalLib.dll (function library) ====<br />
* [[media:DHHalLib_WEC7_R11_2022-05-11.zip|Download DHHalLib Library Version 1.3.0.7]]<br />
* [[media:DHHalLib_Test_App_Source_WEC7_R10_2022-04-06.zip|DHHalLib Demo App Source Code ]]<br />
* [[media:DHHalLib_Test_App_Binary_WEC7_R10_2022-04-06.zip|DHHalLib Demo App Binary File]]<br />
* [[media:CSharp_LibWrapper_Source_WEC7_R09_2022-03-18.zip|Download DHHalLib CSharp Wrapper]]<br />
* [[media:CSharp_LibWrapper.zip|Download DHHalLib CSharp Demo Wrapper App ]]<br />
* [[media:CSharp_LibWrapper_Binary.zip|Download DHHalLib CSharp Demo Wrapper App Binary File]]<br />
<br />
==== WEC7 binary BSP ====<br />
* [[media:2016-05-19_DHCOM_iMX6_BSP_BIN.zip|Download WEC7 binary BSP (date: 2016-05-19)]]<br />
<br />
==== WEC2013 DHHalLib.dll (function library) ====<br />
* [[media:DHHalLib_WEC2013_R12_2021-10-01.zip|Download DHHalLib Library Version 1.4.2.2]]<br />
* [[media:DHHalLib_Test_App_Source_WEC2013_R07_2018_06_12.zip|DHHalLib Demo App Source Code ]]<br />
* [[media:DHHalLib_Test_App_Binary_WEC2013_R09_2021-10-01.zip|DHHalLib Demo App Binary File]]<br />
* [[media:CSharp_LibWrapper_Source_WEC2013_R07_2021-10-01.zip|Download DHHalLib CSharp Wrapper]]<br />
* [[media:CSharp_DHHalLib_Wrapper_App_Source_WEC2013_R05_2017_08_08.zip|DHHalLib C# Demo App Source Code]]<br />
* [[media:CSharp_DHHalLib_Wrapper_App_Binary_WEC2013_R05_2017_08_08.zip|DHHalLib C# Demo App Binary File]]</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=DHCOM_iMX6ULL-D2&diff=3733
DHCOM iMX6ULL-D2
2022-08-20T18:48:25Z
<p>Christoph: /* Debian based images */</p>
<hr />
<div>{|<br />
|<br />
|<br />
|-<br />
|rowspan="2"|__TOC__<br />
|style="padding-left:100px"|[[Image:IMX6ULL_DHCOR_Modul.png|320px|DHCOR i.MX6ULL-LG]]<br />
|-<br />
|[[Image:IMX6ULLModul.png|600px|DHCOM iMX6ULL-D2]]<br />
|}<br />
<br />
== Scope ==<br />
'''This is also the right page for the DHCOR module, because DHCOM is the reference design for the DHCOR module.'''<br />
<br />
== Hardware ==<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''Cortex-A7 NXP i.MX6ULL up to 900 MHz'''<br />
* 128 - 1024 MByte NAND flash memory (8 bit bus width) or<br>4 - 16 GByte eMMC flash (8 bit bus width)<br />
* 2 MB SPI boot flash<br />
* 128 - 1024 MByte DDR3-400<br />
* On module microSD card socket (4 bit SDIO) <sup>[1]</sup><br />
* LC display controller, 18 bit colors, 1366x768 pixels<br />
* On-chip touch controller for 4-wire resistive touch screens<br />
* 2x Ethernet controller 10/100 Mbit, IEEE1588 conform <sup>[2]</sup><br />
* USB 2.0 OTG high-speed<br />
* USB 2.0 host high speed<br />
* 2x Standard UART with hardware handshake support <sup>[3]</sup><sup>[4]</sup><br />
* WiFi iEEE802.11b/g/n + Bluetooth v4.1 (BR/EDR/BLE) module on BGA <sup>[1]</sup><sup>[4]</sup><br />
<br/><sup>[1]</sup> On module microSD card socket is only available if WiFi is not mounted.<br />
<br/><sup>[2]</sup> The second SPI is only available, if the second ethernet is not mounted.<br />
<br/><sup>[3]</sup> CTS and RTS of the first UART is only available if second CAN port is not connected.<br />
<br/><sup>[4]</sup> The second UART is only available if Bluetooth is not used. This means WiFi/BT module 1DX is not mounted or module 1FX (only WiFi) is mounted.<br />
<br/><sup>[5]</sup> I²S lines are shared with JTAG.<br />
|valign="top" style="border: 0pt;" | <br />
* 2x CAN interface <sup>[3]</sup><br />
* 2x SPI interface <sup>[2]</sup><br />
* 2x I²C interface <br />
* I²S Audio codec (1 x microphone, 1 x Line in, 1x Line out) <sup>[5]</sup><br />
* Real-time clock (I²C connection), low power temperature compensated<br />
* 2x 10 bit analog input (I²C connection)<br />
* 2x 256 Bytes EEPROM with integrated MAC address <br />
* PWM channel<br />
* 22 GPIOs (A-U + INT_HI_PRIO)<br />
* JTAG debug connection via FFC plug connector <br />
* Industrial temperature range (-40°C to +85°C)<br />
* SODIMM-200 socket with DHCOM pin assignment<br />
|}<br />
<br />
*[[COM iMX6ULL Hardware|Hardware Support]]<br />
<br />
== Product Change Notifications (PCN) ==<br />
==== DHCOR i.MX6ULL ====<br />
* [[media:PCN_DHCOR-iMX6ULL-001_R01_2020-02-18.pdf|PCN_DHCOR-iMX6ULL-001_R01_2020-02-18.pdf (IMX_THERMAL)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-002_R01_2020-02-18.pdf|PCN_DHCOR-iMX6ULL-002_R01_2020-02-18.pdf (SPEED_GRADING)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-003_R01_2020-02-18.pdf|PCN_DHCOR-iMX6ULL-003_R01_2020-02-18.pdf (Bootloader on eMMC)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-004_R01_2020-09-17.pdf|PCN_DHCOR-iMX6ULL-004_R01_2020-09-17.pdf (900MHz undervolt)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-005_R01_2021-05-05.pdf|PCN_DHCOR-iMX6ULL-005_R01_2021-05-05.pdf (VDD_SOC_CAP capacitor)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-006_R02_2021-05-10.pdf|PCN_DHCOR-iMX6ULL-006_R02_2021-05-10.pdf (PMIC buck converter mode)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-007_R01_2021-07-28.pdf|PCN_DHCOR-iMX6ULL-007_R01_2021-07-28.pdf (Change of PCB)]]<br />
==== DHCOM i.MX6ULL ====<br />
* [[media:PCN_DHCOM-iMX6ULL-001_R01_2021-12-23.pdf|PCN_DHCOM-iMX6ULL-001_R01_2021-12-23.pdf (microSD socket EOL)]]<br />
<br />
== Software Support ==<br />
*[[COM iMX6ULL Bootloader U-Boot|i.MX6ULL: Bootloader U-Boot]]<br />
*[[COM iMX6ULL Linux|i.MX6ULL: Linux]]<br />
*[[DHCOM Update Mechanism|DHCOM Update Mechanism]]<br />
*[[Yocto | Yocto on DHCOM]]<br />
<br />
== BSP Sources==<br />
==== [https://www.denx.de/wiki/U-Boot U-Boot] ====<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2018.05_dhcom DH U-Boot (based on v2018.05)]<br />
<br />
==== [https://www.kernel.org Linux Kernel] ====<br />
* Mainline<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/release/5.10.131_dhsom/20220725 DH 5.10.131 Release 2022-07-25]<br />
<br />
== Download binaries/images ==<br />
==== U-Boot (for eMMC DHCOMs) ====<br />
* [https://www.dropbox.com/s/30i7ddwxtqrkr09/u-boot-with-spl_imx6ull_2018.05-DH_v0.30_emmc-g61cebade93.imx?raw=1 DH U-Boot v0.30 (based on v2018.05)]<br />
: More on how to program it with the U-Boot command "update bootloader ..." on the page [[DHCOM Update Mechanism#Commandline Mode|"DHCOM Update Mechanism"]]<br />
<br />
==== Update Kernel ====<br />
* Please contact DH electronics if you need a binary.<br />
: More on how to use it on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
==== Debian based images ====<br />
* Debian 10 "Buster" + Kernel 5.10.131 Release 2022-08-19<br />
<br />
:* [https://www.dropbox.com/s/ub1w39d5phtggot/HD00051_2022-08-19_imx6ull_buster_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/4il9qc1uxrelhm7/HD00051_2022-08-19_imx6ull_buster_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
Hint: You can also progam the eMMC by using the [[COM iMX6ULL Bootloader U-Boot#USB Mass Storage|U-Boot command "ums"]] (usable since U-Boot v2018.05)</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=DHCOM_iMX6-D2&diff=3732
DHCOM iMX6-D2
2022-08-20T15:52:59Z
<p>Christoph: /* Debian based images */</p>
<hr />
<div>{|<br />
|<br />
|<br />
|-<br />
|__TOC__<br />
|[[Image:IM6Modul.png|600px|COM iMX6-D2]]<br />
|}<br />
<br />
== Hardware ==<br />
<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''Cortex-A9 Freescale i.MX6 Solo/DualLite/Dual/Quad up to 1.2GHz'''<br />
* 2D (GC320) / 3D (GC880/GC2000) graphics accelerator<br />
* 128 - 1024 MByte NAND flash memory (8 bit bus width) or<br/>4 - 16 GByte eMMC flash (8 bit bus width)<br />
* 2 MB SPI boot flash<br />
* 256 - 2048 MByte DDR3-1066 or DDR3-800<br />
* On module microSD card socket (4 bit SDIO) <sup>[1]</sup><br />
* SD/MMC card interface, 4 bit SDIO<br />
* LC display controller, 24 bit colors, 2048x1536 pixels<br />
* LVDS 4-channel, max. 165 Mpixels/s<br />
* On-board touch controller for 4-wire resistive touch screens<br />
* Ethernet controller 10/100 Mbit, IEEE1588 conform<br />
* USB 2.0 OTG high-speed<br />
* USB 2.0 host high speed<br />
* Full function UART <sup>[2]</sup><br />
* Standard UART with hardware handshake support<br />
* Standard UART<br />
<br/><sup>[1]</sup> On module microSD card socket is only available if second CAN port is not connected.<br />
<br/><sup>[2]</sup> CTS and RTS is only available if second CAN port is not connected.<br />
|valign="top" style="border: 0pt;" | <br />
* 2x CAN interface <sup>[1][2]</sup><br />
* 2x SPI interface <br />
* 2x I²C interface <br />
* I²S Audio codec (1 x microphone, 1 x Line in, 1x Line out)<br />
* Real-time clock (I²C connection), low power temperature compensated<br />
* 12 bit analog input <br />
* 128 Bytes EEPROM with integrated MAC address <br />
* 16 bit address/databus interface on SODIMM-200 socket <br />
* PWM channel<br />
* 24 GPIOs (A-W + INT_HI_PRIO)<br />
* JTAG debug connection via FFC plug connector <br />
* Industrial temperature range (-40°C to +85°C)<br />
* SODIMM-200 socket with DHCOM pin assignment<br />
|}<br />
<br />
*[[COM iMX6 Hardware|Hardware Support]]<br />
<br />
== Product Change Notifications (PCN) ==<br />
* [[media:PCN_iMX6_R01_2017-08-17.pdf|PCN_iMX6_R01_2017-08-17.pdf (4GByte eMMC)]]<br />
* [[media:PCN_iMX6_R02_2017-08-17.pdf|PCN_iMX6_R02_2017-08-17.pdf (8GByte eMMC)]]<br />
* [[media:PCN_iMX6_R03_2017-09-20.pdf|PCN_iMX6_R03_2017-09-20.pdf (SW ethernet bug)]]<br />
* [[media:PCN_iMX6_R04_2017-09-25.pdf|PCN_iMX6_R04_2017-09-25.pdf (Molex microSD socket)]]<br />
* [[media:PCN_iMX6_R05_2018-01-10.pdf|PCN_iMX6_R05_2018-01-10.pdf (512MB NAND flash)]]<br />
* [[media:PCN_iMX6_R06_2018-10-09.pdf|PCN_iMX6_R06_2018-10-09.pdf (label change)]]<br />
* [[media:PCN_iMX6_R07_2019-11-13.pdf|PCN_iMX6_R07_2019-11-13.pdf (4GByte eMMC)]]<br />
* [[media:PCN_iMX6_R08_2019-11-13.pdf|PCN_iMX6_R08_2019-11-13.pdf (8GByte eMMC)]]<br />
* [[media:PCN_iMX6-009_R01_2021-07-20.pdf|PCN_iMX6-009_R01_2021-07-20.pdf (SPI flash EOL)]]<br />
* [[media:PCN_DHCOM-iMX6-010_R01_2021-12-23.pdf|PCN_DHCOM-iMX6-010_R01_2021-12-23.pdf (microSD socket EOL)]]<br />
<br />
== Software Support ==<br />
*[[COM iMX6 Bootloader U-Boot|i.MX6: Bootloader U-Boot]]<br />
*[[COM iMX6 Linux|i.MX6: Linux]]<br />
*[[DHCOM Update Mechanism|DHCOM Update Mechanism]]<br />
*[[Yocto | Yocto on DHCOM]]<br />
*[[COM iMX6 WinCE|i.MX6: WinCE]]<br />
<br />
== BSP Sources==<br />
==== [https://www.denx.de/wiki/U-Boot U-Boot] ====<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/legacy/2018.05_dhcom DH U-Boot (based on v2018.05)]<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2015.10_dhcom DH U-Boot (based on v2015.10)(deprecated)]<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2013.10_dhcom DH U-Boot (based on v2013.10)(deprecated)]<br />
<br />
==== [https://www.kernel.org Linux Kernel] ====<br />
* Mainline<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/release/5.10.131_dhsom/20220725 DH 5.10.131 Release 2022-07-25]<br />
* NXP Vendor<br />
:* [https://github.com/dh-electronics/linux-imx6-vendor/tree/release/v4.1.15/20190926 DH 4.1.15 Release 2019-09-26]<br />
:* [https://github.com/dh-electronics/linux-imx6-vendor/tree/release/v3.10.17/20170804 DH 3.10.17 Release 2017-08-04]<br />
<br />
== Download binaries/images ==<br />
==== U-Boot (for eMMC DHCOMs) ====<br />
* [https://www.dropbox.com/s/211m9x4fj9bg3k1/u-boot-with-spl_imx6_v2.2.1.0_emmc.imx?raw=1 DH U-Boot v2.2.1.0 (based on v2018.05)]<br />
* [https://www.dropbox.com/s/e6dl6srzj5tbfot/v1-1-0-8_u-boot-imx6qdl.tar.xz?raw=1 DH U-Boot v1.1.0.8 (based on v2015.10)]<br />
: More on how to program it with the U-Boot command "update bootloader ..." on the page [[DHCOM Update Mechanism#Commandline Mode|"DHCOM Update Mechanism"]]<br />
<br />
==== Update Kernel ====<br />
* Please contact DH electronics if you need a binary.<br />
: More on how to use it on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
==== Debian based images ====<br />
* Debian 10 "Buster" + Kernel 5.10.131 Release 2022-08-19<br />
: Note: Devicetree is set to "imx6q-dhcom-pdk2.dtb" in uLinuxEnv.txt<br />
<br />
:* [https://www.dropbox.com/s/5qr7mayxmh9egvf/HD00035_2022-08-19_imx6_buster_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/r1tv1dmeqzt5gnl/HD00035_2022-08-19_imx6_buster_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
* Debian 8 "Jessie" with Qt5.9.1 + Vendor Kernel 4.1.15 Release 2019-09-26<br />
<br />
:* [https://www.dropbox.com/s/18f4hsj3lhp6e5w/HD00039_2019-09-26_imx6_jessie_qt5.9.1_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/3c6b96g7ijzkoay/HD00039_2019-09-26_imx6_jessie_qt5.9.1_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
Hint: You can also progam the eMMC by using the [[COM iMX6 Bootloader U-Boot#USB Mass Storage|U-Boot command "ums"]] (usable since U-Boot v2018.05)<br />
<br />
== Download Linux code examples ==<br />
==== [[Virtual Machine for Application Development#Code Examples for Userspace-Applications to Access SPI, I2C, GPIOs, and more|Code Examples for Userspace-Applications to Access SPI, I2C, GPIOs, and more]] ====<br />
<br />
== Download WEC ==<br />
==== WEC7 DHHalLib.dll (function library) ====<br />
* [[media:DHHalLib_WEC7_R11_2022-05-11.zip|Download DHHalLib Library Version 1.3.0.7]]<br />
* [[media:DHHalLib_Test_App_Source_WEC7_R10_2022-04-06.zip|DHHalLib Demo App Source Code ]]<br />
* [[media:DHHalLib_Test_App_Binary_WEC7_R10_2022-04-06.zip|DHHalLib Demo App Binary File]]<br />
* [[media:CSharp_LibWrapper_Source_WEC7_R09_2022-03-18.zip|Download DHHalLib CSharp Wrapper]]<br />
* [[media:CSharp_LibWrapper.zip|Download DHHalLib CSharp Demo Wrapper App ]]<br />
* [[media:CSharp_LibWrapper_Binary.zip|Download DHHalLib CSharp Demo Wrapper App Binary File]]<br />
<br />
==== WEC7 binary BSP ====<br />
* [[media:2016-05-19_DHCOM_iMX6_BSP_BIN.zip|Download WEC7 binary BSP (date: 2016-05-19)]]<br />
<br />
==== WEC2013 DHHalLib.dll (function library) ====<br />
* [[media:DHHalLib_WEC2013_R12_2021-10-01.zip|Download DHHalLib Library Version 1.4.2.2]]<br />
* [[media:DHHalLib_Test_App_Source_WEC2013_R07_2018_06_12.zip|DHHalLib Demo App Source Code ]]<br />
* [[media:DHHalLib_Test_App_Binary_WEC2013_R09_2021-10-01.zip|DHHalLib Demo App Binary File]]<br />
* [[media:CSharp_LibWrapper_Source_WEC2013_R07_2021-10-01.zip|Download DHHalLib CSharp Wrapper]]<br />
* [[media:CSharp_DHHalLib_Wrapper_App_Source_WEC2013_R05_2017_08_08.zip|DHHalLib C# Demo App Source Code]]<br />
* [[media:CSharp_DHHalLib_Wrapper_App_Binary_WEC2013_R05_2017_08_08.zip|DHHalLib C# Demo App Binary File]]</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=DHCOM_iMX6-D2&diff=3731
DHCOM iMX6-D2
2022-08-20T13:45:49Z
<p>Christoph: /* Debian based images */</p>
<hr />
<div>{|<br />
|<br />
|<br />
|-<br />
|__TOC__<br />
|[[Image:IM6Modul.png|600px|COM iMX6-D2]]<br />
|}<br />
<br />
== Hardware ==<br />
<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''Cortex-A9 Freescale i.MX6 Solo/DualLite/Dual/Quad up to 1.2GHz'''<br />
* 2D (GC320) / 3D (GC880/GC2000) graphics accelerator<br />
* 128 - 1024 MByte NAND flash memory (8 bit bus width) or<br/>4 - 16 GByte eMMC flash (8 bit bus width)<br />
* 2 MB SPI boot flash<br />
* 256 - 2048 MByte DDR3-1066 or DDR3-800<br />
* On module microSD card socket (4 bit SDIO) <sup>[1]</sup><br />
* SD/MMC card interface, 4 bit SDIO<br />
* LC display controller, 24 bit colors, 2048x1536 pixels<br />
* LVDS 4-channel, max. 165 Mpixels/s<br />
* On-board touch controller for 4-wire resistive touch screens<br />
* Ethernet controller 10/100 Mbit, IEEE1588 conform<br />
* USB 2.0 OTG high-speed<br />
* USB 2.0 host high speed<br />
* Full function UART <sup>[2]</sup><br />
* Standard UART with hardware handshake support<br />
* Standard UART<br />
<br/><sup>[1]</sup> On module microSD card socket is only available if second CAN port is not connected.<br />
<br/><sup>[2]</sup> CTS and RTS is only available if second CAN port is not connected.<br />
|valign="top" style="border: 0pt;" | <br />
* 2x CAN interface <sup>[1][2]</sup><br />
* 2x SPI interface <br />
* 2x I²C interface <br />
* I²S Audio codec (1 x microphone, 1 x Line in, 1x Line out)<br />
* Real-time clock (I²C connection), low power temperature compensated<br />
* 12 bit analog input <br />
* 128 Bytes EEPROM with integrated MAC address <br />
* 16 bit address/databus interface on SODIMM-200 socket <br />
* PWM channel<br />
* 24 GPIOs (A-W + INT_HI_PRIO)<br />
* JTAG debug connection via FFC plug connector <br />
* Industrial temperature range (-40°C to +85°C)<br />
* SODIMM-200 socket with DHCOM pin assignment<br />
|}<br />
<br />
*[[COM iMX6 Hardware|Hardware Support]]<br />
<br />
== Product Change Notifications (PCN) ==<br />
* [[media:PCN_iMX6_R01_2017-08-17.pdf|PCN_iMX6_R01_2017-08-17.pdf (4GByte eMMC)]]<br />
* [[media:PCN_iMX6_R02_2017-08-17.pdf|PCN_iMX6_R02_2017-08-17.pdf (8GByte eMMC)]]<br />
* [[media:PCN_iMX6_R03_2017-09-20.pdf|PCN_iMX6_R03_2017-09-20.pdf (SW ethernet bug)]]<br />
* [[media:PCN_iMX6_R04_2017-09-25.pdf|PCN_iMX6_R04_2017-09-25.pdf (Molex microSD socket)]]<br />
* [[media:PCN_iMX6_R05_2018-01-10.pdf|PCN_iMX6_R05_2018-01-10.pdf (512MB NAND flash)]]<br />
* [[media:PCN_iMX6_R06_2018-10-09.pdf|PCN_iMX6_R06_2018-10-09.pdf (label change)]]<br />
* [[media:PCN_iMX6_R07_2019-11-13.pdf|PCN_iMX6_R07_2019-11-13.pdf (4GByte eMMC)]]<br />
* [[media:PCN_iMX6_R08_2019-11-13.pdf|PCN_iMX6_R08_2019-11-13.pdf (8GByte eMMC)]]<br />
* [[media:PCN_iMX6-009_R01_2021-07-20.pdf|PCN_iMX6-009_R01_2021-07-20.pdf (SPI flash EOL)]]<br />
* [[media:PCN_DHCOM-iMX6-010_R01_2021-12-23.pdf|PCN_DHCOM-iMX6-010_R01_2021-12-23.pdf (microSD socket EOL)]]<br />
<br />
== Software Support ==<br />
*[[COM iMX6 Bootloader U-Boot|i.MX6: Bootloader U-Boot]]<br />
*[[COM iMX6 Linux|i.MX6: Linux]]<br />
*[[DHCOM Update Mechanism|DHCOM Update Mechanism]]<br />
*[[Yocto | Yocto on DHCOM]]<br />
*[[COM iMX6 WinCE|i.MX6: WinCE]]<br />
<br />
== BSP Sources==<br />
==== [https://www.denx.de/wiki/U-Boot U-Boot] ====<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/legacy/2018.05_dhcom DH U-Boot (based on v2018.05)]<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2015.10_dhcom DH U-Boot (based on v2015.10)(deprecated)]<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2013.10_dhcom DH U-Boot (based on v2013.10)(deprecated)]<br />
<br />
==== [https://www.kernel.org Linux Kernel] ====<br />
* Mainline<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/release/5.10.131_dhsom/20220725 DH 5.10.131 Release 2022-07-25]<br />
* NXP Vendor<br />
:* [https://github.com/dh-electronics/linux-imx6-vendor/tree/release/v4.1.15/20190926 DH 4.1.15 Release 2019-09-26]<br />
:* [https://github.com/dh-electronics/linux-imx6-vendor/tree/release/v3.10.17/20170804 DH 3.10.17 Release 2017-08-04]<br />
<br />
== Download binaries/images ==<br />
==== U-Boot (for eMMC DHCOMs) ====<br />
* [https://www.dropbox.com/s/211m9x4fj9bg3k1/u-boot-with-spl_imx6_v2.2.1.0_emmc.imx?raw=1 DH U-Boot v2.2.1.0 (based on v2018.05)]<br />
* [https://www.dropbox.com/s/e6dl6srzj5tbfot/v1-1-0-8_u-boot-imx6qdl.tar.xz?raw=1 DH U-Boot v1.1.0.8 (based on v2015.10)]<br />
: More on how to program it with the U-Boot command "update bootloader ..." on the page [[DHCOM Update Mechanism#Commandline Mode|"DHCOM Update Mechanism"]]<br />
<br />
==== Update Kernel ====<br />
* Please contact DH electronics if you need a binary.<br />
: More on how to use it on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
==== Debian based images ====<br />
* Debian 10 "Buster" + Kernel 5.10.131 Release 2022-08-19<br />
: Note: Devicetree is set to "imx6q-dhcom-pdk2.dtb" in uLinuxEnv.txt<br />
<br />
:* [https://www.dropbox.com/s/5qr7mayxmh9egvf/HD00035_2022-08-19_imx6_buster_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/ixt6rgue1lbt11a/HD00035_2022-08-19_imx6_buster_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
* Debian 8 "Jessie" with Qt5.9.1 + Vendor Kernel 4.1.15 Release 2019-09-26<br />
<br />
:* [https://www.dropbox.com/s/18f4hsj3lhp6e5w/HD00039_2019-09-26_imx6_jessie_qt5.9.1_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/3c6b96g7ijzkoay/HD00039_2019-09-26_imx6_jessie_qt5.9.1_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
Hint: You can also progam the eMMC by using the [[COM iMX6 Bootloader U-Boot#USB Mass Storage|U-Boot command "ums"]] (usable since U-Boot v2018.05)<br />
<br />
== Download Linux code examples ==<br />
==== [[Virtual Machine for Application Development#Code Examples for Userspace-Applications to Access SPI, I2C, GPIOs, and more|Code Examples for Userspace-Applications to Access SPI, I2C, GPIOs, and more]] ====<br />
<br />
== Download WEC ==<br />
==== WEC7 DHHalLib.dll (function library) ====<br />
* [[media:DHHalLib_WEC7_R11_2022-05-11.zip|Download DHHalLib Library Version 1.3.0.7]]<br />
* [[media:DHHalLib_Test_App_Source_WEC7_R10_2022-04-06.zip|DHHalLib Demo App Source Code ]]<br />
* [[media:DHHalLib_Test_App_Binary_WEC7_R10_2022-04-06.zip|DHHalLib Demo App Binary File]]<br />
* [[media:CSharp_LibWrapper_Source_WEC7_R09_2022-03-18.zip|Download DHHalLib CSharp Wrapper]]<br />
* [[media:CSharp_LibWrapper.zip|Download DHHalLib CSharp Demo Wrapper App ]]<br />
* [[media:CSharp_LibWrapper_Binary.zip|Download DHHalLib CSharp Demo Wrapper App Binary File]]<br />
<br />
==== WEC7 binary BSP ====<br />
* [[media:2016-05-19_DHCOM_iMX6_BSP_BIN.zip|Download WEC7 binary BSP (date: 2016-05-19)]]<br />
<br />
==== WEC2013 DHHalLib.dll (function library) ====<br />
* [[media:DHHalLib_WEC2013_R12_2021-10-01.zip|Download DHHalLib Library Version 1.4.2.2]]<br />
* [[media:DHHalLib_Test_App_Source_WEC2013_R07_2018_06_12.zip|DHHalLib Demo App Source Code ]]<br />
* [[media:DHHalLib_Test_App_Binary_WEC2013_R09_2021-10-01.zip|DHHalLib Demo App Binary File]]<br />
* [[media:CSharp_LibWrapper_Source_WEC2013_R07_2021-10-01.zip|Download DHHalLib CSharp Wrapper]]<br />
* [[media:CSharp_DHHalLib_Wrapper_App_Source_WEC2013_R05_2017_08_08.zip|DHHalLib C# Demo App Source Code]]<br />
* [[media:CSharp_DHHalLib_Wrapper_App_Binary_WEC2013_R05_2017_08_08.zip|DHHalLib C# Demo App Binary File]]</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=DHCOM_iMX6-D2&diff=3730
DHCOM iMX6-D2
2022-08-20T13:27:42Z
<p>Christoph: /* Debian based images */</p>
<hr />
<div>{|<br />
|<br />
|<br />
|-<br />
|__TOC__<br />
|[[Image:IM6Modul.png|600px|COM iMX6-D2]]<br />
|}<br />
<br />
== Hardware ==<br />
<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''Cortex-A9 Freescale i.MX6 Solo/DualLite/Dual/Quad up to 1.2GHz'''<br />
* 2D (GC320) / 3D (GC880/GC2000) graphics accelerator<br />
* 128 - 1024 MByte NAND flash memory (8 bit bus width) or<br/>4 - 16 GByte eMMC flash (8 bit bus width)<br />
* 2 MB SPI boot flash<br />
* 256 - 2048 MByte DDR3-1066 or DDR3-800<br />
* On module microSD card socket (4 bit SDIO) <sup>[1]</sup><br />
* SD/MMC card interface, 4 bit SDIO<br />
* LC display controller, 24 bit colors, 2048x1536 pixels<br />
* LVDS 4-channel, max. 165 Mpixels/s<br />
* On-board touch controller for 4-wire resistive touch screens<br />
* Ethernet controller 10/100 Mbit, IEEE1588 conform<br />
* USB 2.0 OTG high-speed<br />
* USB 2.0 host high speed<br />
* Full function UART <sup>[2]</sup><br />
* Standard UART with hardware handshake support<br />
* Standard UART<br />
<br/><sup>[1]</sup> On module microSD card socket is only available if second CAN port is not connected.<br />
<br/><sup>[2]</sup> CTS and RTS is only available if second CAN port is not connected.<br />
|valign="top" style="border: 0pt;" | <br />
* 2x CAN interface <sup>[1][2]</sup><br />
* 2x SPI interface <br />
* 2x I²C interface <br />
* I²S Audio codec (1 x microphone, 1 x Line in, 1x Line out)<br />
* Real-time clock (I²C connection), low power temperature compensated<br />
* 12 bit analog input <br />
* 128 Bytes EEPROM with integrated MAC address <br />
* 16 bit address/databus interface on SODIMM-200 socket <br />
* PWM channel<br />
* 24 GPIOs (A-W + INT_HI_PRIO)<br />
* JTAG debug connection via FFC plug connector <br />
* Industrial temperature range (-40°C to +85°C)<br />
* SODIMM-200 socket with DHCOM pin assignment<br />
|}<br />
<br />
*[[COM iMX6 Hardware|Hardware Support]]<br />
<br />
== Product Change Notifications (PCN) ==<br />
* [[media:PCN_iMX6_R01_2017-08-17.pdf|PCN_iMX6_R01_2017-08-17.pdf (4GByte eMMC)]]<br />
* [[media:PCN_iMX6_R02_2017-08-17.pdf|PCN_iMX6_R02_2017-08-17.pdf (8GByte eMMC)]]<br />
* [[media:PCN_iMX6_R03_2017-09-20.pdf|PCN_iMX6_R03_2017-09-20.pdf (SW ethernet bug)]]<br />
* [[media:PCN_iMX6_R04_2017-09-25.pdf|PCN_iMX6_R04_2017-09-25.pdf (Molex microSD socket)]]<br />
* [[media:PCN_iMX6_R05_2018-01-10.pdf|PCN_iMX6_R05_2018-01-10.pdf (512MB NAND flash)]]<br />
* [[media:PCN_iMX6_R06_2018-10-09.pdf|PCN_iMX6_R06_2018-10-09.pdf (label change)]]<br />
* [[media:PCN_iMX6_R07_2019-11-13.pdf|PCN_iMX6_R07_2019-11-13.pdf (4GByte eMMC)]]<br />
* [[media:PCN_iMX6_R08_2019-11-13.pdf|PCN_iMX6_R08_2019-11-13.pdf (8GByte eMMC)]]<br />
* [[media:PCN_iMX6-009_R01_2021-07-20.pdf|PCN_iMX6-009_R01_2021-07-20.pdf (SPI flash EOL)]]<br />
* [[media:PCN_DHCOM-iMX6-010_R01_2021-12-23.pdf|PCN_DHCOM-iMX6-010_R01_2021-12-23.pdf (microSD socket EOL)]]<br />
<br />
== Software Support ==<br />
*[[COM iMX6 Bootloader U-Boot|i.MX6: Bootloader U-Boot]]<br />
*[[COM iMX6 Linux|i.MX6: Linux]]<br />
*[[DHCOM Update Mechanism|DHCOM Update Mechanism]]<br />
*[[Yocto | Yocto on DHCOM]]<br />
*[[COM iMX6 WinCE|i.MX6: WinCE]]<br />
<br />
== BSP Sources==<br />
==== [https://www.denx.de/wiki/U-Boot U-Boot] ====<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/legacy/2018.05_dhcom DH U-Boot (based on v2018.05)]<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2015.10_dhcom DH U-Boot (based on v2015.10)(deprecated)]<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2013.10_dhcom DH U-Boot (based on v2013.10)(deprecated)]<br />
<br />
==== [https://www.kernel.org Linux Kernel] ====<br />
* Mainline<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/release/5.10.131_dhsom/20220725 DH 5.10.131 Release 2022-07-25]<br />
* NXP Vendor<br />
:* [https://github.com/dh-electronics/linux-imx6-vendor/tree/release/v4.1.15/20190926 DH 4.1.15 Release 2019-09-26]<br />
:* [https://github.com/dh-electronics/linux-imx6-vendor/tree/release/v3.10.17/20170804 DH 3.10.17 Release 2017-08-04]<br />
<br />
== Download binaries/images ==<br />
==== U-Boot (for eMMC DHCOMs) ====<br />
* [https://www.dropbox.com/s/211m9x4fj9bg3k1/u-boot-with-spl_imx6_v2.2.1.0_emmc.imx?raw=1 DH U-Boot v2.2.1.0 (based on v2018.05)]<br />
* [https://www.dropbox.com/s/e6dl6srzj5tbfot/v1-1-0-8_u-boot-imx6qdl.tar.xz?raw=1 DH U-Boot v1.1.0.8 (based on v2015.10)]<br />
: More on how to program it with the U-Boot command "update bootloader ..." on the page [[DHCOM Update Mechanism#Commandline Mode|"DHCOM Update Mechanism"]]<br />
<br />
==== Update Kernel ====<br />
* Please contact DH electronics if you need a binary.<br />
: More on how to use it on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
==== Debian based images ====<br />
* Debian 10 "Buster" + Kernel 5.10.131 Release 2022-08-19<br />
: Note: Devicetree is set to "imx6q-dhcom-pdk2.dtb" in uLinuxEnv.txt<br />
<br />
:* [https://www.dropbox.com/s/5qr7mayxmh9egvf/HD00035_2022-08-19_imx6_buster_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/mmnzc7rtxdx1fw8/HD00035_2022-08-19_imx6_buster_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
* Debian 8 "Jessie" with Qt5.9.1 + Vendor Kernel 4.1.15 Release 2019-09-26<br />
<br />
:* [https://www.dropbox.com/s/18f4hsj3lhp6e5w/HD00039_2019-09-26_imx6_jessie_qt5.9.1_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/3c6b96g7ijzkoay/HD00039_2019-09-26_imx6_jessie_qt5.9.1_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
Hint: You can also progam the eMMC by using the [[COM iMX6 Bootloader U-Boot#USB Mass Storage|U-Boot command "ums"]] (usable since U-Boot v2018.05)<br />
<br />
== Download Linux code examples ==<br />
==== [[Virtual Machine for Application Development#Code Examples for Userspace-Applications to Access SPI, I2C, GPIOs, and more|Code Examples for Userspace-Applications to Access SPI, I2C, GPIOs, and more]] ====<br />
<br />
== Download WEC ==<br />
==== WEC7 DHHalLib.dll (function library) ====<br />
* [[media:DHHalLib_WEC7_R11_2022-05-11.zip|Download DHHalLib Library Version 1.3.0.7]]<br />
* [[media:DHHalLib_Test_App_Source_WEC7_R10_2022-04-06.zip|DHHalLib Demo App Source Code ]]<br />
* [[media:DHHalLib_Test_App_Binary_WEC7_R10_2022-04-06.zip|DHHalLib Demo App Binary File]]<br />
* [[media:CSharp_LibWrapper_Source_WEC7_R09_2022-03-18.zip|Download DHHalLib CSharp Wrapper]]<br />
* [[media:CSharp_LibWrapper.zip|Download DHHalLib CSharp Demo Wrapper App ]]<br />
* [[media:CSharp_LibWrapper_Binary.zip|Download DHHalLib CSharp Demo Wrapper App Binary File]]<br />
<br />
==== WEC7 binary BSP ====<br />
* [[media:2016-05-19_DHCOM_iMX6_BSP_BIN.zip|Download WEC7 binary BSP (date: 2016-05-19)]]<br />
<br />
==== WEC2013 DHHalLib.dll (function library) ====<br />
* [[media:DHHalLib_WEC2013_R12_2021-10-01.zip|Download DHHalLib Library Version 1.4.2.2]]<br />
* [[media:DHHalLib_Test_App_Source_WEC2013_R07_2018_06_12.zip|DHHalLib Demo App Source Code ]]<br />
* [[media:DHHalLib_Test_App_Binary_WEC2013_R09_2021-10-01.zip|DHHalLib Demo App Binary File]]<br />
* [[media:CSharp_LibWrapper_Source_WEC2013_R07_2021-10-01.zip|Download DHHalLib CSharp Wrapper]]<br />
* [[media:CSharp_DHHalLib_Wrapper_App_Source_WEC2013_R05_2017_08_08.zip|DHHalLib C# Demo App Source Code]]<br />
* [[media:CSharp_DHHalLib_Wrapper_App_Binary_WEC2013_R05_2017_08_08.zip|DHHalLib C# Demo App Binary File]]</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=DHCOM_iMX6ULL-D2&diff=3729
DHCOM iMX6ULL-D2
2022-08-20T09:23:08Z
<p>Christoph: /* Linux Kernel */</p>
<hr />
<div>{|<br />
|<br />
|<br />
|-<br />
|rowspan="2"|__TOC__<br />
|style="padding-left:100px"|[[Image:IMX6ULL_DHCOR_Modul.png|320px|DHCOR i.MX6ULL-LG]]<br />
|-<br />
|[[Image:IMX6ULLModul.png|600px|DHCOM iMX6ULL-D2]]<br />
|}<br />
<br />
== Scope ==<br />
'''This is also the right page for the DHCOR module, because DHCOM is the reference design for the DHCOR module.'''<br />
<br />
== Hardware ==<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''Cortex-A7 NXP i.MX6ULL up to 900 MHz'''<br />
* 128 - 1024 MByte NAND flash memory (8 bit bus width) or<br>4 - 16 GByte eMMC flash (8 bit bus width)<br />
* 2 MB SPI boot flash<br />
* 128 - 1024 MByte DDR3-400<br />
* On module microSD card socket (4 bit SDIO) <sup>[1]</sup><br />
* LC display controller, 18 bit colors, 1366x768 pixels<br />
* On-chip touch controller for 4-wire resistive touch screens<br />
* 2x Ethernet controller 10/100 Mbit, IEEE1588 conform <sup>[2]</sup><br />
* USB 2.0 OTG high-speed<br />
* USB 2.0 host high speed<br />
* 2x Standard UART with hardware handshake support <sup>[3]</sup><sup>[4]</sup><br />
* WiFi iEEE802.11b/g/n + Bluetooth v4.1 (BR/EDR/BLE) module on BGA <sup>[1]</sup><sup>[4]</sup><br />
<br/><sup>[1]</sup> On module microSD card socket is only available if WiFi is not mounted.<br />
<br/><sup>[2]</sup> The second SPI is only available, if the second ethernet is not mounted.<br />
<br/><sup>[3]</sup> CTS and RTS of the first UART is only available if second CAN port is not connected.<br />
<br/><sup>[4]</sup> The second UART is only available if Bluetooth is not used. This means WiFi/BT module 1DX is not mounted or module 1FX (only WiFi) is mounted.<br />
<br/><sup>[5]</sup> I²S lines are shared with JTAG.<br />
|valign="top" style="border: 0pt;" | <br />
* 2x CAN interface <sup>[3]</sup><br />
* 2x SPI interface <sup>[2]</sup><br />
* 2x I²C interface <br />
* I²S Audio codec (1 x microphone, 1 x Line in, 1x Line out) <sup>[5]</sup><br />
* Real-time clock (I²C connection), low power temperature compensated<br />
* 2x 10 bit analog input (I²C connection)<br />
* 2x 256 Bytes EEPROM with integrated MAC address <br />
* PWM channel<br />
* 22 GPIOs (A-U + INT_HI_PRIO)<br />
* JTAG debug connection via FFC plug connector <br />
* Industrial temperature range (-40°C to +85°C)<br />
* SODIMM-200 socket with DHCOM pin assignment<br />
|}<br />
<br />
*[[COM iMX6ULL Hardware|Hardware Support]]<br />
<br />
== Product Change Notifications (PCN) ==<br />
==== DHCOR i.MX6ULL ====<br />
* [[media:PCN_DHCOR-iMX6ULL-001_R01_2020-02-18.pdf|PCN_DHCOR-iMX6ULL-001_R01_2020-02-18.pdf (IMX_THERMAL)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-002_R01_2020-02-18.pdf|PCN_DHCOR-iMX6ULL-002_R01_2020-02-18.pdf (SPEED_GRADING)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-003_R01_2020-02-18.pdf|PCN_DHCOR-iMX6ULL-003_R01_2020-02-18.pdf (Bootloader on eMMC)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-004_R01_2020-09-17.pdf|PCN_DHCOR-iMX6ULL-004_R01_2020-09-17.pdf (900MHz undervolt)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-005_R01_2021-05-05.pdf|PCN_DHCOR-iMX6ULL-005_R01_2021-05-05.pdf (VDD_SOC_CAP capacitor)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-006_R02_2021-05-10.pdf|PCN_DHCOR-iMX6ULL-006_R02_2021-05-10.pdf (PMIC buck converter mode)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-007_R01_2021-07-28.pdf|PCN_DHCOR-iMX6ULL-007_R01_2021-07-28.pdf (Change of PCB)]]<br />
==== DHCOM i.MX6ULL ====<br />
* [[media:PCN_DHCOM-iMX6ULL-001_R01_2021-12-23.pdf|PCN_DHCOM-iMX6ULL-001_R01_2021-12-23.pdf (microSD socket EOL)]]<br />
<br />
== Software Support ==<br />
*[[COM iMX6ULL Bootloader U-Boot|i.MX6ULL: Bootloader U-Boot]]<br />
*[[COM iMX6ULL Linux|i.MX6ULL: Linux]]<br />
*[[DHCOM Update Mechanism|DHCOM Update Mechanism]]<br />
*[[Yocto | Yocto on DHCOM]]<br />
<br />
== BSP Sources==<br />
==== [https://www.denx.de/wiki/U-Boot U-Boot] ====<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2018.05_dhcom DH U-Boot (based on v2018.05)]<br />
<br />
==== [https://www.kernel.org Linux Kernel] ====<br />
* Mainline<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/release/5.10.131_dhsom/20220725 DH 5.10.131 Release 2022-07-25]<br />
<br />
== Download binaries/images ==<br />
==== U-Boot (for eMMC DHCOMs) ====<br />
* [https://www.dropbox.com/s/30i7ddwxtqrkr09/u-boot-with-spl_imx6ull_2018.05-DH_v0.30_emmc-g61cebade93.imx?raw=1 DH U-Boot v0.30 (based on v2018.05)]<br />
: More on how to program it with the U-Boot command "update bootloader ..." on the page [[DHCOM Update Mechanism#Commandline Mode|"DHCOM Update Mechanism"]]<br />
<br />
==== Update Kernel ====<br />
* Please contact DH electronics if you need a binary.<br />
: More on how to use it on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
==== Debian based images ====<br />
* Debian 10 "Buster" + Kernel 4.19.135 Release 2020-12-01<br />
<br />
:* [https://www.dropbox.com/s/yqp1q8b88cksn76/HD00051_2020-12-01_imx6ull_buster_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/tp1fgkf1w7e3bcx/HD00051_2020-12-01_imx6ull_buster_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
Hint: You can also progam the eMMC by using the [[COM iMX6ULL Bootloader U-Boot#USB Mass Storage|U-Boot command "ums"]] (usable since U-Boot v2018.05)</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=DHCOM_iMX6-D2&diff=3728
DHCOM iMX6-D2
2022-08-20T09:20:31Z
<p>Christoph: /* Linux Kernel */</p>
<hr />
<div>{|<br />
|<br />
|<br />
|-<br />
|__TOC__<br />
|[[Image:IM6Modul.png|600px|COM iMX6-D2]]<br />
|}<br />
<br />
== Hardware ==<br />
<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''Cortex-A9 Freescale i.MX6 Solo/DualLite/Dual/Quad up to 1.2GHz'''<br />
* 2D (GC320) / 3D (GC880/GC2000) graphics accelerator<br />
* 128 - 1024 MByte NAND flash memory (8 bit bus width) or<br/>4 - 16 GByte eMMC flash (8 bit bus width)<br />
* 2 MB SPI boot flash<br />
* 256 - 2048 MByte DDR3-1066 or DDR3-800<br />
* On module microSD card socket (4 bit SDIO) <sup>[1]</sup><br />
* SD/MMC card interface, 4 bit SDIO<br />
* LC display controller, 24 bit colors, 2048x1536 pixels<br />
* LVDS 4-channel, max. 165 Mpixels/s<br />
* On-board touch controller for 4-wire resistive touch screens<br />
* Ethernet controller 10/100 Mbit, IEEE1588 conform<br />
* USB 2.0 OTG high-speed<br />
* USB 2.0 host high speed<br />
* Full function UART <sup>[2]</sup><br />
* Standard UART with hardware handshake support<br />
* Standard UART<br />
<br/><sup>[1]</sup> On module microSD card socket is only available if second CAN port is not connected.<br />
<br/><sup>[2]</sup> CTS and RTS is only available if second CAN port is not connected.<br />
|valign="top" style="border: 0pt;" | <br />
* 2x CAN interface <sup>[1][2]</sup><br />
* 2x SPI interface <br />
* 2x I²C interface <br />
* I²S Audio codec (1 x microphone, 1 x Line in, 1x Line out)<br />
* Real-time clock (I²C connection), low power temperature compensated<br />
* 12 bit analog input <br />
* 128 Bytes EEPROM with integrated MAC address <br />
* 16 bit address/databus interface on SODIMM-200 socket <br />
* PWM channel<br />
* 24 GPIOs (A-W + INT_HI_PRIO)<br />
* JTAG debug connection via FFC plug connector <br />
* Industrial temperature range (-40°C to +85°C)<br />
* SODIMM-200 socket with DHCOM pin assignment<br />
|}<br />
<br />
*[[COM iMX6 Hardware|Hardware Support]]<br />
<br />
== Product Change Notifications (PCN) ==<br />
* [[media:PCN_iMX6_R01_2017-08-17.pdf|PCN_iMX6_R01_2017-08-17.pdf (4GByte eMMC)]]<br />
* [[media:PCN_iMX6_R02_2017-08-17.pdf|PCN_iMX6_R02_2017-08-17.pdf (8GByte eMMC)]]<br />
* [[media:PCN_iMX6_R03_2017-09-20.pdf|PCN_iMX6_R03_2017-09-20.pdf (SW ethernet bug)]]<br />
* [[media:PCN_iMX6_R04_2017-09-25.pdf|PCN_iMX6_R04_2017-09-25.pdf (Molex microSD socket)]]<br />
* [[media:PCN_iMX6_R05_2018-01-10.pdf|PCN_iMX6_R05_2018-01-10.pdf (512MB NAND flash)]]<br />
* [[media:PCN_iMX6_R06_2018-10-09.pdf|PCN_iMX6_R06_2018-10-09.pdf (label change)]]<br />
* [[media:PCN_iMX6_R07_2019-11-13.pdf|PCN_iMX6_R07_2019-11-13.pdf (4GByte eMMC)]]<br />
* [[media:PCN_iMX6_R08_2019-11-13.pdf|PCN_iMX6_R08_2019-11-13.pdf (8GByte eMMC)]]<br />
* [[media:PCN_iMX6-009_R01_2021-07-20.pdf|PCN_iMX6-009_R01_2021-07-20.pdf (SPI flash EOL)]]<br />
* [[media:PCN_DHCOM-iMX6-010_R01_2021-12-23.pdf|PCN_DHCOM-iMX6-010_R01_2021-12-23.pdf (microSD socket EOL)]]<br />
<br />
== Software Support ==<br />
*[[COM iMX6 Bootloader U-Boot|i.MX6: Bootloader U-Boot]]<br />
*[[COM iMX6 Linux|i.MX6: Linux]]<br />
*[[DHCOM Update Mechanism|DHCOM Update Mechanism]]<br />
*[[Yocto | Yocto on DHCOM]]<br />
*[[COM iMX6 WinCE|i.MX6: WinCE]]<br />
<br />
== BSP Sources==<br />
==== [https://www.denx.de/wiki/U-Boot U-Boot] ====<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/legacy/2018.05_dhcom DH U-Boot (based on v2018.05)]<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2015.10_dhcom DH U-Boot (based on v2015.10)(deprecated)]<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2013.10_dhcom DH U-Boot (based on v2013.10)(deprecated)]<br />
<br />
==== [https://www.kernel.org Linux Kernel] ====<br />
* Mainline<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/release/5.10.131_dhsom/20220725 DH 5.10.131 Release 2022-07-25]<br />
* NXP Vendor<br />
:* [https://github.com/dh-electronics/linux-imx6-vendor/tree/release/v4.1.15/20190926 DH 4.1.15 Release 2019-09-26]<br />
:* [https://github.com/dh-electronics/linux-imx6-vendor/tree/release/v3.10.17/20170804 DH 3.10.17 Release 2017-08-04]<br />
<br />
== Download binaries/images ==<br />
==== U-Boot (for eMMC DHCOMs) ====<br />
* [https://www.dropbox.com/s/211m9x4fj9bg3k1/u-boot-with-spl_imx6_v2.2.1.0_emmc.imx?raw=1 DH U-Boot v2.2.1.0 (based on v2018.05)]<br />
* [https://www.dropbox.com/s/e6dl6srzj5tbfot/v1-1-0-8_u-boot-imx6qdl.tar.xz?raw=1 DH U-Boot v1.1.0.8 (based on v2015.10)]<br />
: More on how to program it with the U-Boot command "update bootloader ..." on the page [[DHCOM Update Mechanism#Commandline Mode|"DHCOM Update Mechanism"]]<br />
<br />
==== Update Kernel ====<br />
* Please contact DH electronics if you need a binary.<br />
: More on how to use it on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
==== Debian based images ====<br />
* Debian 8 "Jessie" + Kernel 4.4.60 Release 2020-03-03<br />
<br />
:* [https://www.dropbox.com/s/nfxu7xb4v22slt2/HD00035_2020-03-03_imx6_jessie_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/au804sehtskb2ky/HD00035_2020-03-03_imx6_jessie_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
* Debian 8 "Jessie" with Qt5.9.1 + Vendor Kernel 4.1.15 Release 2019-09-26<br />
<br />
:* [https://www.dropbox.com/s/18f4hsj3lhp6e5w/HD00039_2019-09-26_imx6_jessie_qt5.9.1_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/3c6b96g7ijzkoay/HD00039_2019-09-26_imx6_jessie_qt5.9.1_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
Hint: You can also progam the eMMC by using the [[COM iMX6 Bootloader U-Boot#USB Mass Storage|U-Boot command "ums"]] (usable since U-Boot v2018.05)<br />
<br />
== Download Linux code examples ==<br />
==== [[Virtual Machine for Application Development#Code Examples for Userspace-Applications to Access SPI, I2C, GPIOs, and more|Code Examples for Userspace-Applications to Access SPI, I2C, GPIOs, and more]] ====<br />
<br />
== Download WEC ==<br />
==== WEC7 DHHalLib.dll (function library) ====<br />
* [[media:DHHalLib_WEC7_R11_2022-05-11.zip|Download DHHalLib Library Version 1.3.0.7]]<br />
* [[media:DHHalLib_Test_App_Source_WEC7_R10_2022-04-06.zip|DHHalLib Demo App Source Code ]]<br />
* [[media:DHHalLib_Test_App_Binary_WEC7_R10_2022-04-06.zip|DHHalLib Demo App Binary File]]<br />
* [[media:CSharp_LibWrapper_Source_WEC7_R09_2022-03-18.zip|Download DHHalLib CSharp Wrapper]]<br />
* [[media:CSharp_LibWrapper.zip|Download DHHalLib CSharp Demo Wrapper App ]]<br />
* [[media:CSharp_LibWrapper_Binary.zip|Download DHHalLib CSharp Demo Wrapper App Binary File]]<br />
<br />
==== WEC7 binary BSP ====<br />
* [[media:2016-05-19_DHCOM_iMX6_BSP_BIN.zip|Download WEC7 binary BSP (date: 2016-05-19)]]<br />
<br />
==== WEC2013 DHHalLib.dll (function library) ====<br />
* [[media:DHHalLib_WEC2013_R12_2021-10-01.zip|Download DHHalLib Library Version 1.4.2.2]]<br />
* [[media:DHHalLib_Test_App_Source_WEC2013_R07_2018_06_12.zip|DHHalLib Demo App Source Code ]]<br />
* [[media:DHHalLib_Test_App_Binary_WEC2013_R09_2021-10-01.zip|DHHalLib Demo App Binary File]]<br />
* [[media:CSharp_LibWrapper_Source_WEC2013_R07_2021-10-01.zip|Download DHHalLib CSharp Wrapper]]<br />
* [[media:CSharp_DHHalLib_Wrapper_App_Source_WEC2013_R05_2017_08_08.zip|DHHalLib C# Demo App Source Code]]<br />
* [[media:CSharp_DHHalLib_Wrapper_App_Binary_WEC2013_R05_2017_08_08.zip|DHHalLib C# Demo App Binary File]]</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=DHCOM_iMX6-D2&diff=3727
DHCOM iMX6-D2
2022-08-20T09:17:03Z
<p>Christoph: /* U-Boot */</p>
<hr />
<div>{|<br />
|<br />
|<br />
|-<br />
|__TOC__<br />
|[[Image:IM6Modul.png|600px|COM iMX6-D2]]<br />
|}<br />
<br />
== Hardware ==<br />
<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''Cortex-A9 Freescale i.MX6 Solo/DualLite/Dual/Quad up to 1.2GHz'''<br />
* 2D (GC320) / 3D (GC880/GC2000) graphics accelerator<br />
* 128 - 1024 MByte NAND flash memory (8 bit bus width) or<br/>4 - 16 GByte eMMC flash (8 bit bus width)<br />
* 2 MB SPI boot flash<br />
* 256 - 2048 MByte DDR3-1066 or DDR3-800<br />
* On module microSD card socket (4 bit SDIO) <sup>[1]</sup><br />
* SD/MMC card interface, 4 bit SDIO<br />
* LC display controller, 24 bit colors, 2048x1536 pixels<br />
* LVDS 4-channel, max. 165 Mpixels/s<br />
* On-board touch controller for 4-wire resistive touch screens<br />
* Ethernet controller 10/100 Mbit, IEEE1588 conform<br />
* USB 2.0 OTG high-speed<br />
* USB 2.0 host high speed<br />
* Full function UART <sup>[2]</sup><br />
* Standard UART with hardware handshake support<br />
* Standard UART<br />
<br/><sup>[1]</sup> On module microSD card socket is only available if second CAN port is not connected.<br />
<br/><sup>[2]</sup> CTS and RTS is only available if second CAN port is not connected.<br />
|valign="top" style="border: 0pt;" | <br />
* 2x CAN interface <sup>[1][2]</sup><br />
* 2x SPI interface <br />
* 2x I²C interface <br />
* I²S Audio codec (1 x microphone, 1 x Line in, 1x Line out)<br />
* Real-time clock (I²C connection), low power temperature compensated<br />
* 12 bit analog input <br />
* 128 Bytes EEPROM with integrated MAC address <br />
* 16 bit address/databus interface on SODIMM-200 socket <br />
* PWM channel<br />
* 24 GPIOs (A-W + INT_HI_PRIO)<br />
* JTAG debug connection via FFC plug connector <br />
* Industrial temperature range (-40°C to +85°C)<br />
* SODIMM-200 socket with DHCOM pin assignment<br />
|}<br />
<br />
*[[COM iMX6 Hardware|Hardware Support]]<br />
<br />
== Product Change Notifications (PCN) ==<br />
* [[media:PCN_iMX6_R01_2017-08-17.pdf|PCN_iMX6_R01_2017-08-17.pdf (4GByte eMMC)]]<br />
* [[media:PCN_iMX6_R02_2017-08-17.pdf|PCN_iMX6_R02_2017-08-17.pdf (8GByte eMMC)]]<br />
* [[media:PCN_iMX6_R03_2017-09-20.pdf|PCN_iMX6_R03_2017-09-20.pdf (SW ethernet bug)]]<br />
* [[media:PCN_iMX6_R04_2017-09-25.pdf|PCN_iMX6_R04_2017-09-25.pdf (Molex microSD socket)]]<br />
* [[media:PCN_iMX6_R05_2018-01-10.pdf|PCN_iMX6_R05_2018-01-10.pdf (512MB NAND flash)]]<br />
* [[media:PCN_iMX6_R06_2018-10-09.pdf|PCN_iMX6_R06_2018-10-09.pdf (label change)]]<br />
* [[media:PCN_iMX6_R07_2019-11-13.pdf|PCN_iMX6_R07_2019-11-13.pdf (4GByte eMMC)]]<br />
* [[media:PCN_iMX6_R08_2019-11-13.pdf|PCN_iMX6_R08_2019-11-13.pdf (8GByte eMMC)]]<br />
* [[media:PCN_iMX6-009_R01_2021-07-20.pdf|PCN_iMX6-009_R01_2021-07-20.pdf (SPI flash EOL)]]<br />
* [[media:PCN_DHCOM-iMX6-010_R01_2021-12-23.pdf|PCN_DHCOM-iMX6-010_R01_2021-12-23.pdf (microSD socket EOL)]]<br />
<br />
== Software Support ==<br />
*[[COM iMX6 Bootloader U-Boot|i.MX6: Bootloader U-Boot]]<br />
*[[COM iMX6 Linux|i.MX6: Linux]]<br />
*[[DHCOM Update Mechanism|DHCOM Update Mechanism]]<br />
*[[Yocto | Yocto on DHCOM]]<br />
*[[COM iMX6 WinCE|i.MX6: WinCE]]<br />
<br />
== BSP Sources==<br />
==== [https://www.denx.de/wiki/U-Boot U-Boot] ====<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/legacy/2018.05_dhcom DH U-Boot (based on v2018.05)]<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2015.10_dhcom DH U-Boot (based on v2015.10)(deprecated)]<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2013.10_dhcom DH U-Boot (based on v2013.10)(deprecated)]<br />
<br />
==== [https://www.kernel.org Linux Kernel] ====<br />
* Mainline<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/release/5.10.131_dhsom/20220725 DH 5.10.131 Release 2022-07-25]<br />
* NXP Vendor<br />
:* [https://github.com/dh-electronics/linux-imx6-vendor/tree/release/v4.1.15/20190624 DH 4.1.15 Release 2019-06-24]<br />
:* [https://github.com/dh-electronics/linux-imx6-vendor/tree/release/v3.10.17/20170804 DH 3.10.17 Release 2017-08-04]<br />
<br />
== Download binaries/images ==<br />
==== U-Boot (for eMMC DHCOMs) ====<br />
* [https://www.dropbox.com/s/211m9x4fj9bg3k1/u-boot-with-spl_imx6_v2.2.1.0_emmc.imx?raw=1 DH U-Boot v2.2.1.0 (based on v2018.05)]<br />
* [https://www.dropbox.com/s/e6dl6srzj5tbfot/v1-1-0-8_u-boot-imx6qdl.tar.xz?raw=1 DH U-Boot v1.1.0.8 (based on v2015.10)]<br />
: More on how to program it with the U-Boot command "update bootloader ..." on the page [[DHCOM Update Mechanism#Commandline Mode|"DHCOM Update Mechanism"]]<br />
<br />
==== Update Kernel ====<br />
* Please contact DH electronics if you need a binary.<br />
: More on how to use it on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
==== Debian based images ====<br />
* Debian 8 "Jessie" + Kernel 4.4.60 Release 2020-03-03<br />
<br />
:* [https://www.dropbox.com/s/nfxu7xb4v22slt2/HD00035_2020-03-03_imx6_jessie_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/au804sehtskb2ky/HD00035_2020-03-03_imx6_jessie_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
* Debian 8 "Jessie" with Qt5.9.1 + Vendor Kernel 4.1.15 Release 2019-09-26<br />
<br />
:* [https://www.dropbox.com/s/18f4hsj3lhp6e5w/HD00039_2019-09-26_imx6_jessie_qt5.9.1_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/3c6b96g7ijzkoay/HD00039_2019-09-26_imx6_jessie_qt5.9.1_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
Hint: You can also progam the eMMC by using the [[COM iMX6 Bootloader U-Boot#USB Mass Storage|U-Boot command "ums"]] (usable since U-Boot v2018.05)<br />
<br />
== Download Linux code examples ==<br />
==== [[Virtual Machine for Application Development#Code Examples for Userspace-Applications to Access SPI, I2C, GPIOs, and more|Code Examples for Userspace-Applications to Access SPI, I2C, GPIOs, and more]] ====<br />
<br />
== Download WEC ==<br />
==== WEC7 DHHalLib.dll (function library) ====<br />
* [[media:DHHalLib_WEC7_R11_2022-05-11.zip|Download DHHalLib Library Version 1.3.0.7]]<br />
* [[media:DHHalLib_Test_App_Source_WEC7_R10_2022-04-06.zip|DHHalLib Demo App Source Code ]]<br />
* [[media:DHHalLib_Test_App_Binary_WEC7_R10_2022-04-06.zip|DHHalLib Demo App Binary File]]<br />
* [[media:CSharp_LibWrapper_Source_WEC7_R09_2022-03-18.zip|Download DHHalLib CSharp Wrapper]]<br />
* [[media:CSharp_LibWrapper.zip|Download DHHalLib CSharp Demo Wrapper App ]]<br />
* [[media:CSharp_LibWrapper_Binary.zip|Download DHHalLib CSharp Demo Wrapper App Binary File]]<br />
<br />
==== WEC7 binary BSP ====<br />
* [[media:2016-05-19_DHCOM_iMX6_BSP_BIN.zip|Download WEC7 binary BSP (date: 2016-05-19)]]<br />
<br />
==== WEC2013 DHHalLib.dll (function library) ====<br />
* [[media:DHHalLib_WEC2013_R12_2021-10-01.zip|Download DHHalLib Library Version 1.4.2.2]]<br />
* [[media:DHHalLib_Test_App_Source_WEC2013_R07_2018_06_12.zip|DHHalLib Demo App Source Code ]]<br />
* [[media:DHHalLib_Test_App_Binary_WEC2013_R09_2021-10-01.zip|DHHalLib Demo App Binary File]]<br />
* [[media:CSharp_LibWrapper_Source_WEC2013_R07_2021-10-01.zip|Download DHHalLib CSharp Wrapper]]<br />
* [[media:CSharp_DHHalLib_Wrapper_App_Source_WEC2013_R05_2017_08_08.zip|DHHalLib C# Demo App Source Code]]<br />
* [[media:CSharp_DHHalLib_Wrapper_App_Binary_WEC2013_R05_2017_08_08.zip|DHHalLib C# Demo App Binary File]]</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=DHCOM_iMX6-D2&diff=3726
DHCOM iMX6-D2
2022-08-20T09:15:34Z
<p>Christoph: /* U-Boot (for eMMC DHCOMs) */</p>
<hr />
<div>{|<br />
|<br />
|<br />
|-<br />
|__TOC__<br />
|[[Image:IM6Modul.png|600px|COM iMX6-D2]]<br />
|}<br />
<br />
== Hardware ==<br />
<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''Cortex-A9 Freescale i.MX6 Solo/DualLite/Dual/Quad up to 1.2GHz'''<br />
* 2D (GC320) / 3D (GC880/GC2000) graphics accelerator<br />
* 128 - 1024 MByte NAND flash memory (8 bit bus width) or<br/>4 - 16 GByte eMMC flash (8 bit bus width)<br />
* 2 MB SPI boot flash<br />
* 256 - 2048 MByte DDR3-1066 or DDR3-800<br />
* On module microSD card socket (4 bit SDIO) <sup>[1]</sup><br />
* SD/MMC card interface, 4 bit SDIO<br />
* LC display controller, 24 bit colors, 2048x1536 pixels<br />
* LVDS 4-channel, max. 165 Mpixels/s<br />
* On-board touch controller for 4-wire resistive touch screens<br />
* Ethernet controller 10/100 Mbit, IEEE1588 conform<br />
* USB 2.0 OTG high-speed<br />
* USB 2.0 host high speed<br />
* Full function UART <sup>[2]</sup><br />
* Standard UART with hardware handshake support<br />
* Standard UART<br />
<br/><sup>[1]</sup> On module microSD card socket is only available if second CAN port is not connected.<br />
<br/><sup>[2]</sup> CTS and RTS is only available if second CAN port is not connected.<br />
|valign="top" style="border: 0pt;" | <br />
* 2x CAN interface <sup>[1][2]</sup><br />
* 2x SPI interface <br />
* 2x I²C interface <br />
* I²S Audio codec (1 x microphone, 1 x Line in, 1x Line out)<br />
* Real-time clock (I²C connection), low power temperature compensated<br />
* 12 bit analog input <br />
* 128 Bytes EEPROM with integrated MAC address <br />
* 16 bit address/databus interface on SODIMM-200 socket <br />
* PWM channel<br />
* 24 GPIOs (A-W + INT_HI_PRIO)<br />
* JTAG debug connection via FFC plug connector <br />
* Industrial temperature range (-40°C to +85°C)<br />
* SODIMM-200 socket with DHCOM pin assignment<br />
|}<br />
<br />
*[[COM iMX6 Hardware|Hardware Support]]<br />
<br />
== Product Change Notifications (PCN) ==<br />
* [[media:PCN_iMX6_R01_2017-08-17.pdf|PCN_iMX6_R01_2017-08-17.pdf (4GByte eMMC)]]<br />
* [[media:PCN_iMX6_R02_2017-08-17.pdf|PCN_iMX6_R02_2017-08-17.pdf (8GByte eMMC)]]<br />
* [[media:PCN_iMX6_R03_2017-09-20.pdf|PCN_iMX6_R03_2017-09-20.pdf (SW ethernet bug)]]<br />
* [[media:PCN_iMX6_R04_2017-09-25.pdf|PCN_iMX6_R04_2017-09-25.pdf (Molex microSD socket)]]<br />
* [[media:PCN_iMX6_R05_2018-01-10.pdf|PCN_iMX6_R05_2018-01-10.pdf (512MB NAND flash)]]<br />
* [[media:PCN_iMX6_R06_2018-10-09.pdf|PCN_iMX6_R06_2018-10-09.pdf (label change)]]<br />
* [[media:PCN_iMX6_R07_2019-11-13.pdf|PCN_iMX6_R07_2019-11-13.pdf (4GByte eMMC)]]<br />
* [[media:PCN_iMX6_R08_2019-11-13.pdf|PCN_iMX6_R08_2019-11-13.pdf (8GByte eMMC)]]<br />
* [[media:PCN_iMX6-009_R01_2021-07-20.pdf|PCN_iMX6-009_R01_2021-07-20.pdf (SPI flash EOL)]]<br />
* [[media:PCN_DHCOM-iMX6-010_R01_2021-12-23.pdf|PCN_DHCOM-iMX6-010_R01_2021-12-23.pdf (microSD socket EOL)]]<br />
<br />
== Software Support ==<br />
*[[COM iMX6 Bootloader U-Boot|i.MX6: Bootloader U-Boot]]<br />
*[[COM iMX6 Linux|i.MX6: Linux]]<br />
*[[DHCOM Update Mechanism|DHCOM Update Mechanism]]<br />
*[[Yocto | Yocto on DHCOM]]<br />
*[[COM iMX6 WinCE|i.MX6: WinCE]]<br />
<br />
== BSP Sources==<br />
==== [https://www.denx.de/wiki/U-Boot U-Boot] ====<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/legacy/2018.05_dhcom DH U-Boot (based on v2018.05)]<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2015.10_dhcom DH U-Boot (based on v2015.10)]<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2013.10_dhcom DH U-Boot (based on v2013.10)]<br />
<br />
==== [https://www.kernel.org Linux Kernel] ====<br />
* Mainline<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/release/5.10.131_dhsom/20220725 DH 5.10.131 Release 2022-07-25]<br />
* NXP Vendor<br />
:* [https://github.com/dh-electronics/linux-imx6-vendor/tree/release/v4.1.15/20190624 DH 4.1.15 Release 2019-06-24]<br />
:* [https://github.com/dh-electronics/linux-imx6-vendor/tree/release/v3.10.17/20170804 DH 3.10.17 Release 2017-08-04]<br />
<br />
== Download binaries/images ==<br />
==== U-Boot (for eMMC DHCOMs) ====<br />
* [https://www.dropbox.com/s/211m9x4fj9bg3k1/u-boot-with-spl_imx6_v2.2.1.0_emmc.imx?raw=1 DH U-Boot v2.2.1.0 (based on v2018.05)]<br />
* [https://www.dropbox.com/s/e6dl6srzj5tbfot/v1-1-0-8_u-boot-imx6qdl.tar.xz?raw=1 DH U-Boot v1.1.0.8 (based on v2015.10)]<br />
: More on how to program it with the U-Boot command "update bootloader ..." on the page [[DHCOM Update Mechanism#Commandline Mode|"DHCOM Update Mechanism"]]<br />
<br />
==== Update Kernel ====<br />
* Please contact DH electronics if you need a binary.<br />
: More on how to use it on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
==== Debian based images ====<br />
* Debian 8 "Jessie" + Kernel 4.4.60 Release 2020-03-03<br />
<br />
:* [https://www.dropbox.com/s/nfxu7xb4v22slt2/HD00035_2020-03-03_imx6_jessie_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/au804sehtskb2ky/HD00035_2020-03-03_imx6_jessie_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
* Debian 8 "Jessie" with Qt5.9.1 + Vendor Kernel 4.1.15 Release 2019-09-26<br />
<br />
:* [https://www.dropbox.com/s/18f4hsj3lhp6e5w/HD00039_2019-09-26_imx6_jessie_qt5.9.1_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/3c6b96g7ijzkoay/HD00039_2019-09-26_imx6_jessie_qt5.9.1_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
Hint: You can also progam the eMMC by using the [[COM iMX6 Bootloader U-Boot#USB Mass Storage|U-Boot command "ums"]] (usable since U-Boot v2018.05)<br />
<br />
== Download Linux code examples ==<br />
==== [[Virtual Machine for Application Development#Code Examples for Userspace-Applications to Access SPI, I2C, GPIOs, and more|Code Examples for Userspace-Applications to Access SPI, I2C, GPIOs, and more]] ====<br />
<br />
== Download WEC ==<br />
==== WEC7 DHHalLib.dll (function library) ====<br />
* [[media:DHHalLib_WEC7_R11_2022-05-11.zip|Download DHHalLib Library Version 1.3.0.7]]<br />
* [[media:DHHalLib_Test_App_Source_WEC7_R10_2022-04-06.zip|DHHalLib Demo App Source Code ]]<br />
* [[media:DHHalLib_Test_App_Binary_WEC7_R10_2022-04-06.zip|DHHalLib Demo App Binary File]]<br />
* [[media:CSharp_LibWrapper_Source_WEC7_R09_2022-03-18.zip|Download DHHalLib CSharp Wrapper]]<br />
* [[media:CSharp_LibWrapper.zip|Download DHHalLib CSharp Demo Wrapper App ]]<br />
* [[media:CSharp_LibWrapper_Binary.zip|Download DHHalLib CSharp Demo Wrapper App Binary File]]<br />
<br />
==== WEC7 binary BSP ====<br />
* [[media:2016-05-19_DHCOM_iMX6_BSP_BIN.zip|Download WEC7 binary BSP (date: 2016-05-19)]]<br />
<br />
==== WEC2013 DHHalLib.dll (function library) ====<br />
* [[media:DHHalLib_WEC2013_R12_2021-10-01.zip|Download DHHalLib Library Version 1.4.2.2]]<br />
* [[media:DHHalLib_Test_App_Source_WEC2013_R07_2018_06_12.zip|DHHalLib Demo App Source Code ]]<br />
* [[media:DHHalLib_Test_App_Binary_WEC2013_R09_2021-10-01.zip|DHHalLib Demo App Binary File]]<br />
* [[media:CSharp_LibWrapper_Source_WEC2013_R07_2021-10-01.zip|Download DHHalLib CSharp Wrapper]]<br />
* [[media:CSharp_DHHalLib_Wrapper_App_Source_WEC2013_R05_2017_08_08.zip|DHHalLib C# Demo App Source Code]]<br />
* [[media:CSharp_DHHalLib_Wrapper_App_Binary_WEC2013_R05_2017_08_08.zip|DHHalLib C# Demo App Binary File]]</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=DHCOM_iMX6-D2&diff=3725
DHCOM iMX6-D2
2022-08-20T09:06:14Z
<p>Christoph: /* Linux Kernel */</p>
<hr />
<div>{|<br />
|<br />
|<br />
|-<br />
|__TOC__<br />
|[[Image:IM6Modul.png|600px|COM iMX6-D2]]<br />
|}<br />
<br />
== Hardware ==<br />
<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''Cortex-A9 Freescale i.MX6 Solo/DualLite/Dual/Quad up to 1.2GHz'''<br />
* 2D (GC320) / 3D (GC880/GC2000) graphics accelerator<br />
* 128 - 1024 MByte NAND flash memory (8 bit bus width) or<br/>4 - 16 GByte eMMC flash (8 bit bus width)<br />
* 2 MB SPI boot flash<br />
* 256 - 2048 MByte DDR3-1066 or DDR3-800<br />
* On module microSD card socket (4 bit SDIO) <sup>[1]</sup><br />
* SD/MMC card interface, 4 bit SDIO<br />
* LC display controller, 24 bit colors, 2048x1536 pixels<br />
* LVDS 4-channel, max. 165 Mpixels/s<br />
* On-board touch controller for 4-wire resistive touch screens<br />
* Ethernet controller 10/100 Mbit, IEEE1588 conform<br />
* USB 2.0 OTG high-speed<br />
* USB 2.0 host high speed<br />
* Full function UART <sup>[2]</sup><br />
* Standard UART with hardware handshake support<br />
* Standard UART<br />
<br/><sup>[1]</sup> On module microSD card socket is only available if second CAN port is not connected.<br />
<br/><sup>[2]</sup> CTS and RTS is only available if second CAN port is not connected.<br />
|valign="top" style="border: 0pt;" | <br />
* 2x CAN interface <sup>[1][2]</sup><br />
* 2x SPI interface <br />
* 2x I²C interface <br />
* I²S Audio codec (1 x microphone, 1 x Line in, 1x Line out)<br />
* Real-time clock (I²C connection), low power temperature compensated<br />
* 12 bit analog input <br />
* 128 Bytes EEPROM with integrated MAC address <br />
* 16 bit address/databus interface on SODIMM-200 socket <br />
* PWM channel<br />
* 24 GPIOs (A-W + INT_HI_PRIO)<br />
* JTAG debug connection via FFC plug connector <br />
* Industrial temperature range (-40°C to +85°C)<br />
* SODIMM-200 socket with DHCOM pin assignment<br />
|}<br />
<br />
*[[COM iMX6 Hardware|Hardware Support]]<br />
<br />
== Product Change Notifications (PCN) ==<br />
* [[media:PCN_iMX6_R01_2017-08-17.pdf|PCN_iMX6_R01_2017-08-17.pdf (4GByte eMMC)]]<br />
* [[media:PCN_iMX6_R02_2017-08-17.pdf|PCN_iMX6_R02_2017-08-17.pdf (8GByte eMMC)]]<br />
* [[media:PCN_iMX6_R03_2017-09-20.pdf|PCN_iMX6_R03_2017-09-20.pdf (SW ethernet bug)]]<br />
* [[media:PCN_iMX6_R04_2017-09-25.pdf|PCN_iMX6_R04_2017-09-25.pdf (Molex microSD socket)]]<br />
* [[media:PCN_iMX6_R05_2018-01-10.pdf|PCN_iMX6_R05_2018-01-10.pdf (512MB NAND flash)]]<br />
* [[media:PCN_iMX6_R06_2018-10-09.pdf|PCN_iMX6_R06_2018-10-09.pdf (label change)]]<br />
* [[media:PCN_iMX6_R07_2019-11-13.pdf|PCN_iMX6_R07_2019-11-13.pdf (4GByte eMMC)]]<br />
* [[media:PCN_iMX6_R08_2019-11-13.pdf|PCN_iMX6_R08_2019-11-13.pdf (8GByte eMMC)]]<br />
* [[media:PCN_iMX6-009_R01_2021-07-20.pdf|PCN_iMX6-009_R01_2021-07-20.pdf (SPI flash EOL)]]<br />
* [[media:PCN_DHCOM-iMX6-010_R01_2021-12-23.pdf|PCN_DHCOM-iMX6-010_R01_2021-12-23.pdf (microSD socket EOL)]]<br />
<br />
== Software Support ==<br />
*[[COM iMX6 Bootloader U-Boot|i.MX6: Bootloader U-Boot]]<br />
*[[COM iMX6 Linux|i.MX6: Linux]]<br />
*[[DHCOM Update Mechanism|DHCOM Update Mechanism]]<br />
*[[Yocto | Yocto on DHCOM]]<br />
*[[COM iMX6 WinCE|i.MX6: WinCE]]<br />
<br />
== BSP Sources==<br />
==== [https://www.denx.de/wiki/U-Boot U-Boot] ====<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/legacy/2018.05_dhcom DH U-Boot (based on v2018.05)]<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2015.10_dhcom DH U-Boot (based on v2015.10)]<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2013.10_dhcom DH U-Boot (based on v2013.10)]<br />
<br />
==== [https://www.kernel.org Linux Kernel] ====<br />
* Mainline<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/release/5.10.131_dhsom/20220725 DH 5.10.131 Release 2022-07-25]<br />
* NXP Vendor<br />
:* [https://github.com/dh-electronics/linux-imx6-vendor/tree/release/v4.1.15/20190624 DH 4.1.15 Release 2019-06-24]<br />
:* [https://github.com/dh-electronics/linux-imx6-vendor/tree/release/v3.10.17/20170804 DH 3.10.17 Release 2017-08-04]<br />
<br />
== Download binaries/images ==<br />
==== U-Boot (for eMMC DHCOMs) ====<br />
* [https://www.dropbox.com/s/8d1aj6rr0r360lz/u-boot-with-spl_imx6_v2.2.0.0_emmc.imx?raw=1 DH U-Boot v2.2.0.0 (based on v2018.05)]<br />
* [https://www.dropbox.com/s/e6dl6srzj5tbfot/v1-1-0-8_u-boot-imx6qdl.tar.xz?raw=1 DH U-Boot v1.1.0.8 (based on v2015.10)]<br />
: More on how to program it with the U-Boot command "update bootloader ..." on the page [[DHCOM Update Mechanism#Commandline Mode|"DHCOM Update Mechanism"]]<br />
<br />
==== Update Kernel ====<br />
* Please contact DH electronics if you need a binary.<br />
: More on how to use it on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
==== Debian based images ====<br />
* Debian 8 "Jessie" + Kernel 4.4.60 Release 2020-03-03<br />
<br />
:* [https://www.dropbox.com/s/nfxu7xb4v22slt2/HD00035_2020-03-03_imx6_jessie_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/au804sehtskb2ky/HD00035_2020-03-03_imx6_jessie_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
* Debian 8 "Jessie" with Qt5.9.1 + Vendor Kernel 4.1.15 Release 2019-09-26<br />
<br />
:* [https://www.dropbox.com/s/18f4hsj3lhp6e5w/HD00039_2019-09-26_imx6_jessie_qt5.9.1_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/3c6b96g7ijzkoay/HD00039_2019-09-26_imx6_jessie_qt5.9.1_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
Hint: You can also progam the eMMC by using the [[COM iMX6 Bootloader U-Boot#USB Mass Storage|U-Boot command "ums"]] (usable since U-Boot v2018.05)<br />
<br />
== Download Linux code examples ==<br />
==== [[Virtual Machine for Application Development#Code Examples for Userspace-Applications to Access SPI, I2C, GPIOs, and more|Code Examples for Userspace-Applications to Access SPI, I2C, GPIOs, and more]] ====<br />
<br />
== Download WEC ==<br />
==== WEC7 DHHalLib.dll (function library) ====<br />
* [[media:DHHalLib_WEC7_R11_2022-05-11.zip|Download DHHalLib Library Version 1.3.0.7]]<br />
* [[media:DHHalLib_Test_App_Source_WEC7_R10_2022-04-06.zip|DHHalLib Demo App Source Code ]]<br />
* [[media:DHHalLib_Test_App_Binary_WEC7_R10_2022-04-06.zip|DHHalLib Demo App Binary File]]<br />
* [[media:CSharp_LibWrapper_Source_WEC7_R09_2022-03-18.zip|Download DHHalLib CSharp Wrapper]]<br />
* [[media:CSharp_LibWrapper.zip|Download DHHalLib CSharp Demo Wrapper App ]]<br />
* [[media:CSharp_LibWrapper_Binary.zip|Download DHHalLib CSharp Demo Wrapper App Binary File]]<br />
<br />
==== WEC7 binary BSP ====<br />
* [[media:2016-05-19_DHCOM_iMX6_BSP_BIN.zip|Download WEC7 binary BSP (date: 2016-05-19)]]<br />
<br />
==== WEC2013 DHHalLib.dll (function library) ====<br />
* [[media:DHHalLib_WEC2013_R12_2021-10-01.zip|Download DHHalLib Library Version 1.4.2.2]]<br />
* [[media:DHHalLib_Test_App_Source_WEC2013_R07_2018_06_12.zip|DHHalLib Demo App Source Code ]]<br />
* [[media:DHHalLib_Test_App_Binary_WEC2013_R09_2021-10-01.zip|DHHalLib Demo App Binary File]]<br />
* [[media:CSharp_LibWrapper_Source_WEC2013_R07_2021-10-01.zip|Download DHHalLib CSharp Wrapper]]<br />
* [[media:CSharp_DHHalLib_Wrapper_App_Source_WEC2013_R05_2017_08_08.zip|DHHalLib C# Demo App Source Code]]<br />
* [[media:CSharp_DHHalLib_Wrapper_App_Binary_WEC2013_R05_2017_08_08.zip|DHHalLib C# Demo App Binary File]]</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=DHCOM_iMX6-D2&diff=3664
DHCOM iMX6-D2
2022-03-24T09:55:49Z
<p>Christoph: /* Linux Kernel */</p>
<hr />
<div>{|<br />
|<br />
|<br />
|-<br />
|__TOC__<br />
|[[Image:IM6Modul.png|600px|COM iMX6-D2]]<br />
|}<br />
<br />
== Hardware ==<br />
<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''Cortex-A9 Freescale i.MX6 Solo/DualLite/Dual/Quad up to 1.2GHz'''<br />
* 2D (GC320) / 3D (GC880/GC2000) graphics accelerator<br />
* 128 - 1024 MByte NAND flash memory (8 bit bus width) or<br/>4 - 16 GByte eMMC flash (8 bit bus width)<br />
* 2 MB SPI boot flash<br />
* 256 - 2048 MByte DDR3-1066 or DDR3-800<br />
* On module microSD card socket (4 bit SDIO) <sup>[1]</sup><br />
* SD/MMC card interface, 4 bit SDIO<br />
* LC display controller, 24 bit colors, 2048x1536 pixels<br />
* LVDS 4-channel, max. 165 Mpixels/s<br />
* On-board touch controller for 4-wire resistive touch screens<br />
* Ethernet controller 10/100 Mbit, IEEE1588 conform<br />
* USB 2.0 OTG high-speed<br />
* USB 2.0 host high speed<br />
* Full function UART <sup>[2]</sup><br />
* Standard UART with hardware handshake support<br />
* Standard UART<br />
<br/><sup>[1]</sup> On module microSD card socket is only available if second CAN port is not connected.<br />
<br/><sup>[2]</sup> CTS and RTS is only available if second CAN port is not connected.<br />
|valign="top" style="border: 0pt;" | <br />
* 2x CAN interface <sup>[1][2]</sup><br />
* 2x SPI interface <br />
* 2x I²C interface <br />
* I²S Audio codec (1 x microphone, 1 x Line in, 1x Line out)<br />
* Real-time clock (I²C connection), low power temperature compensated<br />
* 12 bit analog input <br />
* 128 Bytes EEPROM with integrated MAC address <br />
* 16 bit address/databus interface on SODIMM-200 socket <br />
* PWM channel<br />
* 24 GPIOs (A-W + INT_HI_PRIO)<br />
* JTAG debug connection via FFC plug connector <br />
* Industrial temperature range (-40°C to +85°C)<br />
* SODIMM-200 socket with DHCOM pin assignment<br />
|}<br />
<br />
*[[COM iMX6 Hardware|Hardware Support]]<br />
<br />
== Product Change Notifications (PCN) ==<br />
* [[media:PCN_iMX6_R01_2017-08-17.pdf|PCN_iMX6_R01_2017-08-17.pdf (4GByte eMMC)]]<br />
* [[media:PCN_iMX6_R02_2017-08-17.pdf|PCN_iMX6_R02_2017-08-17.pdf (8GByte eMMC)]]<br />
* [[media:PCN_iMX6_R03_2017-09-20.pdf|PCN_iMX6_R03_2017-09-20.pdf (SW ethernet bug)]]<br />
* [[media:PCN_iMX6_R04_2017-09-25.pdf|PCN_iMX6_R04_2017-09-25.pdf (Molex microSD socket)]]<br />
* [[media:PCN_iMX6_R05_2018-01-10.pdf|PCN_iMX6_R05_2018-01-10.pdf (512MB NAND flash)]]<br />
* [[media:PCN_iMX6_R06_2018-10-09.pdf|PCN_iMX6_R06_2018-10-09.pdf (label change)]]<br />
* [[media:PCN_iMX6_R07_2019-11-13.pdf|PCN_iMX6_R07_2019-11-13.pdf (4GByte eMMC)]]<br />
* [[media:PCN_iMX6_R08_2019-11-13.pdf|PCN_iMX6_R08_2019-11-13.pdf (8GByte eMMC)]]<br />
* [[media:PCN_iMX6-009_R01_2021-07-20.pdf|PCN_iMX6-009_R01_2021-07-20.pdf (SPI flash EOL)]]<br />
* [[media:PCN_DHCOM-iMX6-010_R01_2021-12-23.pdf|PCN_DHCOM-iMX6-010_R01_2021-12-23.pdf (microSD socket EOL)]]<br />
<br />
== Software Support ==<br />
*[[COM iMX6 Bootloader U-Boot|i.MX6: Bootloader U-Boot]]<br />
*[[COM iMX6 Linux|i.MX6: Linux]]<br />
*[[DHCOM Update Mechanism|DHCOM Update Mechanism]]<br />
*[[Yocto | Yocto on DHCOM]]<br />
*[[COM iMX6 WinCE|i.MX6: WinCE]]<br />
<br />
== BSP Sources==<br />
==== [https://www.denx.de/wiki/U-Boot U-Boot] ====<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/legacy/2018.05_dhcom DH U-Boot (based on v2018.05)]<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2015.10_dhcom DH U-Boot (based on v2015.10)]<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2013.10_dhcom DH U-Boot (based on v2013.10)]<br />
<br />
==== [https://www.kernel.org Linux Kernel] ====<br />
* Mainline<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/release/4.4.60_dhcom/20190926 DH 4.4.60 Release 2019-09-26]<br />
* NXP Vendor<br />
:* [https://github.com/dh-electronics/linux-imx6-vendor/tree/release/v4.1.15/20190624 DH 4.1.15 Release 2019-06-24]<br />
:* [https://github.com/dh-electronics/linux-imx6-vendor/tree/release/v3.10.17/20170804 DH 3.10.17 Release 2017-08-04]<br />
<br />
== Download binaries/images ==<br />
==== U-Boot (for eMMC DHCOMs) ====<br />
* [https://www.dropbox.com/s/8d1aj6rr0r360lz/u-boot-with-spl_imx6_v2.2.0.0_emmc.imx?raw=1 DH U-Boot v2.2.0.0 (based on v2018.05)]<br />
* [https://www.dropbox.com/s/e6dl6srzj5tbfot/v1-1-0-8_u-boot-imx6qdl.tar.xz?raw=1 DH U-Boot v1.1.0.8 (based on v2015.10)]<br />
: More on how to program it with the U-Boot command "update bootloader ..." on the page [[DHCOM Update Mechanism#Commandline Mode|"DHCOM Update Mechanism"]]<br />
<br />
==== Update Kernel ====<br />
* [https://www.dropbox.com/s/ktppb4ekb2te5rk/2022-02-21_imx6_updatekernel.zip?raw=1 Update Kernel Release 2022-02-21]<br />
: More on how to use it on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
==== Debian based images ====<br />
* Debian 8 "Jessie" + Kernel 4.4.60 Release 2020-03-03<br />
<br />
:* [https://www.dropbox.com/s/nfxu7xb4v22slt2/HD00035_2020-03-03_imx6_jessie_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/au804sehtskb2ky/HD00035_2020-03-03_imx6_jessie_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
* Debian 8 "Jessie" with Qt5.9.1 + Vendor Kernel 4.1.15 Release 2019-09-26<br />
<br />
:* [https://www.dropbox.com/s/18f4hsj3lhp6e5w/HD00039_2019-09-26_imx6_jessie_qt5.9.1_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/3c6b96g7ijzkoay/HD00039_2019-09-26_imx6_jessie_qt5.9.1_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
Hint: You can also progam the eMMC by using the [[COM iMX6 Bootloader U-Boot#USB Mass Storage|U-Boot command "ums"]] (usable since U-Boot v2018.05)<br />
<br />
== Download Linux code examples ==<br />
==== [[Virtual Machine for Application Development#Code Examples for Userspace-Applications to Access SPI, I2C, GPIOs, and more|Code Examples for Userspace-Applications to Access SPI, I2C, GPIOs, and more]] ====<br />
<br />
== Download WEC ==<br />
==== WEC7 DHHalLib.dll (function library) ====<br />
* [[media:DHHalLib_WEC7_R09_2022-03-18.zip|Download DHHalLib Library Version 1.3.0.5]]<br />
* [[media:DHHalLib_Test_App_Source_WEC7_R09_2022-03-18.zip|DHHalLib Demo App Source Code ]]<br />
* [[media:DHHalLib_Test_App_Binary_WEC7_R09_2022-03-18.zip|DHHalLib Demo App Binary File]]<br />
* [[media:CSharp_LibWrapper_Source_WEC7_R09_2022-03-18.zip|Download DHHalLib CSharp Wrapper]]<br />
* [[media:CSharp_LibWrapper.zip|Download DHHalLib CSharp Demo Wrapper App ]]<br />
* [[media:CSharp_LibWrapper_Binary.zip|Download DHHalLib CSharp Demo Wrapper App Binary File]]<br />
<br />
==== WEC7 binary BSP ====<br />
* [[media:2016-05-19_DHCOM_iMX6_BSP_BIN.zip|Download WEC7 binary BSP (date: 2016-05-19)]]<br />
<br />
==== WEC2013 DHHalLib.dll (function library) ====<br />
* [[media:DHHalLib_WEC2013_R12_2021-10-01.zip|Download DHHalLib Library Version 1.4.2.2]]<br />
* [[media:DHHalLib_Test_App_Source_WEC2013_R07_2018_06_12.zip|DHHalLib Demo App Source Code ]]<br />
* [[media:DHHalLib_Test_App_Binary_WEC2013_R09_2021-10-01.zip|DHHalLib Demo App Binary File]]<br />
* [[media:CSharp_LibWrapper_Source_WEC2013_R07_2021-10-01.zip|Download DHHalLib CSharp Wrapper]]<br />
* [[media:CSharp_DHHalLib_Wrapper_App_Source_WEC2013_R05_2017_08_08.zip|DHHalLib C# Demo App Source Code]]<br />
* [[media:CSharp_DHHalLib_Wrapper_App_Binary_WEC2013_R05_2017_08_08.zip|DHHalLib C# Demo App Binary File]]</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=DHCOM_iMX6ULL-D2&diff=3663
DHCOM iMX6ULL-D2
2022-03-24T09:54:46Z
<p>Christoph: /* BSP Sources */</p>
<hr />
<div>{|<br />
|<br />
|<br />
|-<br />
|rowspan="2"|__TOC__<br />
|style="padding-left:100px"|[[Image:IMX6ULL_DHCOR_Modul.png|320px|DHCOR i.MX6ULL-LG]]<br />
|-<br />
|[[Image:IMX6ULLModul.png|600px|DHCOM iMX6ULL-D2]]<br />
|}<br />
<br />
== Scope ==<br />
'''This is also the right page for the DHCOR module, because DHCOM is the reference design for the DHCOR module.'''<br />
<br />
== Hardware ==<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''Cortex-A7 NXP i.MX6ULL up to 900 MHz'''<br />
* 128 - 1024 MByte NAND flash memory (8 bit bus width) or<br>4 - 16 GByte eMMC flash (8 bit bus width)<br />
* 2 MB SPI boot flash<br />
* 128 - 1024 MByte DDR3-400<br />
* On module microSD card socket (4 bit SDIO) <sup>[1]</sup><br />
* LC display controller, 18 bit colors, 1366x768 pixels<br />
* On-chip touch controller for 4-wire resistive touch screens<br />
* 2x Ethernet controller 10/100 Mbit, IEEE1588 conform <sup>[2]</sup><br />
* USB 2.0 OTG high-speed<br />
* USB 2.0 host high speed<br />
* 2x Standard UART with hardware handshake support <sup>[3]</sup><sup>[4]</sup><br />
* WiFi iEEE802.11b/g/n + Bluetooth v4.1 (BR/EDR/BLE) module on BGA <sup>[1]</sup><sup>[4]</sup><br />
<br/><sup>[1]</sup> On module microSD card socket is only available if WiFi is not mounted.<br />
<br/><sup>[2]</sup> The second SPI is only available, if the second ethernet is not mounted.<br />
<br/><sup>[3]</sup> CTS and RTS of the first UART is only available if second CAN port is not connected.<br />
<br/><sup>[4]</sup> The second UART is only available if Bluetooth is not used. This means WiFi/BT module 1DX is not mounted or module 1FX (only WiFi) is mounted.<br />
<br/><sup>[5]</sup> I²S lines are shared with JTAG.<br />
|valign="top" style="border: 0pt;" | <br />
* 2x CAN interface <sup>[3]</sup><br />
* 2x SPI interface <sup>[2]</sup><br />
* 2x I²C interface <br />
* I²S Audio codec (1 x microphone, 1 x Line in, 1x Line out) <sup>[5]</sup><br />
* Real-time clock (I²C connection), low power temperature compensated<br />
* 2x 10 bit analog input (I²C connection)<br />
* 2x 256 Bytes EEPROM with integrated MAC address <br />
* PWM channel<br />
* 22 GPIOs (A-U + INT_HI_PRIO)<br />
* JTAG debug connection via FFC plug connector <br />
* Industrial temperature range (-40°C to +85°C)<br />
* SODIMM-200 socket with DHCOM pin assignment<br />
|}<br />
<br />
*[[COM iMX6ULL Hardware|Hardware Support]]<br />
<br />
== Product Change Notifications (PCN) ==<br />
==== DHCOR i.MX6ULL ====<br />
* [[media:PCN_DHCOR-iMX6ULL-001_R01_2020-02-18.pdf|PCN_DHCOR-iMX6ULL-001_R01_2020-02-18.pdf (IMX_THERMAL)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-002_R01_2020-02-18.pdf|PCN_DHCOR-iMX6ULL-002_R01_2020-02-18.pdf (SPEED_GRADING)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-003_R01_2020-02-18.pdf|PCN_DHCOR-iMX6ULL-003_R01_2020-02-18.pdf (Bootloader on eMMC)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-004_R01_2020-09-17.pdf|PCN_DHCOR-iMX6ULL-004_R01_2020-09-17.pdf (900MHz undervolt)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-005_R01_2021-05-05.pdf|PCN_DHCOR-iMX6ULL-005_R01_2021-05-05.pdf (VDD_SOC_CAP capacitor)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-006_R02_2021-05-10.pdf|PCN_DHCOR-iMX6ULL-006_R02_2021-05-10.pdf (PMIC buck converter mode)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-007_R01_2021-07-28.pdf|PCN_DHCOR-iMX6ULL-007_R01_2021-07-28.pdf (Change of PCB)]]<br />
==== DHCOM i.MX6ULL ====<br />
* [[media:PCN_DHCOM-iMX6ULL-001_R01_2021-12-23.pdf|PCN_DHCOM-iMX6ULL-001_R01_2021-12-23.pdf (microSD socket EOL)]]<br />
<br />
== Software Support ==<br />
*[[COM iMX6ULL Bootloader U-Boot|i.MX6ULL: Bootloader U-Boot]]<br />
*[[COM iMX6ULL Linux|i.MX6ULL: Linux]]<br />
*[[DHCOM Update Mechanism|DHCOM Update Mechanism]]<br />
*[[Yocto | Yocto on DHCOM]]<br />
<br />
== BSP Sources==<br />
==== [https://www.denx.de/wiki/U-Boot U-Boot] ====<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2018.05_dhcom DH U-Boot (based on v2018.05)]<br />
<br />
==== [https://www.kernel.org Linux Kernel] ====<br />
* Mainline<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/release/4.19.135_dhsom/20201201 DH 4.19.135 Release 2020-12-01]<br />
<br />
== Download binaries/images ==<br />
==== U-Boot (for eMMC DHCOMs) ====<br />
* [https://www.dropbox.com/s/30i7ddwxtqrkr09/u-boot-with-spl_imx6ull_2018.05-DH_v0.30_emmc-g61cebade93.imx?raw=1 DH U-Boot v0.30 (based on v2018.05)]<br />
: More on how to program it with the U-Boot command "update bootloader ..." on the page [[DHCOM Update Mechanism#Commandline Mode|"DHCOM Update Mechanism"]]<br />
<br />
==== Update Kernel ====<br />
* [https://www.dropbox.com/s/cnxj01a4rq4x073/2022-02-22_imx6ull_updatekernel.zip?raw=1 Update Kernel Release 2022-02-22]<br />
: More on how to use it on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
==== Debian based images ====<br />
* Debian 10 "Buster" + Kernel 4.19.135 Release 2020-12-01<br />
<br />
:* [https://www.dropbox.com/s/yqp1q8b88cksn76/HD00051_2020-12-01_imx6ull_buster_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/tp1fgkf1w7e3bcx/HD00051_2020-12-01_imx6ull_buster_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
Hint: You can also progam the eMMC by using the [[COM iMX6ULL Bootloader U-Boot#USB Mass Storage|U-Boot command "ums"]] (usable since U-Boot v2018.05)</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=DHCOM_iMX6ULL-D2&diff=3610
DHCOM iMX6ULL-D2
2022-02-22T16:56:06Z
<p>Christoph: /* Update Kernel */</p>
<hr />
<div>{|<br />
|<br />
|<br />
|-<br />
|rowspan="2"|__TOC__<br />
|style="padding-left:100px"|[[Image:IMX6ULL_DHCOR_Modul.png|320px|DHCOR i.MX6ULL-LG]]<br />
|-<br />
|[[Image:IMX6ULLModul.png|600px|DHCOM iMX6ULL-D2]]<br />
|}<br />
<br />
== Scope ==<br />
'''This is also the right page for the DHCOR module, because DHCOM is the reference design for the DHCOR module.'''<br />
<br />
== Hardware ==<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''Cortex-A7 NXP i.MX6ULL up to 900 MHz'''<br />
* 128 - 1024 MByte NAND flash memory (8 bit bus width) or<br>4 - 16 GByte eMMC flash (8 bit bus width)<br />
* 2 MB SPI boot flash<br />
* 128 - 1024 MByte DDR3-400<br />
* On module microSD card socket (4 bit SDIO) <sup>[1]</sup><br />
* LC display controller, 18 bit colors, 1366x768 pixels<br />
* On-chip touch controller for 4-wire resistive touch screens<br />
* 2x Ethernet controller 10/100 Mbit, IEEE1588 conform <sup>[2]</sup><br />
* USB 2.0 OTG high-speed<br />
* USB 2.0 host high speed<br />
* 2x Standard UART with hardware handshake support <sup>[3]</sup><sup>[4]</sup><br />
* WiFi iEEE802.11b/g/n + Bluetooth v4.1 (BR/EDR/BLE) module on BGA <sup>[1]</sup><sup>[4]</sup><br />
<br/><sup>[1]</sup> On module microSD card socket is only available if WiFi is not mounted.<br />
<br/><sup>[2]</sup> The second SPI is only available, if the second ethernet is not mounted.<br />
<br/><sup>[3]</sup> CTS and RTS of the first UART is only available if second CAN port is not connected.<br />
<br/><sup>[4]</sup> The second UART is only available if Bluetooth is not used. This means WiFi/BT module 1DX is not mounted or module 1FX (only WiFi) is mounted.<br />
<br/><sup>[5]</sup> I²S lines are shared with JTAG.<br />
|valign="top" style="border: 0pt;" | <br />
* 2x CAN interface <sup>[3]</sup><br />
* 2x SPI interface <sup>[2]</sup><br />
* 2x I²C interface <br />
* I²S Audio codec (1 x microphone, 1 x Line in, 1x Line out) <sup>[5]</sup><br />
* Real-time clock (I²C connection), low power temperature compensated<br />
* 2x 10 bit analog input (I²C connection)<br />
* 2x 256 Bytes EEPROM with integrated MAC address <br />
* PWM channel<br />
* 22 GPIOs (A-U + INT_HI_PRIO)<br />
* JTAG debug connection via FFC plug connector <br />
* Industrial temperature range (-40°C to +85°C)<br />
* SODIMM-200 socket with DHCOM pin assignment<br />
|}<br />
<br />
*[[COM iMX6ULL Hardware|Hardware Support]]<br />
<br />
== Product Change Notifications (PCN) ==<br />
==== DHCOR i.MX6ULL ====<br />
* [[media:PCN_DHCOR-iMX6ULL-001_R01_2020-02-18.pdf|PCN_DHCOR-iMX6ULL-001_R01_2020-02-18.pdf (IMX_THERMAL)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-002_R01_2020-02-18.pdf|PCN_DHCOR-iMX6ULL-002_R01_2020-02-18.pdf (SPEED_GRADING)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-003_R01_2020-02-18.pdf|PCN_DHCOR-iMX6ULL-003_R01_2020-02-18.pdf (Bootloader on eMMC)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-004_R01_2020-09-17.pdf|PCN_DHCOR-iMX6ULL-004_R01_2020-09-17.pdf (900MHz undervolt)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-005_R01_2021-05-05.pdf|PCN_DHCOR-iMX6ULL-005_R01_2021-05-05.pdf (VDD_SOC_CAP capacitor)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-006_R02_2021-05-10.pdf|PCN_DHCOR-iMX6ULL-006_R02_2021-05-10.pdf (PMIC buck converter mode)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-007_R01_2021-07-28.pdf|PCN_DHCOR-iMX6ULL-007_R01_2021-07-28.pdf (Change of PCB)]]<br />
==== DHCOM i.MX6ULL ====<br />
* [[media:PCN_DHCOM-iMX6ULL-001_R01_2021-12-23.pdf|PCN_DHCOM-iMX6ULL-001_R01_2021-12-23.pdf (microSD socket EOL)]]<br />
<br />
== Software Support ==<br />
*[[COM iMX6ULL Bootloader U-Boot|i.MX6ULL: Bootloader U-Boot]]<br />
*[[COM iMX6ULL Linux|i.MX6ULL: Linux]]<br />
*[[DHCOM Update Mechanism|DHCOM Update Mechanism]]<br />
*[[Yocto | Yocto on DHCOM]]<br />
<br />
== BSP Sources==<br />
==== [https://www.denx.de/wiki/U-Boot U-Boot] ====<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2018.05_dhcom DH U-Boot (based on v2018.05)]<br />
<br />
==== [https://www.kernel.org Linux Kernel] ====<br />
* Mainline<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/dev/4.19.135_dhsom DH 4.19.135 Development]<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/release/4.19.135_dhsom/20201201 DH 4.19.135 Release 2020-12-01 (Yocto reference)]<br />
<br />
== Download binaries/images ==<br />
==== U-Boot (for eMMC DHCOMs) ====<br />
* [https://www.dropbox.com/s/30i7ddwxtqrkr09/u-boot-with-spl_imx6ull_2018.05-DH_v0.30_emmc-g61cebade93.imx?raw=1 DH U-Boot v0.30 (based on v2018.05)]<br />
: More on how to program it with the U-Boot command "update bootloader ..." on the page [[DHCOM Update Mechanism#Commandline Mode|"DHCOM Update Mechanism"]]<br />
<br />
==== Update Kernel ====<br />
* [https://www.dropbox.com/s/cnxj01a4rq4x073/2022-02-22_imx6ull_updatekernel.zip?raw=1 Update Kernel Release 2022-02-22]<br />
: More on how to use it on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
==== Debian based images ====<br />
* Debian 10 "Buster" + Kernel 4.19.135 Release 2020-12-01<br />
<br />
:* [https://www.dropbox.com/s/yqp1q8b88cksn76/HD00051_2020-12-01_imx6ull_buster_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/tp1fgkf1w7e3bcx/HD00051_2020-12-01_imx6ull_buster_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
Hint: You can also progam the eMMC by using the [[COM iMX6ULL Bootloader U-Boot#USB Mass Storage|U-Boot command "ums"]] (usable since U-Boot v2018.05)</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=DHCOM_iMX6-D2&diff=3609
DHCOM iMX6-D2
2022-02-22T15:38:50Z
<p>Christoph: /* Update Kernel */</p>
<hr />
<div>{|<br />
|<br />
|<br />
|-<br />
|__TOC__<br />
|[[Image:IM6Modul.png|600px|COM iMX6-D2]]<br />
|}<br />
<br />
== Hardware ==<br />
<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''Cortex-A9 Freescale i.MX6 Solo/DualLite/Dual/Quad up to 1.2GHz'''<br />
* 2D (GC320) / 3D (GC880/GC2000) graphics accelerator<br />
* 128 - 1024 MByte NAND flash memory (8 bit bus width) or<br/>4 - 16 GByte eMMC flash (8 bit bus width)<br />
* 2 MB SPI boot flash<br />
* 256 - 2048 MByte DDR3-1066 or DDR3-800<br />
* On module microSD card socket (4 bit SDIO) <sup>[1]</sup><br />
* SD/MMC card interface, 4 bit SDIO<br />
* LC display controller, 24 bit colors, 2048x1536 pixels<br />
* LVDS 4-channel, max. 165 Mpixels/s<br />
* On-board touch controller for 4-wire resistive touch screens<br />
* Ethernet controller 10/100 Mbit, IEEE1588 conform<br />
* USB 2.0 OTG high-speed<br />
* USB 2.0 host high speed<br />
* Full function UART <sup>[2]</sup><br />
* Standard UART with hardware handshake support<br />
* Standard UART<br />
<br/><sup>[1]</sup> On module microSD card socket is only available if second CAN port is not connected.<br />
<br/><sup>[2]</sup> CTS and RTS is only available if second CAN port is not connected.<br />
|valign="top" style="border: 0pt;" | <br />
* 2x CAN interface <sup>[1][2]</sup><br />
* 2x SPI interface <br />
* 2x I²C interface <br />
* I²S Audio codec (1 x microphone, 1 x Line in, 1x Line out)<br />
* Real-time clock (I²C connection), low power temperature compensated<br />
* 12 bit analog input <br />
* 128 Bytes EEPROM with integrated MAC address <br />
* 16 bit address/databus interface on SODIMM-200 socket <br />
* PWM channel<br />
* 24 GPIOs (A-W + INT_HI_PRIO)<br />
* JTAG debug connection via FFC plug connector <br />
* Industrial temperature range (-40°C to +85°C)<br />
* SODIMM-200 socket with DHCOM pin assignment<br />
|}<br />
<br />
*[[COM iMX6 Hardware|Hardware Support]]<br />
<br />
== Product Change Notifications (PCN) ==<br />
* [[media:PCN_iMX6_R01_2017-08-17.pdf|PCN_iMX6_R01_2017-08-17.pdf (4GByte eMMC)]]<br />
* [[media:PCN_iMX6_R02_2017-08-17.pdf|PCN_iMX6_R02_2017-08-17.pdf (8GByte eMMC)]]<br />
* [[media:PCN_iMX6_R03_2017-09-20.pdf|PCN_iMX6_R03_2017-09-20.pdf (SW ethernet bug)]]<br />
* [[media:PCN_iMX6_R04_2017-09-25.pdf|PCN_iMX6_R04_2017-09-25.pdf (Molex microSD socket)]]<br />
* [[media:PCN_iMX6_R05_2018-01-10.pdf|PCN_iMX6_R05_2018-01-10.pdf (512MB NAND flash)]]<br />
* [[media:PCN_iMX6_R06_2018-10-09.pdf|PCN_iMX6_R06_2018-10-09.pdf (label change)]]<br />
* [[media:PCN_iMX6_R07_2019-11-13.pdf|PCN_iMX6_R07_2019-11-13.pdf (4GByte eMMC)]]<br />
* [[media:PCN_iMX6_R08_2019-11-13.pdf|PCN_iMX6_R08_2019-11-13.pdf (8GByte eMMC)]]<br />
* [[media:PCN_iMX6-009_R01_2021-07-20.pdf|PCN_iMX6-009_R01_2021-07-20.pdf (SPI flash EOL)]]<br />
* [[media:PCN_DHCOM-iMX6-010_R01_2021-12-23.pdf|PCN_DHCOM-iMX6-010_R01_2021-12-23.pdf (microSD socket EOL)]]<br />
<br />
== Software Support ==<br />
*[[COM iMX6 Bootloader U-Boot|i.MX6: Bootloader U-Boot]]<br />
*[[COM iMX6 Linux|i.MX6: Linux]]<br />
*[[DHCOM Update Mechanism|DHCOM Update Mechanism]]<br />
*[[Yocto | Yocto on DHCOM]]<br />
*[[COM iMX6 WinCE|i.MX6: WinCE]]<br />
<br />
== BSP Sources==<br />
==== [https://www.denx.de/wiki/U-Boot U-Boot] ====<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/legacy/2018.05_dhcom DH U-Boot (based on v2018.05)]<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2015.10_dhcom DH U-Boot (based on v2015.10)]<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2013.10_dhcom DH U-Boot (based on v2013.10)]<br />
<br />
==== [https://www.kernel.org Linux Kernel] ====<br />
* Mainline<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/dev/4.4.60_dhcom DH 4.4.60 Development]<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/release/4.4.60_dhcom/20190926 DH 4.4.60 Release 2019-09-26 (Yocto reference)]<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/dev/3.14.12_dhcom DH 3.14.12 Development]<br />
* NXP Vendor<br />
:* [https://github.com/dh-electronics/linux-imx6-vendor/tree/release/v4.1.15/20190624 DH 4.1.15 Release 2019-06-24 (Yocto reference)]<br />
:* [https://github.com/dh-electronics/linux-imx6-vendor/tree/release/v3.10.17/20170804 DH 3.10.17 Release 2017-08-04 (Yocto reference)]<br />
<br />
== Download binaries/images ==<br />
==== U-Boot (for eMMC DHCOMs) ====<br />
* [https://www.dropbox.com/s/8d1aj6rr0r360lz/u-boot-with-spl_imx6_v2.2.0.0_emmc.imx?raw=1 DH U-Boot v2.2.0.0 (based on v2018.05)]<br />
* [https://www.dropbox.com/s/e6dl6srzj5tbfot/v1-1-0-8_u-boot-imx6qdl.tar.xz?raw=1 DH U-Boot v1.1.0.8 (based on v2015.10)]<br />
: More on how to program it with the U-Boot command "update bootloader ..." on the page [[DHCOM Update Mechanism#Commandline Mode|"DHCOM Update Mechanism"]]<br />
<br />
==== Update Kernel ====<br />
* [https://www.dropbox.com/s/ktppb4ekb2te5rk/2022-02-21_imx6_updatekernel.zip?raw=1 Update Kernel Release 2022-02-21]<br />
: More on how to use it on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
==== Debian based images ====<br />
* Debian 8 "Jessie" + Kernel 4.4.60 Release 2020-03-03<br />
<br />
:* [https://www.dropbox.com/s/nfxu7xb4v22slt2/HD00035_2020-03-03_imx6_jessie_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/au804sehtskb2ky/HD00035_2020-03-03_imx6_jessie_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
* Debian 8 "Jessie" with Qt5.9.1 + Vendor Kernel 4.1.15 Release 2019-09-26<br />
<br />
:* [https://www.dropbox.com/s/18f4hsj3lhp6e5w/HD00039_2019-09-26_imx6_jessie_qt5.9.1_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/3c6b96g7ijzkoay/HD00039_2019-09-26_imx6_jessie_qt5.9.1_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
Hint: You can also progam the eMMC by using the [[COM iMX6 Bootloader U-Boot#USB Mass Storage|U-Boot command "ums"]] (usable since U-Boot v2018.05)<br />
<br />
== Download Linux code examples ==<br />
==== [[Virtual Machine for Application Development#Code Examples for Userspace-Applications to Access SPI, I2C, GPIOs, and more|Code Examples for Userspace-Applications to Access SPI, I2C, GPIOs, and more]] ====<br />
<br />
== Download WEC ==<br />
==== WEC7 DHHalLib.dll (function library) ====<br />
* [[media:DHHalLib_WEC7_R07_2022-02-08.zip|Download DHHalLib Library Version 1.3.0.3]]<br />
* [[media:DHHalLib_Test_App_Source_WEC7_R05_2021-10-01.zip|DHHalLib Demo App Source Code ]]<br />
* [[media:DHHalLib_Test_App_Binary_WEC7_R05_2021-10-01.zip|DHHalLib Demo App Binary File]]<br />
* [[media:CSharp_LibWrapper.zip|Download DHHalLib CSharp Demo Wrapper App ]]<br />
* [[media:CSharp_LibWrapper_Binary.zip|Download DHHalLib CSharp Demo Wrapper App Binary File]]<br />
<br />
==== WEC7 binary BSP ====<br />
* [[media:2016-05-19_DHCOM_iMX6_BSP_BIN.zip|Download WEC7 binary BSP (date: 2016-05-19)]]<br />
<br />
==== WEC2013 DHHalLib.dll (function library) ====<br />
* [[media:DHHalLib_WEC2013_R12_2021-10-01.zip|Download DHHalLib Library Version 1.4.2.2]]<br />
* [[media:DHHalLib_Test_App_Source_WEC2013_R07_2018_06_12.zip|DHHalLib Demo App Source Code ]]<br />
* [[media:DHHalLib_Test_App_Binary_WEC2013_R09_2021-10-01.zip|DHHalLib Demo App Binary File]]<br />
* [[media:CSharp_LibWrapper_Source_WEC2013_R07_2021-10-01.zip|Download DHHalLib CSharp Wrapper]]<br />
* [[media:CSharp_DHHalLib_Wrapper_App_Source_WEC2013_R05_2017_08_08.zip|DHHalLib C# Demo App Source Code]]<br />
* [[media:CSharp_DHHalLib_Wrapper_App_Binary_WEC2013_R05_2017_08_08.zip|DHHalLib C# Demo App Binary File]]</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=DHCOM_iMX6-D2&diff=3607
DHCOM iMX6-D2
2022-02-18T22:14:17Z
<p>Christoph: /* Update Kernel */</p>
<hr />
<div>{|<br />
|<br />
|<br />
|-<br />
|__TOC__<br />
|[[Image:IM6Modul.png|600px|COM iMX6-D2]]<br />
|}<br />
<br />
== Hardware ==<br />
<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''Cortex-A9 Freescale i.MX6 Solo/DualLite/Dual/Quad up to 1.2GHz'''<br />
* 2D (GC320) / 3D (GC880/GC2000) graphics accelerator<br />
* 128 - 1024 MByte NAND flash memory (8 bit bus width) or<br/>4 - 16 GByte eMMC flash (8 bit bus width)<br />
* 2 MB SPI boot flash<br />
* 256 - 2048 MByte DDR3-1066 or DDR3-800<br />
* On module microSD card socket (4 bit SDIO) <sup>[1]</sup><br />
* SD/MMC card interface, 4 bit SDIO<br />
* LC display controller, 24 bit colors, 2048x1536 pixels<br />
* LVDS 4-channel, max. 165 Mpixels/s<br />
* On-board touch controller for 4-wire resistive touch screens<br />
* Ethernet controller 10/100 Mbit, IEEE1588 conform<br />
* USB 2.0 OTG high-speed<br />
* USB 2.0 host high speed<br />
* Full function UART <sup>[2]</sup><br />
* Standard UART with hardware handshake support<br />
* Standard UART<br />
<br/><sup>[1]</sup> On module microSD card socket is only available if second CAN port is not connected.<br />
<br/><sup>[2]</sup> CTS and RTS is only available if second CAN port is not connected.<br />
|valign="top" style="border: 0pt;" | <br />
* 2x CAN interface <sup>[1][2]</sup><br />
* 2x SPI interface <br />
* 2x I²C interface <br />
* I²S Audio codec (1 x microphone, 1 x Line in, 1x Line out)<br />
* Real-time clock (I²C connection), low power temperature compensated<br />
* 12 bit analog input <br />
* 128 Bytes EEPROM with integrated MAC address <br />
* 16 bit address/databus interface on SODIMM-200 socket <br />
* PWM channel<br />
* 24 GPIOs (A-W + INT_HI_PRIO)<br />
* JTAG debug connection via FFC plug connector <br />
* Industrial temperature range (-40°C to +85°C)<br />
* SODIMM-200 socket with DHCOM pin assignment<br />
|}<br />
<br />
*[[COM iMX6 Hardware|Hardware Support]]<br />
<br />
== Product Change Notifications (PCN) ==<br />
* [[media:PCN_iMX6_R01_2017-08-17.pdf|PCN_iMX6_R01_2017-08-17.pdf (4GByte eMMC)]]<br />
* [[media:PCN_iMX6_R02_2017-08-17.pdf|PCN_iMX6_R02_2017-08-17.pdf (8GByte eMMC)]]<br />
* [[media:PCN_iMX6_R03_2017-09-20.pdf|PCN_iMX6_R03_2017-09-20.pdf (SW ethernet bug)]]<br />
* [[media:PCN_iMX6_R04_2017-09-25.pdf|PCN_iMX6_R04_2017-09-25.pdf (Molex microSD socket)]]<br />
* [[media:PCN_iMX6_R05_2018-01-10.pdf|PCN_iMX6_R05_2018-01-10.pdf (512MB NAND flash)]]<br />
* [[media:PCN_iMX6_R06_2018-10-09.pdf|PCN_iMX6_R06_2018-10-09.pdf (label change)]]<br />
* [[media:PCN_iMX6_R07_2019-11-13.pdf|PCN_iMX6_R07_2019-11-13.pdf (4GByte eMMC)]]<br />
* [[media:PCN_iMX6_R08_2019-11-13.pdf|PCN_iMX6_R08_2019-11-13.pdf (8GByte eMMC)]]<br />
* [[media:PCN_iMX6-009_R01_2021-07-20.pdf|PCN_iMX6-009_R01_2021-07-20.pdf (SPI flash EOL)]]<br />
* [[media:PCN_DHCOM-iMX6-010_R01_2021-12-23.pdf|PCN_DHCOM-iMX6-010_R01_2021-12-23.pdf (microSD socket EOL)]]<br />
<br />
== Software Support ==<br />
*[[COM iMX6 Bootloader U-Boot|i.MX6: Bootloader U-Boot]]<br />
*[[COM iMX6 Linux|i.MX6: Linux]]<br />
*[[DHCOM Update Mechanism|DHCOM Update Mechanism]]<br />
*[[Yocto | Yocto on DHCOM]]<br />
*[[COM iMX6 WinCE|i.MX6: WinCE]]<br />
<br />
== BSP Sources==<br />
==== [https://www.denx.de/wiki/U-Boot U-Boot] ====<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/legacy/2018.05_dhcom DH U-Boot (based on v2018.05)]<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2015.10_dhcom DH U-Boot (based on v2015.10)]<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2013.10_dhcom DH U-Boot (based on v2013.10)]<br />
<br />
==== [https://www.kernel.org Linux Kernel] ====<br />
* Mainline<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/dev/4.4.60_dhcom DH 4.4.60 Development]<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/release/4.4.60_dhcom/20190926 DH 4.4.60 Release 2019-09-26 (Yocto reference)]<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/dev/3.14.12_dhcom DH 3.14.12 Development]<br />
* NXP Vendor<br />
:* [https://github.com/dh-electronics/linux-imx6-vendor/tree/release/v4.1.15/20190624 DH 4.1.15 Release 2019-06-24 (Yocto reference)]<br />
:* [https://github.com/dh-electronics/linux-imx6-vendor/tree/release/v3.10.17/20170804 DH 3.10.17 Release 2017-08-04 (Yocto reference)]<br />
<br />
== Download binaries/images ==<br />
==== U-Boot (for eMMC DHCOMs) ====<br />
* [https://www.dropbox.com/s/8d1aj6rr0r360lz/u-boot-with-spl_imx6_v2.2.0.0_emmc.imx?raw=1 DH U-Boot v2.2.0.0 (based on v2018.05)]<br />
* [https://www.dropbox.com/s/e6dl6srzj5tbfot/v1-1-0-8_u-boot-imx6qdl.tar.xz?raw=1 DH U-Boot v1.1.0.8 (based on v2015.10)]<br />
: More on how to program it with the U-Boot command "update bootloader ..." on the page [[DHCOM Update Mechanism#Commandline Mode|"DHCOM Update Mechanism"]]<br />
<br />
==== Update Kernel ====<br />
* [https://www.dropbox.com/s/himswma3glpnxjr/2022-02-17_imx6_updatekernel.zip?raw=1 Update Kernel Release 2022-02-17]<br />
: More on how to use it on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
==== Debian based images ====<br />
* Debian 8 "Jessie" + Kernel 4.4.60 Release 2020-03-03<br />
<br />
:* [https://www.dropbox.com/s/nfxu7xb4v22slt2/HD00035_2020-03-03_imx6_jessie_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/au804sehtskb2ky/HD00035_2020-03-03_imx6_jessie_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
* Debian 8 "Jessie" with Qt5.9.1 + Vendor Kernel 4.1.15 Release 2019-09-26<br />
<br />
:* [https://www.dropbox.com/s/18f4hsj3lhp6e5w/HD00039_2019-09-26_imx6_jessie_qt5.9.1_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/3c6b96g7ijzkoay/HD00039_2019-09-26_imx6_jessie_qt5.9.1_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
Hint: You can also progam the eMMC by using the [[COM iMX6 Bootloader U-Boot#USB Mass Storage|U-Boot command "ums"]] (usable since U-Boot v2018.05)<br />
<br />
== Download Linux code examples ==<br />
==== [[Virtual Machine for Application Development#Code Examples for Userspace-Applications to Access SPI, I2C, GPIOs, and more|Code Examples for Userspace-Applications to Access SPI, I2C, GPIOs, and more]] ====<br />
<br />
== Download WEC ==<br />
==== WEC7 DHHalLib.dll (function library) ====<br />
* [[media:DHHalLib_WEC7_R07_2022-02-08.zip|Download DHHalLib Library Version 1.3.0.3]]<br />
* [[media:DHHalLib_Test_App_Source_WEC7_R05_2021-10-01.zip|DHHalLib Demo App Source Code ]]<br />
* [[media:DHHalLib_Test_App_Binary_WEC7_R05_2021-10-01.zip|DHHalLib Demo App Binary File]]<br />
* [[media:CSharp_LibWrapper.zip|Download DHHalLib CSharp Demo Wrapper App ]]<br />
* [[media:CSharp_LibWrapper_Binary.zip|Download DHHalLib CSharp Demo Wrapper App Binary File]]<br />
<br />
==== WEC7 binary BSP ====<br />
* [[media:2016-05-19_DHCOM_iMX6_BSP_BIN.zip|Download WEC7 binary BSP (date: 2016-05-19)]]<br />
<br />
==== WEC2013 DHHalLib.dll (function library) ====<br />
* [[media:DHHalLib_WEC2013_R12_2021-10-01.zip|Download DHHalLib Library Version 1.4.2.2]]<br />
* [[media:DHHalLib_Test_App_Source_WEC2013_R07_2018_06_12.zip|DHHalLib Demo App Source Code ]]<br />
* [[media:DHHalLib_Test_App_Binary_WEC2013_R09_2021-10-01.zip|DHHalLib Demo App Binary File]]<br />
* [[media:CSharp_LibWrapper_Source_WEC2013_R07_2021-10-01.zip|Download DHHalLib CSharp Wrapper]]<br />
* [[media:CSharp_DHHalLib_Wrapper_App_Source_WEC2013_R05_2017_08_08.zip|DHHalLib C# Demo App Source Code]]<br />
* [[media:CSharp_DHHalLib_Wrapper_App_Binary_WEC2013_R05_2017_08_08.zip|DHHalLib C# Demo App Binary File]]</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=DHCOM_iMX6ULL-D2&diff=3606
DHCOM iMX6ULL-D2
2022-02-18T21:20:08Z
<p>Christoph: /* U-Boot (for eMMC DHCOMs) */</p>
<hr />
<div>{|<br />
|<br />
|<br />
|-<br />
|rowspan="2"|__TOC__<br />
|style="padding-left:100px"|[[Image:IMX6ULL_DHCOR_Modul.png|320px|DHCOR i.MX6ULL-LG]]<br />
|-<br />
|[[Image:IMX6ULLModul.png|600px|DHCOM iMX6ULL-D2]]<br />
|}<br />
<br />
== Scope ==<br />
'''This is also the right page for the DHCOR module, because DHCOM is the reference design for the DHCOR module.'''<br />
<br />
== Hardware ==<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''Cortex-A7 NXP i.MX6ULL up to 900 MHz'''<br />
* 128 - 1024 MByte NAND flash memory (8 bit bus width) or<br>4 - 16 GByte eMMC flash (8 bit bus width)<br />
* 2 MB SPI boot flash<br />
* 128 - 1024 MByte DDR3-400<br />
* On module microSD card socket (4 bit SDIO) <sup>[1]</sup><br />
* LC display controller, 18 bit colors, 1366x768 pixels<br />
* On-chip touch controller for 4-wire resistive touch screens<br />
* 2x Ethernet controller 10/100 Mbit, IEEE1588 conform <sup>[2]</sup><br />
* USB 2.0 OTG high-speed<br />
* USB 2.0 host high speed<br />
* 2x Standard UART with hardware handshake support <sup>[3]</sup><sup>[4]</sup><br />
* WiFi iEEE802.11b/g/n + Bluetooth v4.1 (BR/EDR/BLE) module on BGA <sup>[1]</sup><sup>[4]</sup><br />
<br/><sup>[1]</sup> On module microSD card socket is only available if WiFi is not mounted.<br />
<br/><sup>[2]</sup> The second SPI is only available, if the second ethernet is not mounted.<br />
<br/><sup>[3]</sup> CTS and RTS of the first UART is only available if second CAN port is not connected.<br />
<br/><sup>[4]</sup> The second UART is only available if Bluetooth is not used. This means WiFi/BT module 1DX is not mounted or module 1FX (only WiFi) is mounted.<br />
<br/><sup>[5]</sup> I²S lines are shared with JTAG.<br />
|valign="top" style="border: 0pt;" | <br />
* 2x CAN interface <sup>[3]</sup><br />
* 2x SPI interface <sup>[2]</sup><br />
* 2x I²C interface <br />
* I²S Audio codec (1 x microphone, 1 x Line in, 1x Line out) <sup>[5]</sup><br />
* Real-time clock (I²C connection), low power temperature compensated<br />
* 2x 10 bit analog input (I²C connection)<br />
* 2x 256 Bytes EEPROM with integrated MAC address <br />
* PWM channel<br />
* 22 GPIOs (A-U + INT_HI_PRIO)<br />
* JTAG debug connection via FFC plug connector <br />
* Industrial temperature range (-40°C to +85°C)<br />
* SODIMM-200 socket with DHCOM pin assignment<br />
|}<br />
<br />
*[[COM iMX6ULL Hardware|Hardware Support]]<br />
<br />
== Product Change Notifications (PCN) ==<br />
==== DHCOR i.MX6ULL ====<br />
* [[media:PCN_DHCOR-iMX6ULL-001_R01_2020-02-18.pdf|PCN_DHCOR-iMX6ULL-001_R01_2020-02-18.pdf (IMX_THERMAL)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-002_R01_2020-02-18.pdf|PCN_DHCOR-iMX6ULL-002_R01_2020-02-18.pdf (SPEED_GRADING)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-003_R01_2020-02-18.pdf|PCN_DHCOR-iMX6ULL-003_R01_2020-02-18.pdf (Bootloader on eMMC)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-004_R01_2020-09-17.pdf|PCN_DHCOR-iMX6ULL-004_R01_2020-09-17.pdf (900MHz undervolt)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-005_R01_2021-05-05.pdf|PCN_DHCOR-iMX6ULL-005_R01_2021-05-05.pdf (VDD_SOC_CAP capacitor)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-006_R02_2021-05-10.pdf|PCN_DHCOR-iMX6ULL-006_R02_2021-05-10.pdf (PMIC buck converter mode)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-007_R01_2021-07-28.pdf|PCN_DHCOR-iMX6ULL-007_R01_2021-07-28.pdf (Change of PCB)]]<br />
==== DHCOM i.MX6ULL ====<br />
* [[media:PCN_DHCOM-iMX6ULL-001_R01_2021-12-23.pdf|PCN_DHCOM-iMX6ULL-001_R01_2021-12-23.pdf (microSD socket EOL)]]<br />
<br />
== Software Support ==<br />
*[[COM iMX6ULL Bootloader U-Boot|i.MX6ULL: Bootloader U-Boot]]<br />
*[[COM iMX6ULL Linux|i.MX6ULL: Linux]]<br />
*[[DHCOM Update Mechanism|DHCOM Update Mechanism]]<br />
*[[Yocto | Yocto on DHCOM]]<br />
<br />
== BSP Sources==<br />
==== [https://www.denx.de/wiki/U-Boot U-Boot] ====<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2018.05_dhcom DH U-Boot (based on v2018.05)]<br />
<br />
==== [https://www.kernel.org Linux Kernel] ====<br />
* Mainline<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/dev/4.19.135_dhsom DH 4.19.135 Development]<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/release/4.19.135_dhsom/20201201 DH 4.19.135 Release 2020-12-01 (Yocto reference)]<br />
<br />
== Download binaries/images ==<br />
==== U-Boot (for eMMC DHCOMs) ====<br />
* [https://www.dropbox.com/s/30i7ddwxtqrkr09/u-boot-with-spl_imx6ull_2018.05-DH_v0.30_emmc-g61cebade93.imx?raw=1 DH U-Boot v0.30 (based on v2018.05)]<br />
: More on how to program it with the U-Boot command "update bootloader ..." on the page [[DHCOM Update Mechanism#Commandline Mode|"DHCOM Update Mechanism"]]<br />
<br />
==== Update Kernel ====<br />
* [https://www.dropbox.com/s/eba78vje6788mg1/2021-12-23_imx6ull_updatekernel.zip?raw=1 Update Kernel Release 2021-12-23]<br />
: More on how to use it on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
==== Debian based images ====<br />
* Debian 10 "Buster" + Kernel 4.19.135 Release 2020-12-01<br />
<br />
:* [https://www.dropbox.com/s/yqp1q8b88cksn76/HD00051_2020-12-01_imx6ull_buster_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/tp1fgkf1w7e3bcx/HD00051_2020-12-01_imx6ull_buster_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
Hint: You can also progam the eMMC by using the [[COM iMX6ULL Bootloader U-Boot#USB Mass Storage|U-Boot command "ums"]] (usable since U-Boot v2018.05)</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=DHCOM_iMX6-D2&diff=3605
DHCOM iMX6-D2
2022-02-17T16:46:11Z
<p>Christoph: /* U-Boot (for eMMC DHCOMs) */</p>
<hr />
<div>{|<br />
|<br />
|<br />
|-<br />
|__TOC__<br />
|[[Image:IM6Modul.png|600px|COM iMX6-D2]]<br />
|}<br />
<br />
== Hardware ==<br />
<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''Cortex-A9 Freescale i.MX6 Solo/DualLite/Dual/Quad up to 1.2GHz'''<br />
* 2D (GC320) / 3D (GC880/GC2000) graphics accelerator<br />
* 128 - 1024 MByte NAND flash memory (8 bit bus width) or<br/>4 - 16 GByte eMMC flash (8 bit bus width)<br />
* 2 MB SPI boot flash<br />
* 256 - 2048 MByte DDR3-1066 or DDR3-800<br />
* On module microSD card socket (4 bit SDIO) <sup>[1]</sup><br />
* SD/MMC card interface, 4 bit SDIO<br />
* LC display controller, 24 bit colors, 2048x1536 pixels<br />
* LVDS 4-channel, max. 165 Mpixels/s<br />
* On-board touch controller for 4-wire resistive touch screens<br />
* Ethernet controller 10/100 Mbit, IEEE1588 conform<br />
* USB 2.0 OTG high-speed<br />
* USB 2.0 host high speed<br />
* Full function UART <sup>[2]</sup><br />
* Standard UART with hardware handshake support<br />
* Standard UART<br />
<br/><sup>[1]</sup> On module microSD card socket is only available if second CAN port is not connected.<br />
<br/><sup>[2]</sup> CTS and RTS is only available if second CAN port is not connected.<br />
|valign="top" style="border: 0pt;" | <br />
* 2x CAN interface <sup>[1][2]</sup><br />
* 2x SPI interface <br />
* 2x I²C interface <br />
* I²S Audio codec (1 x microphone, 1 x Line in, 1x Line out)<br />
* Real-time clock (I²C connection), low power temperature compensated<br />
* 12 bit analog input <br />
* 128 Bytes EEPROM with integrated MAC address <br />
* 16 bit address/databus interface on SODIMM-200 socket <br />
* PWM channel<br />
* 24 GPIOs (A-W + INT_HI_PRIO)<br />
* JTAG debug connection via FFC plug connector <br />
* Industrial temperature range (-40°C to +85°C)<br />
* SODIMM-200 socket with DHCOM pin assignment<br />
|}<br />
<br />
*[[COM iMX6 Hardware|Hardware Support]]<br />
<br />
== Product Change Notifications (PCN) ==<br />
* [[media:PCN_iMX6_R01_2017-08-17.pdf|PCN_iMX6_R01_2017-08-17.pdf (4GByte eMMC)]]<br />
* [[media:PCN_iMX6_R02_2017-08-17.pdf|PCN_iMX6_R02_2017-08-17.pdf (8GByte eMMC)]]<br />
* [[media:PCN_iMX6_R03_2017-09-20.pdf|PCN_iMX6_R03_2017-09-20.pdf (SW ethernet bug)]]<br />
* [[media:PCN_iMX6_R04_2017-09-25.pdf|PCN_iMX6_R04_2017-09-25.pdf (Molex microSD socket)]]<br />
* [[media:PCN_iMX6_R05_2018-01-10.pdf|PCN_iMX6_R05_2018-01-10.pdf (512MB NAND flash)]]<br />
* [[media:PCN_iMX6_R06_2018-10-09.pdf|PCN_iMX6_R06_2018-10-09.pdf (label change)]]<br />
* [[media:PCN_iMX6_R07_2019-11-13.pdf|PCN_iMX6_R07_2019-11-13.pdf (4GByte eMMC)]]<br />
* [[media:PCN_iMX6_R08_2019-11-13.pdf|PCN_iMX6_R08_2019-11-13.pdf (8GByte eMMC)]]<br />
* [[media:PCN_iMX6-009_R01_2021-07-20.pdf|PCN_iMX6-009_R01_2021-07-20.pdf (SPI flash EOL)]]<br />
* [[media:PCN_DHCOM-iMX6-010_R01_2021-12-23.pdf|PCN_DHCOM-iMX6-010_R01_2021-12-23.pdf (microSD socket EOL)]]<br />
<br />
== Software Support ==<br />
*[[COM iMX6 Bootloader U-Boot|i.MX6: Bootloader U-Boot]]<br />
*[[COM iMX6 Linux|i.MX6: Linux]]<br />
*[[DHCOM Update Mechanism|DHCOM Update Mechanism]]<br />
*[[Yocto | Yocto on DHCOM]]<br />
*[[COM iMX6 WinCE|i.MX6: WinCE]]<br />
<br />
== BSP Sources==<br />
==== [https://www.denx.de/wiki/U-Boot U-Boot] ====<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/legacy/2018.05_dhcom DH U-Boot (based on v2018.05)]<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2015.10_dhcom DH U-Boot (based on v2015.10)]<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2013.10_dhcom DH U-Boot (based on v2013.10)]<br />
<br />
==== [https://www.kernel.org Linux Kernel] ====<br />
* Mainline<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/dev/4.4.60_dhcom DH 4.4.60 Development]<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/release/4.4.60_dhcom/20190926 DH 4.4.60 Release 2019-09-26 (Yocto reference)]<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/dev/3.14.12_dhcom DH 3.14.12 Development]<br />
* NXP Vendor<br />
:* [https://github.com/dh-electronics/linux-imx6-vendor/tree/release/v4.1.15/20190624 DH 4.1.15 Release 2019-06-24 (Yocto reference)]<br />
:* [https://github.com/dh-electronics/linux-imx6-vendor/tree/release/v3.10.17/20170804 DH 3.10.17 Release 2017-08-04 (Yocto reference)]<br />
<br />
== Download binaries/images ==<br />
==== U-Boot (for eMMC DHCOMs) ====<br />
* [https://www.dropbox.com/s/8d1aj6rr0r360lz/u-boot-with-spl_imx6_v2.2.0.0_emmc.imx?raw=1 DH U-Boot v2.2.0.0 (based on v2018.05)]<br />
* [https://www.dropbox.com/s/e6dl6srzj5tbfot/v1-1-0-8_u-boot-imx6qdl.tar.xz?raw=1 DH U-Boot v1.1.0.8 (based on v2015.10)]<br />
: More on how to program it with the U-Boot command "update bootloader ..." on the page [[DHCOM Update Mechanism#Commandline Mode|"DHCOM Update Mechanism"]]<br />
<br />
==== Update Kernel ====<br />
* [https://www.dropbox.com/s/j8xkanj435hooyk/2021-12-23_imx6_updatekernel.zip?raw=1 Update Kernel Release 2021-12-23]<br />
: More on how to use it on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
==== Debian based images ====<br />
* Debian 8 "Jessie" + Kernel 4.4.60 Release 2020-03-03<br />
<br />
:* [https://www.dropbox.com/s/nfxu7xb4v22slt2/HD00035_2020-03-03_imx6_jessie_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/au804sehtskb2ky/HD00035_2020-03-03_imx6_jessie_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
* Debian 8 "Jessie" with Qt5.9.1 + Vendor Kernel 4.1.15 Release 2019-09-26<br />
<br />
:* [https://www.dropbox.com/s/18f4hsj3lhp6e5w/HD00039_2019-09-26_imx6_jessie_qt5.9.1_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/3c6b96g7ijzkoay/HD00039_2019-09-26_imx6_jessie_qt5.9.1_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
Hint: You can also progam the eMMC by using the [[COM iMX6 Bootloader U-Boot#USB Mass Storage|U-Boot command "ums"]] (usable since U-Boot v2018.05)<br />
<br />
== Download Linux code examples ==<br />
==== [[Virtual Machine for Application Development#Code Examples for Userspace-Applications to Access SPI, I2C, GPIOs, and more|Code Examples for Userspace-Applications to Access SPI, I2C, GPIOs, and more]] ====<br />
<br />
== Download WEC ==<br />
==== WEC7 DHHalLib.dll (function library) ====<br />
* [[media:DHHalLib_WEC7_R07_2022-02-08.zip|Download DHHalLib Library Version 1.3.0.3]]<br />
* [[media:DHHalLib_Test_App_Source_WEC7_R05_2021-10-01.zip|DHHalLib Demo App Source Code ]]<br />
* [[media:DHHalLib_Test_App_Binary_WEC7_R05_2021-10-01.zip|DHHalLib Demo App Binary File]]<br />
* [[media:CSharp_LibWrapper.zip|Download DHHalLib CSharp Demo Wrapper App ]]<br />
* [[media:CSharp_LibWrapper_Binary.zip|Download DHHalLib CSharp Demo Wrapper App Binary File]]<br />
<br />
==== WEC7 binary BSP ====<br />
* [[media:2016-05-19_DHCOM_iMX6_BSP_BIN.zip|Download WEC7 binary BSP (date: 2016-05-19)]]<br />
<br />
==== WEC2013 DHHalLib.dll (function library) ====<br />
* [[media:DHHalLib_WEC2013_R12_2021-10-01.zip|Download DHHalLib Library Version 1.4.2.2]]<br />
* [[media:DHHalLib_Test_App_Source_WEC2013_R07_2018_06_12.zip|DHHalLib Demo App Source Code ]]<br />
* [[media:DHHalLib_Test_App_Binary_WEC2013_R09_2021-10-01.zip|DHHalLib Demo App Binary File]]<br />
* [[media:CSharp_LibWrapper_Source_WEC2013_R07_2021-10-01.zip|Download DHHalLib CSharp Wrapper]]<br />
* [[media:CSharp_DHHalLib_Wrapper_App_Source_WEC2013_R05_2017_08_08.zip|DHHalLib C# Demo App Source Code]]<br />
* [[media:CSharp_DHHalLib_Wrapper_App_Binary_WEC2013_R05_2017_08_08.zip|DHHalLib C# Demo App Binary File]]</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=DHCOM_iMX6-D2&diff=3604
DHCOM iMX6-D2
2022-02-16T15:01:41Z
<p>Christoph: /* U-Boot (for eMMC DHCOMs) */</p>
<hr />
<div>{|<br />
|<br />
|<br />
|-<br />
|__TOC__<br />
|[[Image:IM6Modul.png|600px|COM iMX6-D2]]<br />
|}<br />
<br />
== Hardware ==<br />
<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''Cortex-A9 Freescale i.MX6 Solo/DualLite/Dual/Quad up to 1.2GHz'''<br />
* 2D (GC320) / 3D (GC880/GC2000) graphics accelerator<br />
* 128 - 1024 MByte NAND flash memory (8 bit bus width) or<br/>4 - 16 GByte eMMC flash (8 bit bus width)<br />
* 2 MB SPI boot flash<br />
* 256 - 2048 MByte DDR3-1066 or DDR3-800<br />
* On module microSD card socket (4 bit SDIO) <sup>[1]</sup><br />
* SD/MMC card interface, 4 bit SDIO<br />
* LC display controller, 24 bit colors, 2048x1536 pixels<br />
* LVDS 4-channel, max. 165 Mpixels/s<br />
* On-board touch controller for 4-wire resistive touch screens<br />
* Ethernet controller 10/100 Mbit, IEEE1588 conform<br />
* USB 2.0 OTG high-speed<br />
* USB 2.0 host high speed<br />
* Full function UART <sup>[2]</sup><br />
* Standard UART with hardware handshake support<br />
* Standard UART<br />
<br/><sup>[1]</sup> On module microSD card socket is only available if second CAN port is not connected.<br />
<br/><sup>[2]</sup> CTS and RTS is only available if second CAN port is not connected.<br />
|valign="top" style="border: 0pt;" | <br />
* 2x CAN interface <sup>[1][2]</sup><br />
* 2x SPI interface <br />
* 2x I²C interface <br />
* I²S Audio codec (1 x microphone, 1 x Line in, 1x Line out)<br />
* Real-time clock (I²C connection), low power temperature compensated<br />
* 12 bit analog input <br />
* 128 Bytes EEPROM with integrated MAC address <br />
* 16 bit address/databus interface on SODIMM-200 socket <br />
* PWM channel<br />
* 24 GPIOs (A-W + INT_HI_PRIO)<br />
* JTAG debug connection via FFC plug connector <br />
* Industrial temperature range (-40°C to +85°C)<br />
* SODIMM-200 socket with DHCOM pin assignment<br />
|}<br />
<br />
*[[COM iMX6 Hardware|Hardware Support]]<br />
<br />
== Product Change Notifications (PCN) ==<br />
* [[media:PCN_iMX6_R01_2017-08-17.pdf|PCN_iMX6_R01_2017-08-17.pdf (4GByte eMMC)]]<br />
* [[media:PCN_iMX6_R02_2017-08-17.pdf|PCN_iMX6_R02_2017-08-17.pdf (8GByte eMMC)]]<br />
* [[media:PCN_iMX6_R03_2017-09-20.pdf|PCN_iMX6_R03_2017-09-20.pdf (SW ethernet bug)]]<br />
* [[media:PCN_iMX6_R04_2017-09-25.pdf|PCN_iMX6_R04_2017-09-25.pdf (Molex microSD socket)]]<br />
* [[media:PCN_iMX6_R05_2018-01-10.pdf|PCN_iMX6_R05_2018-01-10.pdf (512MB NAND flash)]]<br />
* [[media:PCN_iMX6_R06_2018-10-09.pdf|PCN_iMX6_R06_2018-10-09.pdf (label change)]]<br />
* [[media:PCN_iMX6_R07_2019-11-13.pdf|PCN_iMX6_R07_2019-11-13.pdf (4GByte eMMC)]]<br />
* [[media:PCN_iMX6_R08_2019-11-13.pdf|PCN_iMX6_R08_2019-11-13.pdf (8GByte eMMC)]]<br />
* [[media:PCN_iMX6-009_R01_2021-07-20.pdf|PCN_iMX6-009_R01_2021-07-20.pdf (SPI flash EOL)]]<br />
* [[media:PCN_DHCOM-iMX6-010_R01_2021-12-23.pdf|PCN_DHCOM-iMX6-010_R01_2021-12-23.pdf (microSD socket EOL)]]<br />
<br />
== Software Support ==<br />
*[[COM iMX6 Bootloader U-Boot|i.MX6: Bootloader U-Boot]]<br />
*[[COM iMX6 Linux|i.MX6: Linux]]<br />
*[[DHCOM Update Mechanism|DHCOM Update Mechanism]]<br />
*[[Yocto | Yocto on DHCOM]]<br />
*[[COM iMX6 WinCE|i.MX6: WinCE]]<br />
<br />
== BSP Sources==<br />
==== [https://www.denx.de/wiki/U-Boot U-Boot] ====<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/legacy/2018.05_dhcom DH U-Boot (based on v2018.05)]<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2015.10_dhcom DH U-Boot (based on v2015.10)]<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2013.10_dhcom DH U-Boot (based on v2013.10)]<br />
<br />
==== [https://www.kernel.org Linux Kernel] ====<br />
* Mainline<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/dev/4.4.60_dhcom DH 4.4.60 Development]<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/release/4.4.60_dhcom/20190926 DH 4.4.60 Release 2019-09-26 (Yocto reference)]<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/dev/3.14.12_dhcom DH 3.14.12 Development]<br />
* NXP Vendor<br />
:* [https://github.com/dh-electronics/linux-imx6-vendor/tree/release/v4.1.15/20190624 DH 4.1.15 Release 2019-06-24 (Yocto reference)]<br />
:* [https://github.com/dh-electronics/linux-imx6-vendor/tree/release/v3.10.17/20170804 DH 3.10.17 Release 2017-08-04 (Yocto reference)]<br />
<br />
== Download binaries/images ==<br />
==== U-Boot (for eMMC DHCOMs) ====<br />
* [https://www.dropbox.com/s/qk0bx18oiv8ogxa/u-boot-with-spl_imx6_v2.2.0.0_emmc.imx?raw=1 DH U-Boot v2.2.0.0 (based on v2018.05)]<br />
* [https://www.dropbox.com/s/e6dl6srzj5tbfot/v1-1-0-8_u-boot-imx6qdl.tar.xz?raw=1 DH U-Boot v1.1.0.8 (based on v2015.10)]<br />
: More on how to program it with the U-Boot command "update bootloader ..." on the page [[DHCOM Update Mechanism#Commandline Mode|"DHCOM Update Mechanism"]]<br />
<br />
==== Update Kernel ====<br />
* [https://www.dropbox.com/s/j8xkanj435hooyk/2021-12-23_imx6_updatekernel.zip?raw=1 Update Kernel Release 2021-12-23]<br />
: More on how to use it on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
==== Debian based images ====<br />
* Debian 8 "Jessie" + Kernel 4.4.60 Release 2020-03-03<br />
<br />
:* [https://www.dropbox.com/s/nfxu7xb4v22slt2/HD00035_2020-03-03_imx6_jessie_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/au804sehtskb2ky/HD00035_2020-03-03_imx6_jessie_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
* Debian 8 "Jessie" with Qt5.9.1 + Vendor Kernel 4.1.15 Release 2019-09-26<br />
<br />
:* [https://www.dropbox.com/s/18f4hsj3lhp6e5w/HD00039_2019-09-26_imx6_jessie_qt5.9.1_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/3c6b96g7ijzkoay/HD00039_2019-09-26_imx6_jessie_qt5.9.1_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
Hint: You can also progam the eMMC by using the [[COM iMX6 Bootloader U-Boot#USB Mass Storage|U-Boot command "ums"]] (usable since U-Boot v2018.05)<br />
<br />
== Download Linux code examples ==<br />
==== [[Virtual Machine for Application Development#Code Examples for Userspace-Applications to Access SPI, I2C, GPIOs, and more|Code Examples for Userspace-Applications to Access SPI, I2C, GPIOs, and more]] ====<br />
<br />
== Download WEC ==<br />
==== WEC7 DHHalLib.dll (function library) ====<br />
* [[media:DHHalLib_WEC7_R07_2022-02-08.zip|Download DHHalLib Library Version 1.3.0.3]]<br />
* [[media:DHHalLib_Test_App_Source_WEC7_R05_2021-10-01.zip|DHHalLib Demo App Source Code ]]<br />
* [[media:DHHalLib_Test_App_Binary_WEC7_R05_2021-10-01.zip|DHHalLib Demo App Binary File]]<br />
* [[media:CSharp_LibWrapper.zip|Download DHHalLib CSharp Demo Wrapper App ]]<br />
* [[media:CSharp_LibWrapper_Binary.zip|Download DHHalLib CSharp Demo Wrapper App Binary File]]<br />
<br />
==== WEC7 binary BSP ====<br />
* [[media:2016-05-19_DHCOM_iMX6_BSP_BIN.zip|Download WEC7 binary BSP (date: 2016-05-19)]]<br />
<br />
==== WEC2013 DHHalLib.dll (function library) ====<br />
* [[media:DHHalLib_WEC2013_R12_2021-10-01.zip|Download DHHalLib Library Version 1.4.2.2]]<br />
* [[media:DHHalLib_Test_App_Source_WEC2013_R07_2018_06_12.zip|DHHalLib Demo App Source Code ]]<br />
* [[media:DHHalLib_Test_App_Binary_WEC2013_R09_2021-10-01.zip|DHHalLib Demo App Binary File]]<br />
* [[media:CSharp_LibWrapper_Source_WEC2013_R07_2021-10-01.zip|Download DHHalLib CSharp Wrapper]]<br />
* [[media:CSharp_DHHalLib_Wrapper_App_Source_WEC2013_R05_2017_08_08.zip|DHHalLib C# Demo App Source Code]]<br />
* [[media:CSharp_DHHalLib_Wrapper_App_Binary_WEC2013_R05_2017_08_08.zip|DHHalLib C# Demo App Binary File]]</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=DHCOM_iMX6-D2&diff=3603
DHCOM iMX6-D2
2022-02-14T10:35:46Z
<p>Christoph: /* U-Boot (for eMMC DHCOMs) */</p>
<hr />
<div>{|<br />
|<br />
|<br />
|-<br />
|__TOC__<br />
|[[Image:IM6Modul.png|600px|COM iMX6-D2]]<br />
|}<br />
<br />
== Hardware ==<br />
<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''Cortex-A9 Freescale i.MX6 Solo/DualLite/Dual/Quad up to 1.2GHz'''<br />
* 2D (GC320) / 3D (GC880/GC2000) graphics accelerator<br />
* 128 - 1024 MByte NAND flash memory (8 bit bus width) or<br/>4 - 16 GByte eMMC flash (8 bit bus width)<br />
* 2 MB SPI boot flash<br />
* 256 - 2048 MByte DDR3-1066 or DDR3-800<br />
* On module microSD card socket (4 bit SDIO) <sup>[1]</sup><br />
* SD/MMC card interface, 4 bit SDIO<br />
* LC display controller, 24 bit colors, 2048x1536 pixels<br />
* LVDS 4-channel, max. 165 Mpixels/s<br />
* On-board touch controller for 4-wire resistive touch screens<br />
* Ethernet controller 10/100 Mbit, IEEE1588 conform<br />
* USB 2.0 OTG high-speed<br />
* USB 2.0 host high speed<br />
* Full function UART <sup>[2]</sup><br />
* Standard UART with hardware handshake support<br />
* Standard UART<br />
<br/><sup>[1]</sup> On module microSD card socket is only available if second CAN port is not connected.<br />
<br/><sup>[2]</sup> CTS and RTS is only available if second CAN port is not connected.<br />
|valign="top" style="border: 0pt;" | <br />
* 2x CAN interface <sup>[1][2]</sup><br />
* 2x SPI interface <br />
* 2x I²C interface <br />
* I²S Audio codec (1 x microphone, 1 x Line in, 1x Line out)<br />
* Real-time clock (I²C connection), low power temperature compensated<br />
* 12 bit analog input <br />
* 128 Bytes EEPROM with integrated MAC address <br />
* 16 bit address/databus interface on SODIMM-200 socket <br />
* PWM channel<br />
* 24 GPIOs (A-W + INT_HI_PRIO)<br />
* JTAG debug connection via FFC plug connector <br />
* Industrial temperature range (-40°C to +85°C)<br />
* SODIMM-200 socket with DHCOM pin assignment<br />
|}<br />
<br />
*[[COM iMX6 Hardware|Hardware Support]]<br />
<br />
== Product Change Notifications (PCN) ==<br />
* [[media:PCN_iMX6_R01_2017-08-17.pdf|PCN_iMX6_R01_2017-08-17.pdf (4GByte eMMC)]]<br />
* [[media:PCN_iMX6_R02_2017-08-17.pdf|PCN_iMX6_R02_2017-08-17.pdf (8GByte eMMC)]]<br />
* [[media:PCN_iMX6_R03_2017-09-20.pdf|PCN_iMX6_R03_2017-09-20.pdf (SW ethernet bug)]]<br />
* [[media:PCN_iMX6_R04_2017-09-25.pdf|PCN_iMX6_R04_2017-09-25.pdf (Molex microSD socket)]]<br />
* [[media:PCN_iMX6_R05_2018-01-10.pdf|PCN_iMX6_R05_2018-01-10.pdf (512MB NAND flash)]]<br />
* [[media:PCN_iMX6_R06_2018-10-09.pdf|PCN_iMX6_R06_2018-10-09.pdf (label change)]]<br />
* [[media:PCN_iMX6_R07_2019-11-13.pdf|PCN_iMX6_R07_2019-11-13.pdf (4GByte eMMC)]]<br />
* [[media:PCN_iMX6_R08_2019-11-13.pdf|PCN_iMX6_R08_2019-11-13.pdf (8GByte eMMC)]]<br />
* [[media:PCN_iMX6-009_R01_2021-07-20.pdf|PCN_iMX6-009_R01_2021-07-20.pdf (SPI flash EOL)]]<br />
* [[media:PCN_DHCOM-iMX6-010_R01_2021-12-23.pdf|PCN_DHCOM-iMX6-010_R01_2021-12-23.pdf (microSD socket EOL)]]<br />
<br />
== Software Support ==<br />
*[[COM iMX6 Bootloader U-Boot|i.MX6: Bootloader U-Boot]]<br />
*[[COM iMX6 Linux|i.MX6: Linux]]<br />
*[[DHCOM Update Mechanism|DHCOM Update Mechanism]]<br />
*[[Yocto | Yocto on DHCOM]]<br />
*[[COM iMX6 WinCE|i.MX6: WinCE]]<br />
<br />
== BSP Sources==<br />
==== [https://www.denx.de/wiki/U-Boot U-Boot] ====<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/legacy/2018.05_dhcom DH U-Boot (based on v2018.05)]<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2015.10_dhcom DH U-Boot (based on v2015.10)]<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2013.10_dhcom DH U-Boot (based on v2013.10)]<br />
<br />
==== [https://www.kernel.org Linux Kernel] ====<br />
* Mainline<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/dev/4.4.60_dhcom DH 4.4.60 Development]<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/release/4.4.60_dhcom/20190926 DH 4.4.60 Release 2019-09-26 (Yocto reference)]<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/dev/3.14.12_dhcom DH 3.14.12 Development]<br />
* NXP Vendor<br />
:* [https://github.com/dh-electronics/linux-imx6-vendor/tree/release/v4.1.15/20190624 DH 4.1.15 Release 2019-06-24 (Yocto reference)]<br />
:* [https://github.com/dh-electronics/linux-imx6-vendor/tree/release/v3.10.17/20170804 DH 3.10.17 Release 2017-08-04 (Yocto reference)]<br />
<br />
== Download binaries/images ==<br />
==== U-Boot (for eMMC DHCOMs) ====<br />
* [https://www.dropbox.com/s/ood2z1n8xkl57k5/u-boot-with-spl_imx6_v2.2.0.0_emmc.imx?raw=1 DH U-Boot v2.2.0.0 (based on v2018.05)]<br />
* [https://www.dropbox.com/s/e6dl6srzj5tbfot/v1-1-0-8_u-boot-imx6qdl.tar.xz?raw=1 DH U-Boot v1.1.0.8 (based on v2015.10)]<br />
: More on how to program it with the U-Boot command "update bootloader ..." on the page [[DHCOM Update Mechanism#Commandline Mode|"DHCOM Update Mechanism"]]<br />
<br />
==== Update Kernel ====<br />
* [https://www.dropbox.com/s/j8xkanj435hooyk/2021-12-23_imx6_updatekernel.zip?raw=1 Update Kernel Release 2021-12-23]<br />
: More on how to use it on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
==== Debian based images ====<br />
* Debian 8 "Jessie" + Kernel 4.4.60 Release 2020-03-03<br />
<br />
:* [https://www.dropbox.com/s/nfxu7xb4v22slt2/HD00035_2020-03-03_imx6_jessie_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/au804sehtskb2ky/HD00035_2020-03-03_imx6_jessie_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
* Debian 8 "Jessie" with Qt5.9.1 + Vendor Kernel 4.1.15 Release 2019-09-26<br />
<br />
:* [https://www.dropbox.com/s/18f4hsj3lhp6e5w/HD00039_2019-09-26_imx6_jessie_qt5.9.1_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/3c6b96g7ijzkoay/HD00039_2019-09-26_imx6_jessie_qt5.9.1_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
Hint: You can also progam the eMMC by using the [[COM iMX6 Bootloader U-Boot#USB Mass Storage|U-Boot command "ums"]] (usable since U-Boot v2018.05)<br />
<br />
== Download Linux code examples ==<br />
==== [[Virtual Machine for Application Development#Code Examples for Userspace-Applications to Access SPI, I2C, GPIOs, and more|Code Examples for Userspace-Applications to Access SPI, I2C, GPIOs, and more]] ====<br />
<br />
== Download WEC ==<br />
==== WEC7 DHHalLib.dll (function library) ====<br />
* [[media:DHHalLib_WEC7_R07_2022-02-08.zip|Download DHHalLib Library Version 1.3.0.3]]<br />
* [[media:DHHalLib_Test_App_Source_WEC7_R05_2021-10-01.zip|DHHalLib Demo App Source Code ]]<br />
* [[media:DHHalLib_Test_App_Binary_WEC7_R05_2021-10-01.zip|DHHalLib Demo App Binary File]]<br />
* [[media:CSharp_LibWrapper.zip|Download DHHalLib CSharp Demo Wrapper App ]]<br />
* [[media:CSharp_LibWrapper_Binary.zip|Download DHHalLib CSharp Demo Wrapper App Binary File]]<br />
<br />
==== WEC7 binary BSP ====<br />
* [[media:2016-05-19_DHCOM_iMX6_BSP_BIN.zip|Download WEC7 binary BSP (date: 2016-05-19)]]<br />
<br />
==== WEC2013 DHHalLib.dll (function library) ====<br />
* [[media:DHHalLib_WEC2013_R12_2021-10-01.zip|Download DHHalLib Library Version 1.4.2.2]]<br />
* [[media:DHHalLib_Test_App_Source_WEC2013_R07_2018_06_12.zip|DHHalLib Demo App Source Code ]]<br />
* [[media:DHHalLib_Test_App_Binary_WEC2013_R09_2021-10-01.zip|DHHalLib Demo App Binary File]]<br />
* [[media:CSharp_LibWrapper_Source_WEC2013_R07_2021-10-01.zip|Download DHHalLib CSharp Wrapper]]<br />
* [[media:CSharp_DHHalLib_Wrapper_App_Source_WEC2013_R05_2017_08_08.zip|DHHalLib C# Demo App Source Code]]<br />
* [[media:CSharp_DHHalLib_Wrapper_App_Binary_WEC2013_R05_2017_08_08.zip|DHHalLib C# Demo App Binary File]]</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=DHCOM_iMX6ULL-D2&diff=3595
DHCOM iMX6ULL-D2
2021-12-23T15:25:42Z
<p>Christoph: /* Update Kernel */</p>
<hr />
<div>{|<br />
|<br />
|<br />
|-<br />
|rowspan="2"|__TOC__<br />
|style="padding-left:100px"|[[Image:IMX6ULL_DHCOR_Modul.png|320px|DHCOR i.MX6ULL-LG]]<br />
|-<br />
|[[Image:IMX6ULLModul.png|600px|DHCOM iMX6ULL-D2]]<br />
|}<br />
<br />
== Scope ==<br />
'''This is also the right page for the DHCOR module, because DHCOM is the reference design for the DHCOR module.'''<br />
<br />
== Hardware ==<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''Cortex-A7 NXP i.MX6ULL up to 900 MHz'''<br />
* 128 - 1024 MByte NAND flash memory (8 bit bus width) or<br>4 - 16 GByte eMMC flash (8 bit bus width)<br />
* 2 MB SPI boot flash<br />
* 128 - 1024 MByte DDR3-400<br />
* On module microSD card socket (4 bit SDIO) <sup>[1]</sup><br />
* LC display controller, 18 bit colors, 1366x768 pixels<br />
* On-chip touch controller for 4-wire resistive touch screens<br />
* 2x Ethernet controller 10/100 Mbit, IEEE1588 conform <sup>[2]</sup><br />
* USB 2.0 OTG high-speed<br />
* USB 2.0 host high speed<br />
* 2x Standard UART with hardware handshake support <sup>[3]</sup><sup>[4]</sup><br />
* WiFi iEEE802.11b/g/n + Bluetooth v4.1 (BR/EDR/BLE) module on BGA <sup>[1]</sup><sup>[4]</sup><br />
<br/><sup>[1]</sup> On module microSD card socket is only available if WiFi is not mounted.<br />
<br/><sup>[2]</sup> The second SPI is only available, if the second ethernet is not mounted.<br />
<br/><sup>[3]</sup> CTS and RTS of the first UART is only available if second CAN port is not connected.<br />
<br/><sup>[4]</sup> The second UART is only available if Bluetooth is not used. This means WiFi/BT module 1DX is not mounted or module 1FX (only WiFi) is mounted.<br />
<br/><sup>[5]</sup> I²S lines are shared with JTAG.<br />
|valign="top" style="border: 0pt;" | <br />
* 2x CAN interface <sup>[3]</sup><br />
* 2x SPI interface <sup>[2]</sup><br />
* 2x I²C interface <br />
* I²S Audio codec (1 x microphone, 1 x Line in, 1x Line out) <sup>[5]</sup><br />
* Real-time clock (I²C connection), low power temperature compensated<br />
* 2x 10 bit analog input (I²C connection)<br />
* 2x 256 Bytes EEPROM with integrated MAC address <br />
* PWM channel<br />
* 22 GPIOs (A-U + INT_HI_PRIO)<br />
* JTAG debug connection via FFC plug connector <br />
* Industrial temperature range (-40°C to +85°C)<br />
* SODIMM-200 socket with DHCOM pin assignment<br />
|}<br />
<br />
*[[COM iMX6ULL Hardware|Hardware Support]]<br />
<br />
== Product Change Notifications (PCN) ==<br />
==== DHCOR i.MX6ULL ====<br />
* [[media:PCN_DHCOR-iMX6ULL-001_R01_2020-02-18.pdf|PCN_DHCOR-iMX6ULL-001_R01_2020-02-18.pdf (IMX_THERMAL)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-002_R01_2020-02-18.pdf|PCN_DHCOR-iMX6ULL-002_R01_2020-02-18.pdf (SPEED_GRADING)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-003_R01_2020-02-18.pdf|PCN_DHCOR-iMX6ULL-003_R01_2020-02-18.pdf (Bootloader on eMMC)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-004_R01_2020-09-17.pdf|PCN_DHCOR-iMX6ULL-004_R01_2020-09-17.pdf (900MHz undervolt)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-005_R01_2021-05-05.pdf|PCN_DHCOR-iMX6ULL-005_R01_2021-05-05.pdf (VDD_SOC_CAP capacitor)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-006_R02_2021-05-10.pdf|PCN_DHCOR-iMX6ULL-006_R02_2021-05-10.pdf (PMIC buck converter mode)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-007_R01_2021-07-28.pdf|PCN_DHCOR-iMX6ULL-007_R01_2021-07-28.pdf (Change of PCB)]]<br />
==== DHCOM i.MX6ULL ====<br />
* [[media:PCN_DHCOM-iMX6ULL-001_R01_2021-12-23.pdf|PCN_DHCOM-iMX6ULL-001_R01_2021-12-23.pdf (microSD socket EOL)]]<br />
<br />
== Software Support ==<br />
*[[COM iMX6ULL Bootloader U-Boot|i.MX6ULL: Bootloader U-Boot]]<br />
*[[COM iMX6ULL Linux|i.MX6ULL: Linux]]<br />
*[[DHCOM Update Mechanism|DHCOM Update Mechanism]]<br />
*[[Yocto | Yocto on DHCOM]]<br />
<br />
== BSP Sources==<br />
==== [https://www.denx.de/wiki/U-Boot U-Boot] ====<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2018.05_dhcom DH U-Boot (based on v2018.05)]<br />
<br />
==== [https://www.kernel.org Linux Kernel] ====<br />
* Mainline<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/dev/4.19.135_dhsom DH 4.19.135 Development]<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/release/4.19.135_dhsom/20201201 DH 4.19.135 Release 2020-12-01 (Yocto reference)]<br />
<br />
== Download binaries/images ==<br />
==== U-Boot (for eMMC DHCOMs) ====<br />
* [https://www.dropbox.com/s/p0kyso9yrnoxuf9/u-boot-with-spl_imx6ull_2018.05-DH_v0.29_emmc-g035ca2d417.imx?raw=1 DH U-Boot v0.29 (based on v2018.05)]<br />
: More on how to program it with the U-Boot command "update bootloader ..." on the page [[DHCOM Update Mechanism#Commandline Mode|"DHCOM Update Mechanism"]]<br />
<br />
==== Update Kernel ====<br />
* [https://www.dropbox.com/s/eba78vje6788mg1/2021-12-23_imx6ull_updatekernel.zip?raw=1 Update Kernel Release 2021-12-23]<br />
: More on how to use it on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
==== Debian based images ====<br />
* Debian 10 "Buster" + Kernel 4.19.135 Release 2020-12-01<br />
<br />
:* [https://www.dropbox.com/s/yqp1q8b88cksn76/HD00051_2020-12-01_imx6ull_buster_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/tp1fgkf1w7e3bcx/HD00051_2020-12-01_imx6ull_buster_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
Hint: You can also progam the eMMC by using the [[COM iMX6ULL Bootloader U-Boot#USB Mass Storage|U-Boot command "ums"]] (usable since U-Boot v2018.05)</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=DHCOM_iMX6-D2&diff=3594
DHCOM iMX6-D2
2021-12-23T15:10:21Z
<p>Christoph: /* Update Kernel */</p>
<hr />
<div>{|<br />
|<br />
|<br />
|-<br />
|__TOC__<br />
|[[Image:IM6Modul.png|600px|COM iMX6-D2]]<br />
|}<br />
<br />
== Hardware ==<br />
<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''Cortex-A9 Freescale i.MX6 Solo/DualLite/Dual/Quad up to 1.2GHz'''<br />
* 2D (GC320) / 3D (GC880/GC2000) graphics accelerator<br />
* 128 - 1024 MByte NAND flash memory (8 bit bus width) or<br/>4 - 16 GByte eMMC flash (8 bit bus width)<br />
* 2 MB SPI boot flash<br />
* 256 - 2048 MByte DDR3-1066 or DDR3-800<br />
* On module microSD card socket (4 bit SDIO) <sup>[1]</sup><br />
* SD/MMC card interface, 4 bit SDIO<br />
* LC display controller, 24 bit colors, 2048x1536 pixels<br />
* LVDS 4-channel, max. 165 Mpixels/s<br />
* On-board touch controller for 4-wire resistive touch screens<br />
* Ethernet controller 10/100 Mbit, IEEE1588 conform<br />
* USB 2.0 OTG high-speed<br />
* USB 2.0 host high speed<br />
* Full function UART <sup>[2]</sup><br />
* Standard UART with hardware handshake support<br />
* Standard UART<br />
<br/><sup>[1]</sup> On module microSD card socket is only available if second CAN port is not connected.<br />
<br/><sup>[2]</sup> CTS and RTS is only available if second CAN port is not connected.<br />
|valign="top" style="border: 0pt;" | <br />
* 2x CAN interface <sup>[1][2]</sup><br />
* 2x SPI interface <br />
* 2x I²C interface <br />
* I²S Audio codec (1 x microphone, 1 x Line in, 1x Line out)<br />
* Real-time clock (I²C connection), low power temperature compensated<br />
* 12 bit analog input <br />
* 128 Bytes EEPROM with integrated MAC address <br />
* 16 bit address/databus interface on SODIMM-200 socket <br />
* PWM channel<br />
* 24 GPIOs (A-W + INT_HI_PRIO)<br />
* JTAG debug connection via FFC plug connector <br />
* Industrial temperature range (-40°C to +85°C)<br />
* SODIMM-200 socket with DHCOM pin assignment<br />
|}<br />
<br />
*[[COM iMX6 Hardware|Hardware Support]]<br />
<br />
== Product Change Notifications (PCN) ==<br />
* [[media:PCN_iMX6_R01_2017-08-17.pdf|PCN_iMX6_R01_2017-08-17.pdf (4GByte eMMC)]]<br />
* [[media:PCN_iMX6_R02_2017-08-17.pdf|PCN_iMX6_R02_2017-08-17.pdf (8GByte eMMC)]]<br />
* [[media:PCN_iMX6_R03_2017-09-20.pdf|PCN_iMX6_R03_2017-09-20.pdf (SW ethernet bug)]]<br />
* [[media:PCN_iMX6_R04_2017-09-25.pdf|PCN_iMX6_R04_2017-09-25.pdf (Molex microSD socket)]]<br />
* [[media:PCN_iMX6_R05_2018-01-10.pdf|PCN_iMX6_R05_2018-01-10.pdf (512MB NAND flash)]]<br />
* [[media:PCN_iMX6_R06_2018-10-09.pdf|PCN_iMX6_R06_2018-10-09.pdf (label change)]]<br />
* [[media:PCN_iMX6_R07_2019-11-13.pdf|PCN_iMX6_R07_2019-11-13.pdf (4GByte eMMC)]]<br />
* [[media:PCN_iMX6_R08_2019-11-13.pdf|PCN_iMX6_R08_2019-11-13.pdf (8GByte eMMC)]]<br />
* [[media:PCN_iMX6-009_R01_2021-07-20.pdf|PCN_iMX6-009_R01_2021-07-20.pdf (SPI flash EOL)]]<br />
* [[media:PCN_DHCOM-iMX6-010_R01_2021-12-23.pdf|PCN_DHCOM-iMX6-010_R01_2021-12-23.pdf (microSD socket EOL)]]<br />
<br />
== Software Support ==<br />
*[[COM iMX6 Bootloader U-Boot|i.MX6: Bootloader U-Boot]]<br />
*[[COM iMX6 Linux|i.MX6: Linux]]<br />
*[[DHCOM Update Mechanism|DHCOM Update Mechanism]]<br />
*[[Yocto | Yocto on DHCOM]]<br />
*[[COM iMX6 WinCE|i.MX6: WinCE]]<br />
<br />
== BSP Sources==<br />
==== [https://www.denx.de/wiki/U-Boot U-Boot] ====<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/legacy/2018.05_dhcom DH U-Boot (based on v2018.05)]<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2015.10_dhcom DH U-Boot (based on v2015.10)]<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2013.10_dhcom DH U-Boot (based on v2013.10)]<br />
<br />
==== [https://www.kernel.org Linux Kernel] ====<br />
* Mainline<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/dev/4.4.60_dhcom DH 4.4.60 Development]<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/release/4.4.60_dhcom/20190926 DH 4.4.60 Release 2019-09-26 (Yocto reference)]<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/dev/3.14.12_dhcom DH 3.14.12 Development]<br />
* NXP Vendor<br />
:* [https://github.com/dh-electronics/linux-imx6-vendor/tree/release/v4.1.15/20190624 DH 4.1.15 Release 2019-06-24 (Yocto reference)]<br />
:* [https://github.com/dh-electronics/linux-imx6-vendor/tree/release/v3.10.17/20170804 DH 3.10.17 Release 2017-08-04 (Yocto reference)]<br />
<br />
== Download binaries/images ==<br />
==== U-Boot (for eMMC DHCOMs) ====<br />
* [https://www.dropbox.com/s/1x9de4pfrrzmg24/u-boot-with-spl_imx6_v2.1.0.1_emmc.imx?raw=1 DH U-Boot v2.1.0.1 (based on v2018.05)]<br />
* [https://www.dropbox.com/s/e6dl6srzj5tbfot/v1-1-0-8_u-boot-imx6qdl.tar.xz?raw=1 DH U-Boot v1.1.0.8 (based on v2015.10)]<br />
: More on how to program it with the U-Boot command "update bootloader ..." on the page [[DHCOM Update Mechanism#Commandline Mode|"DHCOM Update Mechanism"]]<br />
<br />
==== Update Kernel ====<br />
* [https://www.dropbox.com/s/j8xkanj435hooyk/2021-12-23_imx6_updatekernel.zip?raw=1 Update Kernel Release 2021-12-23]<br />
: More on how to use it on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
==== Debian based images ====<br />
* Debian 8 "Jessie" + Kernel 4.4.60 Release 2020-03-03<br />
<br />
:* [https://www.dropbox.com/s/nfxu7xb4v22slt2/HD00035_2020-03-03_imx6_jessie_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/au804sehtskb2ky/HD00035_2020-03-03_imx6_jessie_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
* Debian 8 "Jessie" with Qt5.9.1 + Vendor Kernel 4.1.15 Release 2019-09-26<br />
<br />
:* [https://www.dropbox.com/s/18f4hsj3lhp6e5w/HD00039_2019-09-26_imx6_jessie_qt5.9.1_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/3c6b96g7ijzkoay/HD00039_2019-09-26_imx6_jessie_qt5.9.1_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
Hint: You can also progam the eMMC by using the [[COM iMX6 Bootloader U-Boot#USB Mass Storage|U-Boot command "ums"]] (usable since U-Boot v2018.05)<br />
<br />
== Download Linux code examples ==<br />
==== [[Virtual Machine for Application Development#Code Examples for Userspace-Applications to Access SPI, I2C, GPIOs, and more|Code Examples for Userspace-Applications to Access SPI, I2C, GPIOs, and more]] ====<br />
<br />
== Download WEC ==<br />
==== WEC7 DHHalLib.dll (function library) ====<br />
* [[media:DHHalLib_WEC7_R06_2021-10-01.zip|Download DHHalLib Library Version 1.3.0.2]]<br />
* [[media:DHHalLib_Test_App_Source_WEC7_R05_2021-10-01.zip|DHHalLib Demo App Source Code ]]<br />
* [[media:DHHalLib_Test_App_Binary_WEC7_R05_2021-10-01.zip|DHHalLib Demo App Binary File]]<br />
* [[media:CSharp_LibWrapper.zip|Download DHHalLib CSharp Demo Wrapper App ]]<br />
* [[media:CSharp_LibWrapper_Binary.zip|Download DHHalLib CSharp Demo Wrapper App Binary File]]<br />
<br />
==== WEC7 binary BSP ====<br />
* [[media:2016-05-19_DHCOM_iMX6_BSP_BIN.zip|Download WEC7 binary BSP (date: 2016-05-19)]]<br />
<br />
==== WEC2013 DHHalLib.dll (function library) ====<br />
* [[media:DHHalLib_WEC2013_R12_2021-10-01.zip|Download DHHalLib Library Version 1.4.2.2]]<br />
* [[media:DHHalLib_Test_App_Source_WEC2013_R07_2018_06_12.zip|DHHalLib Demo App Source Code ]]<br />
* [[media:DHHalLib_Test_App_Binary_WEC2013_R09_2021-10-01.zip|DHHalLib Demo App Binary File]]<br />
* [[media:CSharp_LibWrapper_Source_WEC2013_R07_2021-10-01.zip|Download DHHalLib CSharp Wrapper]]<br />
* [[media:CSharp_DHHalLib_Wrapper_App_Source_WEC2013_R05_2017_08_08.zip|DHHalLib C# Demo App Source Code]]<br />
* [[media:CSharp_DHHalLib_Wrapper_App_Binary_WEC2013_R05_2017_08_08.zip|DHHalLib C# Demo App Binary File]]</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=DHCOM_iMX6ULL-D2&diff=3593
DHCOM iMX6ULL-D2
2021-12-23T13:31:20Z
<p>Christoph: /* U-Boot (for eMMC DHCOMs) */</p>
<hr />
<div>{|<br />
|<br />
|<br />
|-<br />
|rowspan="2"|__TOC__<br />
|style="padding-left:100px"|[[Image:IMX6ULL_DHCOR_Modul.png|320px|DHCOR i.MX6ULL-LG]]<br />
|-<br />
|[[Image:IMX6ULLModul.png|600px|DHCOM iMX6ULL-D2]]<br />
|}<br />
<br />
== Scope ==<br />
'''This is also the right page for the DHCOR module, because DHCOM is the reference design for the DHCOR module.'''<br />
<br />
== Hardware ==<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''Cortex-A7 NXP i.MX6ULL up to 900 MHz'''<br />
* 128 - 1024 MByte NAND flash memory (8 bit bus width) or<br>4 - 16 GByte eMMC flash (8 bit bus width)<br />
* 2 MB SPI boot flash<br />
* 128 - 1024 MByte DDR3-400<br />
* On module microSD card socket (4 bit SDIO) <sup>[1]</sup><br />
* LC display controller, 18 bit colors, 1366x768 pixels<br />
* On-chip touch controller for 4-wire resistive touch screens<br />
* 2x Ethernet controller 10/100 Mbit, IEEE1588 conform <sup>[2]</sup><br />
* USB 2.0 OTG high-speed<br />
* USB 2.0 host high speed<br />
* 2x Standard UART with hardware handshake support <sup>[3]</sup><sup>[4]</sup><br />
* WiFi iEEE802.11b/g/n + Bluetooth v4.1 (BR/EDR/BLE) module on BGA <sup>[1]</sup><sup>[4]</sup><br />
<br/><sup>[1]</sup> On module microSD card socket is only available if WiFi is not mounted.<br />
<br/><sup>[2]</sup> The second SPI is only available, if the second ethernet is not mounted.<br />
<br/><sup>[3]</sup> CTS and RTS of the first UART is only available if second CAN port is not connected.<br />
<br/><sup>[4]</sup> The second UART is only available if Bluetooth is not used. This means WiFi/BT module 1DX is not mounted or module 1FX (only WiFi) is mounted.<br />
<br/><sup>[5]</sup> I²S lines are shared with JTAG.<br />
|valign="top" style="border: 0pt;" | <br />
* 2x CAN interface <sup>[3]</sup><br />
* 2x SPI interface <sup>[2]</sup><br />
* 2x I²C interface <br />
* I²S Audio codec (1 x microphone, 1 x Line in, 1x Line out) <sup>[5]</sup><br />
* Real-time clock (I²C connection), low power temperature compensated<br />
* 2x 10 bit analog input (I²C connection)<br />
* 2x 256 Bytes EEPROM with integrated MAC address <br />
* PWM channel<br />
* 22 GPIOs (A-U + INT_HI_PRIO)<br />
* JTAG debug connection via FFC plug connector <br />
* Industrial temperature range (-40°C to +85°C)<br />
* SODIMM-200 socket with DHCOM pin assignment<br />
|}<br />
<br />
*[[COM iMX6ULL Hardware|Hardware Support]]<br />
<br />
== Product Change Notifications (PCN) ==<br />
==== DHCOR i.MX6ULL ====<br />
* [[media:PCN_DHCOR-iMX6ULL-001_R01_2020-02-18.pdf|PCN_DHCOR-iMX6ULL-001_R01_2020-02-18.pdf (IMX_THERMAL)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-002_R01_2020-02-18.pdf|PCN_DHCOR-iMX6ULL-002_R01_2020-02-18.pdf (SPEED_GRADING)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-003_R01_2020-02-18.pdf|PCN_DHCOR-iMX6ULL-003_R01_2020-02-18.pdf (Bootloader on eMMC)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-004_R01_2020-09-17.pdf|PCN_DHCOR-iMX6ULL-004_R01_2020-09-17.pdf (900MHz undervolt)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-005_R01_2021-05-05.pdf|PCN_DHCOR-iMX6ULL-005_R01_2021-05-05.pdf (VDD_SOC_CAP capacitor)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-006_R02_2021-05-10.pdf|PCN_DHCOR-iMX6ULL-006_R02_2021-05-10.pdf (PMIC buck converter mode)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-007_R01_2021-07-28.pdf|PCN_DHCOR-iMX6ULL-007_R01_2021-07-28.pdf (Change of PCB)]]<br />
==== DHCOM i.MX6ULL ====<br />
* [[media:PCN_DHCOM-iMX6ULL-001_R01_2021-12-23.pdf|PCN_DHCOM-iMX6ULL-001_R01_2021-12-23.pdf (microSD socket EOL)]]<br />
<br />
== Software Support ==<br />
*[[COM iMX6ULL Bootloader U-Boot|i.MX6ULL: Bootloader U-Boot]]<br />
*[[COM iMX6ULL Linux|i.MX6ULL: Linux]]<br />
*[[DHCOM Update Mechanism|DHCOM Update Mechanism]]<br />
*[[Yocto | Yocto on DHCOM]]<br />
<br />
== BSP Sources==<br />
==== [https://www.denx.de/wiki/U-Boot U-Boot] ====<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2018.05_dhcom DH U-Boot (based on v2018.05)]<br />
<br />
==== [https://www.kernel.org Linux Kernel] ====<br />
* Mainline<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/dev/4.19.135_dhsom DH 4.19.135 Development]<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/release/4.19.135_dhsom/20201201 DH 4.19.135 Release 2020-12-01 (Yocto reference)]<br />
<br />
== Download binaries/images ==<br />
==== U-Boot (for eMMC DHCOMs) ====<br />
* [https://www.dropbox.com/s/p0kyso9yrnoxuf9/u-boot-with-spl_imx6ull_2018.05-DH_v0.29_emmc-g035ca2d417.imx?raw=1 DH U-Boot v0.29 (based on v2018.05)]<br />
: More on how to program it with the U-Boot command "update bootloader ..." on the page [[DHCOM Update Mechanism#Commandline Mode|"DHCOM Update Mechanism"]]<br />
<br />
==== Update Kernel ====<br />
* [https://www.dropbox.com/s/4gt9guwcvoime0h/2020-12-02_imx6ull_updatekernel.zip?raw=1 Update Kernel Release 2020-12-02]<br />
: More on how to use it on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
==== Debian based images ====<br />
* Debian 10 "Buster" + Kernel 4.19.135 Release 2020-12-01<br />
<br />
:* [https://www.dropbox.com/s/yqp1q8b88cksn76/HD00051_2020-12-01_imx6ull_buster_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/tp1fgkf1w7e3bcx/HD00051_2020-12-01_imx6ull_buster_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
Hint: You can also progam the eMMC by using the [[COM iMX6ULL Bootloader U-Boot#USB Mass Storage|U-Boot command "ums"]] (usable since U-Boot v2018.05)</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=DHCOM_iMX6-D2&diff=3592
DHCOM iMX6-D2
2021-12-23T11:57:08Z
<p>Christoph: /* U-Boot (for eMMC DHCOMs) */</p>
<hr />
<div>{|<br />
|<br />
|<br />
|-<br />
|__TOC__<br />
|[[Image:IM6Modul.png|600px|COM iMX6-D2]]<br />
|}<br />
<br />
== Hardware ==<br />
<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''Cortex-A9 Freescale i.MX6 Solo/DualLite/Dual/Quad up to 1.2GHz'''<br />
* 2D (GC320) / 3D (GC880/GC2000) graphics accelerator<br />
* 128 - 1024 MByte NAND flash memory (8 bit bus width) or<br/>4 - 16 GByte eMMC flash (8 bit bus width)<br />
* 2 MB SPI boot flash<br />
* 256 - 2048 MByte DDR3-1066 or DDR3-800<br />
* On module microSD card socket (4 bit SDIO) <sup>[1]</sup><br />
* SD/MMC card interface, 4 bit SDIO<br />
* LC display controller, 24 bit colors, 2048x1536 pixels<br />
* LVDS 4-channel, max. 165 Mpixels/s<br />
* On-board touch controller for 4-wire resistive touch screens<br />
* Ethernet controller 10/100 Mbit, IEEE1588 conform<br />
* USB 2.0 OTG high-speed<br />
* USB 2.0 host high speed<br />
* Full function UART <sup>[2]</sup><br />
* Standard UART with hardware handshake support<br />
* Standard UART<br />
<br/><sup>[1]</sup> On module microSD card socket is only available if second CAN port is not connected.<br />
<br/><sup>[2]</sup> CTS and RTS is only available if second CAN port is not connected.<br />
|valign="top" style="border: 0pt;" | <br />
* 2x CAN interface <sup>[1][2]</sup><br />
* 2x SPI interface <br />
* 2x I²C interface <br />
* I²S Audio codec (1 x microphone, 1 x Line in, 1x Line out)<br />
* Real-time clock (I²C connection), low power temperature compensated<br />
* 12 bit analog input <br />
* 128 Bytes EEPROM with integrated MAC address <br />
* 16 bit address/databus interface on SODIMM-200 socket <br />
* PWM channel<br />
* 24 GPIOs (A-W + INT_HI_PRIO)<br />
* JTAG debug connection via FFC plug connector <br />
* Industrial temperature range (-40°C to +85°C)<br />
* SODIMM-200 socket with DHCOM pin assignment<br />
|}<br />
<br />
*[[COM iMX6 Hardware|Hardware Support]]<br />
<br />
== Product Change Notifications (PCN) ==<br />
* [[media:PCN_iMX6_R01_2017-08-17.pdf|PCN_iMX6_R01_2017-08-17.pdf (4GByte eMMC)]]<br />
* [[media:PCN_iMX6_R02_2017-08-17.pdf|PCN_iMX6_R02_2017-08-17.pdf (8GByte eMMC)]]<br />
* [[media:PCN_iMX6_R03_2017-09-20.pdf|PCN_iMX6_R03_2017-09-20.pdf (SW ethernet bug)]]<br />
* [[media:PCN_iMX6_R04_2017-09-25.pdf|PCN_iMX6_R04_2017-09-25.pdf (Molex microSD socket)]]<br />
* [[media:PCN_iMX6_R05_2018-01-10.pdf|PCN_iMX6_R05_2018-01-10.pdf (512MB NAND flash)]]<br />
* [[media:PCN_iMX6_R06_2018-10-09.pdf|PCN_iMX6_R06_2018-10-09.pdf (label change)]]<br />
* [[media:PCN_iMX6_R07_2019-11-13.pdf|PCN_iMX6_R07_2019-11-13.pdf (4GByte eMMC)]]<br />
* [[media:PCN_iMX6_R08_2019-11-13.pdf|PCN_iMX6_R08_2019-11-13.pdf (8GByte eMMC)]]<br />
* [[media:PCN_iMX6-009_R01_2021-07-20.pdf|PCN_iMX6-009_R01_2021-07-20.pdf (SPI flash EOL)]]<br />
* [[media:PCN_DHCOM-iMX6-010_R01_2021-12-23.pdf|PCN_DHCOM-iMX6-010_R01_2021-12-23.pdf (microSD socket EOL)]]<br />
<br />
== Software Support ==<br />
*[[COM iMX6 Bootloader U-Boot|i.MX6: Bootloader U-Boot]]<br />
*[[COM iMX6 Linux|i.MX6: Linux]]<br />
*[[DHCOM Update Mechanism|DHCOM Update Mechanism]]<br />
*[[Yocto | Yocto on DHCOM]]<br />
*[[COM iMX6 WinCE|i.MX6: WinCE]]<br />
<br />
== BSP Sources==<br />
==== [https://www.denx.de/wiki/U-Boot U-Boot] ====<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/legacy/2018.05_dhcom DH U-Boot (based on v2018.05)]<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2015.10_dhcom DH U-Boot (based on v2015.10)]<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2013.10_dhcom DH U-Boot (based on v2013.10)]<br />
<br />
==== [https://www.kernel.org Linux Kernel] ====<br />
* Mainline<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/dev/4.4.60_dhcom DH 4.4.60 Development]<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/release/4.4.60_dhcom/20190926 DH 4.4.60 Release 2019-09-26 (Yocto reference)]<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/dev/3.14.12_dhcom DH 3.14.12 Development]<br />
* NXP Vendor<br />
:* [https://github.com/dh-electronics/linux-imx6-vendor/tree/release/v4.1.15/20190624 DH 4.1.15 Release 2019-06-24 (Yocto reference)]<br />
:* [https://github.com/dh-electronics/linux-imx6-vendor/tree/release/v3.10.17/20170804 DH 3.10.17 Release 2017-08-04 (Yocto reference)]<br />
<br />
== Download binaries/images ==<br />
==== U-Boot (for eMMC DHCOMs) ====<br />
* [https://www.dropbox.com/s/1x9de4pfrrzmg24/u-boot-with-spl_imx6_v2.1.0.1_emmc.imx?raw=1 DH U-Boot v2.1.0.1 (based on v2018.05)]<br />
* [https://www.dropbox.com/s/e6dl6srzj5tbfot/v1-1-0-8_u-boot-imx6qdl.tar.xz?raw=1 DH U-Boot v1.1.0.8 (based on v2015.10)]<br />
: More on how to program it with the U-Boot command "update bootloader ..." on the page [[DHCOM Update Mechanism#Commandline Mode|"DHCOM Update Mechanism"]]<br />
<br />
==== Update Kernel ====<br />
* [https://www.dropbox.com/s/js06gjllptg4jh6/2020-07-27_imx6_updatekernel.zip?raw=1 Update Kernel Release 2020-07-27]<br />
: More on how to use it on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
==== Debian based images ====<br />
* Debian 8 "Jessie" + Kernel 4.4.60 Release 2020-03-03<br />
<br />
:* [https://www.dropbox.com/s/nfxu7xb4v22slt2/HD00035_2020-03-03_imx6_jessie_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/au804sehtskb2ky/HD00035_2020-03-03_imx6_jessie_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
* Debian 8 "Jessie" with Qt5.9.1 + Vendor Kernel 4.1.15 Release 2019-09-26<br />
<br />
:* [https://www.dropbox.com/s/18f4hsj3lhp6e5w/HD00039_2019-09-26_imx6_jessie_qt5.9.1_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/3c6b96g7ijzkoay/HD00039_2019-09-26_imx6_jessie_qt5.9.1_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
Hint: You can also progam the eMMC by using the [[COM iMX6 Bootloader U-Boot#USB Mass Storage|U-Boot command "ums"]] (usable since U-Boot v2018.05)<br />
<br />
== Download Linux code examples ==<br />
==== [[Virtual Machine for Application Development#Code Examples for Userspace-Applications to Access SPI, I2C, GPIOs, and more|Code Examples for Userspace-Applications to Access SPI, I2C, GPIOs, and more]] ====<br />
<br />
== Download WEC ==<br />
==== WEC7 DHHalLib.dll (function library) ====<br />
* [[media:DHHalLib_WEC7_R06_2021-10-01.zip|Download DHHalLib Library Version 1.3.0.2]]<br />
* [[media:DHHalLib_Test_App_Source_WEC7_R05_2021-10-01.zip|DHHalLib Demo App Source Code ]]<br />
* [[media:DHHalLib_Test_App_Binary_WEC7_R05_2021-10-01.zip|DHHalLib Demo App Binary File]]<br />
* [[media:CSharp_LibWrapper.zip|Download DHHalLib CSharp Demo Wrapper App ]]<br />
* [[media:CSharp_LibWrapper_Binary.zip|Download DHHalLib CSharp Demo Wrapper App Binary File]]<br />
<br />
==== WEC7 binary BSP ====<br />
* [[media:2016-05-19_DHCOM_iMX6_BSP_BIN.zip|Download WEC7 binary BSP (date: 2016-05-19)]]<br />
<br />
==== WEC2013 DHHalLib.dll (function library) ====<br />
* [[media:DHHalLib_WEC2013_R12_2021-10-01.zip|Download DHHalLib Library Version 1.4.2.2]]<br />
* [[media:DHHalLib_Test_App_Source_WEC2013_R07_2018_06_12.zip|DHHalLib Demo App Source Code ]]<br />
* [[media:DHHalLib_Test_App_Binary_WEC2013_R09_2021-10-01.zip|DHHalLib Demo App Binary File]]<br />
* [[media:CSharp_LibWrapper_Source_WEC2013_R07_2021-10-01.zip|Download DHHalLib CSharp Wrapper]]<br />
* [[media:CSharp_DHHalLib_Wrapper_App_Source_WEC2013_R05_2017_08_08.zip|DHHalLib C# Demo App Source Code]]<br />
* [[media:CSharp_DHHalLib_Wrapper_App_Binary_WEC2013_R05_2017_08_08.zip|DHHalLib C# Demo App Binary File]]</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=DHCOM_iMX6ULL-D2&diff=3573
DHCOM iMX6ULL-D2
2021-12-21T14:40:45Z
<p>Christoph: /* U-Boot (for eMMC DHCOMs) */</p>
<hr />
<div>{|<br />
|<br />
|<br />
|-<br />
|rowspan="2"|__TOC__<br />
|style="padding-left:100px"|[[Image:IMX6ULL_DHCOR_Modul.png|320px|DHCOR i.MX6ULL-LG]]<br />
|-<br />
|[[Image:IMX6ULLModul.png|600px|DHCOM iMX6ULL-D2]]<br />
|}<br />
<br />
== Scope ==<br />
'''This is also the right page for the DHCOR module, because DHCOM is the reference design for the DHCOR module.'''<br />
<br />
== Hardware ==<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''Cortex-A7 NXP i.MX6ULL up to 900 MHz'''<br />
* 128 - 1024 MByte NAND flash memory (8 bit bus width) or<br>4 - 16 GByte eMMC flash (8 bit bus width)<br />
* 2 MB SPI boot flash<br />
* 128 - 1024 MByte DDR3-400<br />
* On module microSD card socket (4 bit SDIO) <sup>[1]</sup><br />
* LC display controller, 18 bit colors, 1366x768 pixels<br />
* On-chip touch controller for 4-wire resistive touch screens<br />
* 2x Ethernet controller 10/100 Mbit, IEEE1588 conform <sup>[2]</sup><br />
* USB 2.0 OTG high-speed<br />
* USB 2.0 host high speed<br />
* 2x Standard UART with hardware handshake support <sup>[3]</sup><sup>[4]</sup><br />
* WiFi iEEE802.11b/g/n + Bluetooth v4.1 (BR/EDR/BLE) module on BGA <sup>[1]</sup><sup>[4]</sup><br />
<br/><sup>[1]</sup> On module microSD card socket is only available if WiFi is not mounted.<br />
<br/><sup>[2]</sup> The second SPI is only available, if the second ethernet is not mounted.<br />
<br/><sup>[3]</sup> CTS and RTS of the first UART is only available if second CAN port is not connected.<br />
<br/><sup>[4]</sup> The second UART is only available if Bluetooth is not used. This means WiFi/BT module 1DX is not mounted or module 1FX (only WiFi) is mounted.<br />
<br/><sup>[5]</sup> I²S lines are shared with JTAG.<br />
|valign="top" style="border: 0pt;" | <br />
* 2x CAN interface <sup>[3]</sup><br />
* 2x SPI interface <sup>[2]</sup><br />
* 2x I²C interface <br />
* I²S Audio codec (1 x microphone, 1 x Line in, 1x Line out) <sup>[5]</sup><br />
* Real-time clock (I²C connection), low power temperature compensated<br />
* 2x 10 bit analog input (I²C connection)<br />
* 2x 256 Bytes EEPROM with integrated MAC address <br />
* PWM channel<br />
* 22 GPIOs (A-U + INT_HI_PRIO)<br />
* JTAG debug connection via FFC plug connector <br />
* Industrial temperature range (-40°C to +85°C)<br />
* SODIMM-200 socket with DHCOM pin assignment<br />
|}<br />
<br />
*[[COM iMX6ULL Hardware|Hardware Support]]<br />
<br />
== Product Change Notifications (PCN) ==<br />
* [[media:PCN_DHCOR-iMX6ULL-001_R01_2020-02-18.pdf|PCN_DHCOR-iMX6ULL-001_R01_2020-02-18.pdf (IMX_THERMAL)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-002_R01_2020-02-18.pdf|PCN_DHCOR-iMX6ULL-002_R01_2020-02-18.pdf (SPEED_GRADING)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-003_R01_2020-02-18.pdf|PCN_DHCOR-iMX6ULL-003_R01_2020-02-18.pdf (Bootloader on eMMC)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-004_R01_2020-09-17.pdf|PCN_DHCOR-iMX6ULL-004_R01_2020-09-17.pdf (900MHz undervolt)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-005_R01_2021-05-05.pdf|PCN_DHCOR-iMX6ULL-005_R01_2021-05-05.pdf (VDD_SOC_CAP capacitor)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-006_R02_2021-05-10.pdf|PCN_DHCOR-iMX6ULL-006_R02_2021-05-10.pdf (PMIC buck converter mode)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-007_R01_2021-07-28.pdf|PCN_DHCOR-iMX6ULL-007_R01_2021-07-28.pdf (Change of PCB)]]<br />
<br />
== Software Support ==<br />
*[[COM iMX6ULL Bootloader U-Boot|i.MX6ULL: Bootloader U-Boot]]<br />
*[[COM iMX6ULL Linux|i.MX6ULL: Linux]]<br />
*[[DHCOM Update Mechanism|DHCOM Update Mechanism]]<br />
*[[Yocto | Yocto on DHCOM]]<br />
<br />
== BSP Sources==<br />
==== [https://www.denx.de/wiki/U-Boot U-Boot] ====<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2018.05_dhcom DH U-Boot (based on v2018.05)]<br />
<br />
==== [https://www.kernel.org Linux Kernel] ====<br />
* Mainline<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/dev/4.19.135_dhsom DH 4.19.135 Development]<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/release/4.19.135_dhsom/20201201 DH 4.19.135 Release 2020-12-01 (Yocto reference)]<br />
<br />
== Download binaries/images ==<br />
==== U-Boot (for eMMC DHCOMs) ====<br />
* [https://www.dropbox.com/s/s5pfosv22dklxuc/u-boot-with-spl_imx6ull_2018.05-DH_v0.29_emmc-g60688b8430.imx?raw=1 DH U-Boot v0.29 (based on v2018.05)]<br />
: More on how to program it with the U-Boot command "update bootloader ..." on the page [[DHCOM Update Mechanism#Commandline Mode|"DHCOM Update Mechanism"]]<br />
<br />
==== Update Kernel ====<br />
* [https://www.dropbox.com/s/4gt9guwcvoime0h/2020-12-02_imx6ull_updatekernel.zip?raw=1 Update Kernel Release 2020-12-02]<br />
: More on how to use it on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
==== Debian based images ====<br />
* Debian 10 "Buster" + Kernel 4.19.135 Release 2020-12-01<br />
<br />
:* [https://www.dropbox.com/s/yqp1q8b88cksn76/HD00051_2020-12-01_imx6ull_buster_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/tp1fgkf1w7e3bcx/HD00051_2020-12-01_imx6ull_buster_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
Hint: You can also progam the eMMC by using the [[COM iMX6ULL Bootloader U-Boot#USB Mass Storage|U-Boot command "ums"]] (usable since U-Boot v2018.05)</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=DHCOM_iMX6-D2&diff=3572
DHCOM iMX6-D2
2021-12-21T14:07:41Z
<p>Christoph: /* Download binaries/images */</p>
<hr />
<div>{|<br />
|<br />
|<br />
|-<br />
|__TOC__<br />
|[[Image:IM6Modul.png|600px|COM iMX6-D2]]<br />
|}<br />
<br />
== Hardware ==<br />
<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''Cortex-A9 Freescale i.MX6 Solo/DualLite/Dual/Quad up to 1.2GHz'''<br />
* 2D (GC320) / 3D (GC880/GC2000) graphics accelerator<br />
* 128 - 1024 MByte NAND flash memory (8 bit bus width) or<br/>4 - 16 GByte eMMC flash (8 bit bus width)<br />
* 2 MB SPI boot flash<br />
* 256 - 2048 MByte DDR3-1066 or DDR3-800<br />
* On module microSD card socket (4 bit SDIO) <sup>[1]</sup><br />
* SD/MMC card interface, 4 bit SDIO<br />
* LC display controller, 24 bit colors, 2048x1536 pixels<br />
* LVDS 4-channel, max. 165 Mpixels/s<br />
* On-board touch controller for 4-wire resistive touch screens<br />
* Ethernet controller 10/100 Mbit, IEEE1588 conform<br />
* USB 2.0 OTG high-speed<br />
* USB 2.0 host high speed<br />
* Full function UART <sup>[2]</sup><br />
* Standard UART with hardware handshake support<br />
* Standard UART<br />
<br/><sup>[1]</sup> On module microSD card socket is only available if second CAN port is not connected.<br />
<br/><sup>[2]</sup> CTS and RTS is only available if second CAN port is not connected.<br />
|valign="top" style="border: 0pt;" | <br />
* 2x CAN interface <sup>[1][2]</sup><br />
* 2x SPI interface <br />
* 2x I²C interface <br />
* I²S Audio codec (1 x microphone, 1 x Line in, 1x Line out)<br />
* Real-time clock (I²C connection), low power temperature compensated<br />
* 12 bit analog input <br />
* 128 Bytes EEPROM with integrated MAC address <br />
* 16 bit address/databus interface on SODIMM-200 socket <br />
* PWM channel<br />
* 24 GPIOs (A-W + INT_HI_PRIO)<br />
* JTAG debug connection via FFC plug connector <br />
* Industrial temperature range (-40°C to +85°C)<br />
* SODIMM-200 socket with DHCOM pin assignment<br />
|}<br />
<br />
*[[COM iMX6 Hardware|Hardware Support]]<br />
<br />
== Product Change Notifications (PCN) ==<br />
* [[media:PCN_iMX6_R01_2017-08-17.pdf|PCN_iMX6_R01_2017-08-17.pdf (4GByte eMMC)]]<br />
* [[media:PCN_iMX6_R02_2017-08-17.pdf|PCN_iMX6_R02_2017-08-17.pdf (8GByte eMMC)]]<br />
* [[media:PCN_iMX6_R03_2017-09-20.pdf|PCN_iMX6_R03_2017-09-20.pdf (SW ethernet bug)]]<br />
* [[media:PCN_iMX6_R04_2017-09-25.pdf|PCN_iMX6_R04_2017-09-25.pdf (Molex microSD socket)]]<br />
* [[media:PCN_iMX6_R05_2018-01-10.pdf|PCN_iMX6_R05_2018-01-10.pdf (512MB NAND flash)]]<br />
* [[media:PCN_iMX6_R06_2018-10-09.pdf|PCN_iMX6_R06_2018-10-09.pdf (label change)]]<br />
* [[media:PCN_iMX6_R07_2019-11-13.pdf|PCN_iMX6_R07_2019-11-13.pdf (4GByte eMMC)]]<br />
* [[media:PCN_iMX6_R08_2019-11-13.pdf|PCN_iMX6_R08_2019-11-13.pdf (8GByte eMMC)]]<br />
* [[media:PCN_iMX6-009_R01_2021-07-20.pdf|PCN_iMX6-009_R01_2021-07-20.pdf (SPI flash EOL)]]<br />
<br />
== Software Support ==<br />
*[[COM iMX6 Bootloader U-Boot|i.MX6: Bootloader U-Boot]]<br />
*[[COM iMX6 Linux|i.MX6: Linux]]<br />
*[[DHCOM Update Mechanism|DHCOM Update Mechanism]]<br />
*[[Yocto | Yocto on DHCOM]]<br />
*[[COM iMX6 WinCE|i.MX6: WinCE]]<br />
<br />
== BSP Sources==<br />
==== [https://www.denx.de/wiki/U-Boot U-Boot] ====<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/legacy/2018.05_dhcom DH U-Boot (based on v2018.05)]<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2015.10_dhcom DH U-Boot (based on v2015.10)]<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2013.10_dhcom DH U-Boot (based on v2013.10)]<br />
<br />
==== [https://www.kernel.org Linux Kernel] ====<br />
* Mainline<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/dev/4.4.60_dhcom DH 4.4.60 Development]<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/release/4.4.60_dhcom/20190926 DH 4.4.60 Release 2019-09-26 (Yocto reference)]<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/dev/3.14.12_dhcom DH 3.14.12 Development]<br />
* NXP Vendor<br />
:* [https://github.com/dh-electronics/linux-imx6-vendor/tree/release/v4.1.15/20190624 DH 4.1.15 Release 2019-06-24 (Yocto reference)]<br />
:* [https://github.com/dh-electronics/linux-imx6-vendor/tree/release/v3.10.17/20170804 DH 3.10.17 Release 2017-08-04 (Yocto reference)]<br />
<br />
== Download binaries/images ==<br />
==== U-Boot (for eMMC DHCOMs) ====<br />
* [https://www.dropbox.com/s/xhf16efm5ymtfq5/u-boot-with-spl_imx6_v2.1.0.1_emmc.imx?raw=1 DH U-Boot v2.1.0.1 (based on v2018.05)]<br />
* [https://www.dropbox.com/s/e6dl6srzj5tbfot/v1-1-0-8_u-boot-imx6qdl.tar.xz?raw=1 DH U-Boot v1.1.0.8 (based on v2015.10)]<br />
: More on how to program it with the U-Boot command "update bootloader ..." on the page [[DHCOM Update Mechanism#Commandline Mode|"DHCOM Update Mechanism"]]<br />
<br />
==== Update Kernel ====<br />
* [https://www.dropbox.com/s/js06gjllptg4jh6/2020-07-27_imx6_updatekernel.zip?raw=1 Update Kernel Release 2020-07-27]<br />
: More on how to use it on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
==== Debian based images ====<br />
* Debian 8 "Jessie" + Kernel 4.4.60 Release 2020-03-03<br />
<br />
:* [https://www.dropbox.com/s/nfxu7xb4v22slt2/HD00035_2020-03-03_imx6_jessie_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/au804sehtskb2ky/HD00035_2020-03-03_imx6_jessie_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
* Debian 8 "Jessie" with Qt5.9.1 + Vendor Kernel 4.1.15 Release 2019-09-26<br />
<br />
:* [https://www.dropbox.com/s/18f4hsj3lhp6e5w/HD00039_2019-09-26_imx6_jessie_qt5.9.1_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/3c6b96g7ijzkoay/HD00039_2019-09-26_imx6_jessie_qt5.9.1_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
Hint: You can also progam the eMMC by using the [[COM iMX6 Bootloader U-Boot#USB Mass Storage|U-Boot command "ums"]] (usable since U-Boot v2018.05)<br />
<br />
== Download Linux code examples ==<br />
==== [[Virtual Machine for Application Development#Code Examples for Userspace-Applications to Access SPI, I2C, GPIOs, and more|Code Examples for Userspace-Applications to Access SPI, I2C, GPIOs, and more]] ====<br />
<br />
== Download WEC ==<br />
==== WEC7 DHHalLib.dll (function library) ====<br />
* [[media:DHHalLib_WEC7_R06_2021-10-01.zip|Download DHHalLib Library Version 1.3.0.2]]<br />
* [[media:DHHalLib_Test_App_Source_WEC7_R05_2021-10-01.zip|DHHalLib Demo App Source Code ]]<br />
* [[media:DHHalLib_Test_App_Binary_WEC7_R05_2021-10-01.zip|DHHalLib Demo App Binary File]]<br />
* [[media:CSharp_LibWrapper.zip|Download DHHalLib CSharp Demo Wrapper App ]]<br />
* [[media:CSharp_LibWrapper_Binary.zip|Download DHHalLib CSharp Demo Wrapper App Binary File]]<br />
<br />
==== WEC7 binary BSP ====<br />
* [[media:2016-05-19_DHCOM_iMX6_BSP_BIN.zip|Download WEC7 binary BSP (date: 2016-05-19)]]<br />
<br />
==== WEC2013 DHHalLib.dll (function library) ====<br />
* [[media:DHHalLib_WEC2013_R12_2021-10-01.zip|Download DHHalLib Library Version 1.4.2.2]]<br />
* [[media:DHHalLib_Test_App_Source_WEC2013_R07_2018_06_12.zip|DHHalLib Demo App Source Code ]]<br />
* [[media:DHHalLib_Test_App_Binary_WEC2013_R09_2021-10-01.zip|DHHalLib Demo App Binary File]]<br />
* [[media:CSharp_LibWrapper_Source_WEC2013_R07_2021-10-01.zip|Download DHHalLib CSharp Wrapper]]<br />
* [[media:CSharp_DHHalLib_Wrapper_App_Source_WEC2013_R05_2017_08_08.zip|DHHalLib C# Demo App Source Code]]<br />
* [[media:CSharp_DHHalLib_Wrapper_App_Binary_WEC2013_R05_2017_08_08.zip|DHHalLib C# Demo App Binary File]]</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=DHCOM_iMX6ULL-D2&diff=3541
DHCOM iMX6ULL-D2
2021-11-02T18:48:19Z
<p>Christoph: /* U-Boot (for eMMC DHCOMs) */</p>
<hr />
<div>{|<br />
|<br />
|<br />
|-<br />
|rowspan="2"|__TOC__<br />
|style="padding-left:100px"|[[Image:IMX6ULL_DHCOR_Modul.png|320px|DHCOR i.MX6ULL-LG]]<br />
|-<br />
|[[Image:IMX6ULLModul.png|600px|DHCOM iMX6ULL-D2]]<br />
|}<br />
<br />
== Scope ==<br />
'''This is also the right page for the DHCOR module, because DHCOM is the reference design for the DHCOR module.'''<br />
<br />
== Hardware ==<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''Cortex-A7 NXP i.MX6ULL up to 900 MHz'''<br />
* 128 - 1024 MByte NAND flash memory (8 bit bus width) or<br>4 - 16 GByte eMMC flash (8 bit bus width)<br />
* 2 MB SPI boot flash<br />
* 128 - 1024 MByte DDR3-400<br />
* On module microSD card socket (4 bit SDIO) <sup>[1]</sup><br />
* LC display controller, 18 bit colors, 1366x768 pixels<br />
* On-chip touch controller for 4-wire resistive touch screens<br />
* 2x Ethernet controller 10/100 Mbit, IEEE1588 conform <sup>[2]</sup><br />
* USB 2.0 OTG high-speed<br />
* USB 2.0 host high speed<br />
* 2x Standard UART with hardware handshake support <sup>[3]</sup><sup>[4]</sup><br />
* WiFi iEEE802.11b/g/n + Bluetooth v4.1 (BR/EDR/BLE) module on BGA <sup>[1]</sup><sup>[4]</sup><br />
<br/><sup>[1]</sup> On module microSD card socket is only available if WiFi is not mounted.<br />
<br/><sup>[2]</sup> The second SPI is only available, if the second ethernet is not mounted.<br />
<br/><sup>[3]</sup> CTS and RTS of the first UART is only available if second CAN port is not connected.<br />
<br/><sup>[4]</sup> The second UART is only available if Bluetooth is not used. This means WiFi/BT module 1DX is not mounted or module 1FX (only WiFi) is mounted.<br />
<br/><sup>[5]</sup> I²S lines are shared with JTAG.<br />
|valign="top" style="border: 0pt;" | <br />
* 2x CAN interface <sup>[3]</sup><br />
* 2x SPI interface <sup>[2]</sup><br />
* 2x I²C interface <br />
* I²S Audio codec (1 x microphone, 1 x Line in, 1x Line out) <sup>[5]</sup><br />
* Real-time clock (I²C connection), low power temperature compensated<br />
* 2x 10 bit analog input (I²C connection)<br />
* 2x 256 Bytes EEPROM with integrated MAC address <br />
* PWM channel<br />
* 22 GPIOs (A-U + INT_HI_PRIO)<br />
* JTAG debug connection via FFC plug connector <br />
* Industrial temperature range (-40°C to +85°C)<br />
* SODIMM-200 socket with DHCOM pin assignment<br />
|}<br />
<br />
*[[COM iMX6ULL Hardware|Hardware Support]]<br />
<br />
== Product Change Notifications (PCN) ==<br />
* [[media:PCN_DHCOR-iMX6ULL-001_R01_2020-02-18.pdf|PCN_DHCOR-iMX6ULL-001_R01_2020-02-18.pdf (IMX_THERMAL)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-002_R01_2020-02-18.pdf|PCN_DHCOR-iMX6ULL-002_R01_2020-02-18.pdf (SPEED_GRADING)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-003_R01_2020-02-18.pdf|PCN_DHCOR-iMX6ULL-003_R01_2020-02-18.pdf (Bootloader on eMMC)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-004_R01_2020-09-17.pdf|PCN_DHCOR-iMX6ULL-004_R01_2020-09-17.pdf (900MHz undervolt)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-005_R01_2021-05-05.pdf|PCN_DHCOR-iMX6ULL-005_R01_2021-05-05.pdf (VDD_SOC_CAP capacitor)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-006_R02_2021-05-10.pdf|PCN_DHCOR-iMX6ULL-006_R02_2021-05-10.pdf (PMIC buck converter mode)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-007_R01_2021-07-28.pdf|PCN_DHCOR-iMX6ULL-007_R01_2021-07-28.pdf (Change of PCB)]]<br />
<br />
== Software Support ==<br />
*[[COM iMX6ULL Bootloader U-Boot|i.MX6ULL: Bootloader U-Boot]]<br />
*[[COM iMX6ULL Linux|i.MX6ULL: Linux]]<br />
*[[DHCOM Update Mechanism|DHCOM Update Mechanism]]<br />
*[[Yocto | Yocto on DHCOM]]<br />
<br />
== BSP Sources==<br />
==== [https://www.denx.de/wiki/U-Boot U-Boot] ====<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2018.05_dhcom DH U-Boot (based on v2018.05)]<br />
<br />
==== [https://www.kernel.org Linux Kernel] ====<br />
* Mainline<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/dev/4.19.135_dhsom DH 4.19.135 Development]<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/release/4.19.135_dhsom/20201201 DH 4.19.135 Release 2020-12-01 (Yocto reference)]<br />
<br />
== Download binaries/images ==<br />
==== U-Boot (for eMMC DHCOMs) ====<br />
* [https://www.dropbox.com/s/39hlif02isctapa/u-boot-with-spl_imx6ull_2018.05-DH_v0.28_emmc-gababd70ce7.imx?raw=1 DH U-Boot v0.28 (based on v2018.05)]<br />
: More on how to program it with the U-Boot command "update bootloader ..." on the page [[DHCOM Update Mechanism#Commandline Mode|"DHCOM Update Mechanism"]]<br />
<br />
==== Update Kernel ====<br />
* [https://www.dropbox.com/s/4gt9guwcvoime0h/2020-12-02_imx6ull_updatekernel.zip?raw=1 Update Kernel Release 2020-12-02]<br />
: More on how to use it on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
==== Debian based images ====<br />
* Debian 10 "Buster" + Kernel 4.19.135 Release 2020-12-01<br />
<br />
:* [https://www.dropbox.com/s/yqp1q8b88cksn76/HD00051_2020-12-01_imx6ull_buster_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/tp1fgkf1w7e3bcx/HD00051_2020-12-01_imx6ull_buster_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
Hint: You can also progam the eMMC by using the [[COM iMX6ULL Bootloader U-Boot#USB Mass Storage|U-Boot command "ums"]] (usable since U-Boot v2018.05)</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=DHCOM_iMX6ULL-D2&diff=3540
DHCOM iMX6ULL-D2
2021-11-02T18:47:59Z
<p>Christoph: /* U-Boot (for eMMC DHCOMs) */</p>
<hr />
<div>{|<br />
|<br />
|<br />
|-<br />
|rowspan="2"|__TOC__<br />
|style="padding-left:100px"|[[Image:IMX6ULL_DHCOR_Modul.png|320px|DHCOR i.MX6ULL-LG]]<br />
|-<br />
|[[Image:IMX6ULLModul.png|600px|DHCOM iMX6ULL-D2]]<br />
|}<br />
<br />
== Scope ==<br />
'''This is also the right page for the DHCOR module, because DHCOM is the reference design for the DHCOR module.'''<br />
<br />
== Hardware ==<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''Cortex-A7 NXP i.MX6ULL up to 900 MHz'''<br />
* 128 - 1024 MByte NAND flash memory (8 bit bus width) or<br>4 - 16 GByte eMMC flash (8 bit bus width)<br />
* 2 MB SPI boot flash<br />
* 128 - 1024 MByte DDR3-400<br />
* On module microSD card socket (4 bit SDIO) <sup>[1]</sup><br />
* LC display controller, 18 bit colors, 1366x768 pixels<br />
* On-chip touch controller for 4-wire resistive touch screens<br />
* 2x Ethernet controller 10/100 Mbit, IEEE1588 conform <sup>[2]</sup><br />
* USB 2.0 OTG high-speed<br />
* USB 2.0 host high speed<br />
* 2x Standard UART with hardware handshake support <sup>[3]</sup><sup>[4]</sup><br />
* WiFi iEEE802.11b/g/n + Bluetooth v4.1 (BR/EDR/BLE) module on BGA <sup>[1]</sup><sup>[4]</sup><br />
<br/><sup>[1]</sup> On module microSD card socket is only available if WiFi is not mounted.<br />
<br/><sup>[2]</sup> The second SPI is only available, if the second ethernet is not mounted.<br />
<br/><sup>[3]</sup> CTS and RTS of the first UART is only available if second CAN port is not connected.<br />
<br/><sup>[4]</sup> The second UART is only available if Bluetooth is not used. This means WiFi/BT module 1DX is not mounted or module 1FX (only WiFi) is mounted.<br />
<br/><sup>[5]</sup> I²S lines are shared with JTAG.<br />
|valign="top" style="border: 0pt;" | <br />
* 2x CAN interface <sup>[3]</sup><br />
* 2x SPI interface <sup>[2]</sup><br />
* 2x I²C interface <br />
* I²S Audio codec (1 x microphone, 1 x Line in, 1x Line out) <sup>[5]</sup><br />
* Real-time clock (I²C connection), low power temperature compensated<br />
* 2x 10 bit analog input (I²C connection)<br />
* 2x 256 Bytes EEPROM with integrated MAC address <br />
* PWM channel<br />
* 22 GPIOs (A-U + INT_HI_PRIO)<br />
* JTAG debug connection via FFC plug connector <br />
* Industrial temperature range (-40°C to +85°C)<br />
* SODIMM-200 socket with DHCOM pin assignment<br />
|}<br />
<br />
*[[COM iMX6ULL Hardware|Hardware Support]]<br />
<br />
== Product Change Notifications (PCN) ==<br />
* [[media:PCN_DHCOR-iMX6ULL-001_R01_2020-02-18.pdf|PCN_DHCOR-iMX6ULL-001_R01_2020-02-18.pdf (IMX_THERMAL)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-002_R01_2020-02-18.pdf|PCN_DHCOR-iMX6ULL-002_R01_2020-02-18.pdf (SPEED_GRADING)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-003_R01_2020-02-18.pdf|PCN_DHCOR-iMX6ULL-003_R01_2020-02-18.pdf (Bootloader on eMMC)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-004_R01_2020-09-17.pdf|PCN_DHCOR-iMX6ULL-004_R01_2020-09-17.pdf (900MHz undervolt)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-005_R01_2021-05-05.pdf|PCN_DHCOR-iMX6ULL-005_R01_2021-05-05.pdf (VDD_SOC_CAP capacitor)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-006_R02_2021-05-10.pdf|PCN_DHCOR-iMX6ULL-006_R02_2021-05-10.pdf (PMIC buck converter mode)]]<br />
* [[media:PCN_DHCOR-iMX6ULL-007_R01_2021-07-28.pdf|PCN_DHCOR-iMX6ULL-007_R01_2021-07-28.pdf (Change of PCB)]]<br />
<br />
== Software Support ==<br />
*[[COM iMX6ULL Bootloader U-Boot|i.MX6ULL: Bootloader U-Boot]]<br />
*[[COM iMX6ULL Linux|i.MX6ULL: Linux]]<br />
*[[DHCOM Update Mechanism|DHCOM Update Mechanism]]<br />
*[[Yocto | Yocto on DHCOM]]<br />
<br />
== BSP Sources==<br />
==== [https://www.denx.de/wiki/U-Boot U-Boot] ====<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2018.05_dhcom DH U-Boot (based on v2018.05)]<br />
<br />
==== [https://www.kernel.org Linux Kernel] ====<br />
* Mainline<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/dev/4.19.135_dhsom DH 4.19.135 Development]<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/release/4.19.135_dhsom/20201201 DH 4.19.135 Release 2020-12-01 (Yocto reference)]<br />
<br />
== Download binaries/images ==<br />
==== U-Boot (for eMMC DHCOMs) ====<br />
* https://www.dropbox.com/s/39hlif02isctapa/u-boot-with-spl_imx6ull_2018.05-DH_v0.28_emmc-gababd70ce7.imx?raw=1 DH U-Boot v0.28 (based on v2018.05)]<br />
: More on how to program it with the U-Boot command "update bootloader ..." on the page [[DHCOM Update Mechanism#Commandline Mode|"DHCOM Update Mechanism"]]<br />
<br />
==== Update Kernel ====<br />
* [https://www.dropbox.com/s/4gt9guwcvoime0h/2020-12-02_imx6ull_updatekernel.zip?raw=1 Update Kernel Release 2020-12-02]<br />
: More on how to use it on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
==== Debian based images ====<br />
* Debian 10 "Buster" + Kernel 4.19.135 Release 2020-12-01<br />
<br />
:* [https://www.dropbox.com/s/yqp1q8b88cksn76/HD00051_2020-12-01_imx6ull_buster_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/tp1fgkf1w7e3bcx/HD00051_2020-12-01_imx6ull_buster_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
Hint: You can also progam the eMMC by using the [[COM iMX6ULL Bootloader U-Boot#USB Mass Storage|U-Boot command "ums"]] (usable since U-Boot v2018.05)</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=DHCOM_iMX6-D2&diff=3539
DHCOM iMX6-D2
2021-11-02T18:45:27Z
<p>Christoph: /* Download binaries/images */</p>
<hr />
<div>{|<br />
|<br />
|<br />
|-<br />
|__TOC__<br />
|[[Image:IM6Modul.png|600px|COM iMX6-D2]]<br />
|}<br />
<br />
== Hardware ==<br />
<br />
{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |<br />
|-<br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
| style="width: 50%; background: #076b8d; border: 0pt;" | <br />
|-<br />
|valign="top" style="border: 0pt;" | <br />
* '''Cortex-A9 Freescale i.MX6 Solo/DualLite/Dual/Quad up to 1.2GHz'''<br />
* 2D (GC320) / 3D (GC880/GC2000) graphics accelerator<br />
* 128 - 1024 MByte NAND flash memory (8 bit bus width) or<br/>4 - 16 GByte eMMC flash (8 bit bus width)<br />
* 2 MB SPI boot flash<br />
* 256 - 2048 MByte DDR3-1066 or DDR3-800<br />
* On module microSD card socket (4 bit SDIO) <sup>[1]</sup><br />
* SD/MMC card interface, 4 bit SDIO<br />
* LC display controller, 24 bit colors, 2048x1536 pixels<br />
* LVDS 4-channel, max. 165 Mpixels/s<br />
* On-board touch controller for 4-wire resistive touch screens<br />
* Ethernet controller 10/100 Mbit, IEEE1588 conform<br />
* USB 2.0 OTG high-speed<br />
* USB 2.0 host high speed<br />
* Full function UART <sup>[2]</sup><br />
* Standard UART with hardware handshake support<br />
* Standard UART<br />
<br/><sup>[1]</sup> On module microSD card socket is only available if second CAN port is not connected.<br />
<br/><sup>[2]</sup> CTS and RTS is only available if second CAN port is not connected.<br />
|valign="top" style="border: 0pt;" | <br />
* 2x CAN interface <sup>[1][2]</sup><br />
* 2x SPI interface <br />
* 2x I²C interface <br />
* I²S Audio codec (1 x microphone, 1 x Line in, 1x Line out)<br />
* Real-time clock (I²C connection), low power temperature compensated<br />
* 12 bit analog input <br />
* 128 Bytes EEPROM with integrated MAC address <br />
* 16 bit address/databus interface on SODIMM-200 socket <br />
* PWM channel<br />
* 24 GPIOs (A-W + INT_HI_PRIO)<br />
* JTAG debug connection via FFC plug connector <br />
* Industrial temperature range (-40°C to +85°C)<br />
* SODIMM-200 socket with DHCOM pin assignment<br />
|}<br />
<br />
*[[COM iMX6 Hardware|Hardware Support]]<br />
<br />
== Product Change Notifications (PCN) ==<br />
* [[media:PCN_iMX6_R01_2017-08-17.pdf|PCN_iMX6_R01_2017-08-17.pdf (4GByte eMMC)]]<br />
* [[media:PCN_iMX6_R02_2017-08-17.pdf|PCN_iMX6_R02_2017-08-17.pdf (8GByte eMMC)]]<br />
* [[media:PCN_iMX6_R03_2017-09-20.pdf|PCN_iMX6_R03_2017-09-20.pdf (SW ethernet bug)]]<br />
* [[media:PCN_iMX6_R04_2017-09-25.pdf|PCN_iMX6_R04_2017-09-25.pdf (Molex microSD socket)]]<br />
* [[media:PCN_iMX6_R05_2018-01-10.pdf|PCN_iMX6_R05_2018-01-10.pdf (512MB NAND flash)]]<br />
* [[media:PCN_iMX6_R06_2018-10-09.pdf|PCN_iMX6_R06_2018-10-09.pdf (label change)]]<br />
* [[media:PCN_iMX6_R07_2019-11-13.pdf|PCN_iMX6_R07_2019-11-13.pdf (4GByte eMMC)]]<br />
* [[media:PCN_iMX6_R08_2019-11-13.pdf|PCN_iMX6_R08_2019-11-13.pdf (8GByte eMMC)]]<br />
* [[media:PCN_iMX6-009_R01_2021-07-20.pdf|PCN_iMX6-009_R01_2021-07-20.pdf (SPI flash EOL)]]<br />
<br />
== Software Support ==<br />
*[[COM iMX6 Bootloader U-Boot|i.MX6: Bootloader U-Boot]]<br />
*[[COM iMX6 Linux|i.MX6: Linux]]<br />
*[[DHCOM Update Mechanism|DHCOM Update Mechanism]]<br />
*[[Yocto | Yocto on DHCOM]]<br />
*[[COM iMX6 WinCE|i.MX6: WinCE]]<br />
<br />
== BSP Sources==<br />
==== [https://www.denx.de/wiki/U-Boot U-Boot] ====<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/legacy/2018.05_dhcom DH U-Boot (based on v2018.05)]<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2015.10_dhcom DH U-Boot (based on v2015.10)]<br />
* [https://github.com/dh-electronics/u-boot-imx6qdl/tree/dev/2013.10_dhcom DH U-Boot (based on v2013.10)]<br />
<br />
==== [https://www.kernel.org Linux Kernel] ====<br />
* Mainline<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/dev/4.4.60_dhcom DH 4.4.60 Development]<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/release/4.4.60_dhcom/20190926 DH 4.4.60 Release 2019-09-26 (Yocto reference)]<br />
:* [https://github.com/dh-electronics/linux-imx6qdl/tree/dev/3.14.12_dhcom DH 3.14.12 Development]<br />
* NXP Vendor<br />
:* [https://github.com/dh-electronics/linux-imx6-vendor/tree/release/v4.1.15/20190624 DH 4.1.15 Release 2019-06-24 (Yocto reference)]<br />
:* [https://github.com/dh-electronics/linux-imx6-vendor/tree/release/v3.10.17/20170804 DH 3.10.17 Release 2017-08-04 (Yocto reference)]<br />
<br />
== Download binaries/images ==<br />
==== U-Boot (for eMMC DHCOMs) ====<br />
* [https://www.dropbox.com/s/olznhbsnkr65h1l/u-boot-with-spl_imx6_v2.1.0.0_emmc.imx?raw=1 DH U-Boot v2.1.0.0 (based on v2018.05)]<br />
* [https://www.dropbox.com/s/e6dl6srzj5tbfot/v1-1-0-8_u-boot-imx6qdl.tar.xz?raw=1 DH U-Boot v1.1.0.8 (based on v2015.10)]<br />
: More on how to program it with the U-Boot command "update bootloader ..." on the page [[DHCOM Update Mechanism#Commandline Mode|"DHCOM Update Mechanism"]]<br />
<br />
==== Update Kernel ====<br />
* [https://www.dropbox.com/s/js06gjllptg4jh6/2020-07-27_imx6_updatekernel.zip?raw=1 Update Kernel Release 2020-07-27]<br />
: More on how to use it on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
==== Debian based images ====<br />
* Debian 8 "Jessie" + Kernel 4.4.60 Release 2020-03-03<br />
<br />
:* [https://www.dropbox.com/s/nfxu7xb4v22slt2/HD00035_2020-03-03_imx6_jessie_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/au804sehtskb2ky/HD00035_2020-03-03_imx6_jessie_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
* Debian 8 "Jessie" with Qt5.9.1 + Vendor Kernel 4.1.15 Release 2019-09-26<br />
<br />
:* [https://www.dropbox.com/s/18f4hsj3lhp6e5w/HD00039_2019-09-26_imx6_jessie_qt5.9.1_sdcard_2000MB.img.xz?raw=1 SD card: 2GB image (xz compressed)]<br />
:: Open it with Disks by double click on Debian Linux. Use [https://www.balena.io/etcher balenaEtcher] on Windows.<br />
<br />
:* [https://www.dropbox.com/s/3c6b96g7ijzkoay/HD00039_2019-09-26_imx6_jessie_qt5.9.1_USB_stick_update.zip?raw=1 eMMC: USB stick update image]<br />
:: Extract the files on a USB stick (MBR / FAT32) and insert it into your board / device. More about the files on the page [[DHCOM Update Mechanism|"DHCOM Update Mechanism"]]<br />
<br />
Hint: You can also progam the eMMC by using the [[COM iMX6 Bootloader U-Boot#USB Mass Storage|U-Boot command "ums"]] (usable since U-Boot v2018.05)<br />
<br />
== Download Linux code examples ==<br />
==== [[Virtual Machine for Application Development#Code Examples for Userspace-Applications to Access SPI, I2C, GPIOs, and more|Code Examples for Userspace-Applications to Access SPI, I2C, GPIOs, and more]] ====<br />
<br />
== Download WEC ==<br />
==== WEC7 DHHalLib.dll (function library) ====<br />
* [[media:DHHalLib_WEC7_R06_2021-10-01.zip|Download DHHalLib Library Version 1.3.0.2]]<br />
* [[media:DHHalLib_Test_App_Source_WEC7_R05_2021-10-01.zip|DHHalLib Demo App Source Code ]]<br />
* [[media:DHHalLib_Test_App_Binary_WEC7_R05_2021-10-01.zip|DHHalLib Demo App Binary File]]<br />
* [[media:CSharp_LibWrapper.zip|Download DHHalLib CSharp Demo Wrapper App ]]<br />
* [[media:CSharp_LibWrapper_Binary.zip|Download DHHalLib CSharp Demo Wrapper App Binary File]]<br />
<br />
==== WEC7 binary BSP ====<br />
* [[media:2016-05-19_DHCOM_iMX6_BSP_BIN.zip|Download WEC7 binary BSP (date: 2016-05-19)]]<br />
<br />
==== WEC2013 DHHalLib.dll (function library) ====<br />
* [[media:DHHalLib_WEC2013_R12_2021-10-01.zip|Download DHHalLib Library Version 1.4.2.2]]<br />
* [[media:DHHalLib_Test_App_Source_WEC2013_R07_2018_06_12.zip|DHHalLib Demo App Source Code ]]<br />
* [[media:DHHalLib_Test_App_Binary_WEC2013_R09_2021-10-01.zip|DHHalLib Demo App Binary File]]<br />
* [[media:CSharp_LibWrapper_Source_WEC2013_R07_2021-10-01.zip|Download DHHalLib CSharp Wrapper]]<br />
* [[media:CSharp_DHHalLib_Wrapper_App_Source_WEC2013_R05_2017_08_08.zip|DHHalLib C# Demo App Source Code]]<br />
* [[media:CSharp_DHHalLib_Wrapper_App_Binary_WEC2013_R05_2017_08_08.zip|DHHalLib C# Demo App Binary File]]</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=DHCOM_STM32MP1_Linux&diff=3475
DHCOM STM32MP1 Linux
2021-09-21T10:04:04Z
<p>Christoph: /* Kernel Userspace Interfaces to Access Hardware */</p>
<hr />
<div>== Linux virtual machine for development ==<br />
:* Please have a look at: '''[[Virtual Machine for Application Development]]'''<br />
<br />
== Linux Kernel ==<br />
<br />
<!-- === Sources: Look at page [[DHCOM iMX6ULL-D2#BSP Sources|i.MX6ULL BSP Sources]] === --><br />
<br />
=== How to build a Kernel ===<br />
{| class="wikitable" align="center" | style="width: 98%; background: #f3f3f3;" valign="top" |<br />
|<br />
Get sources from Github<br />
{| class="wikitable" style="width: 100%; color: #000000; background: #ffffff;" |<br />
|<br />
1. Start the Console on Linux<br/><br />
2. <tt>''git clone https://github.com/dh-electronics/linux-stm32mp1.git --branch dev/5.4.69_dhsom''</tt><br/><br />
3. <tt>''cd linux-stm32mp1''</tt><br />
|}<br />
Configure and build the Device Tree + Kernel<br />
{| class="wikitable" style="width: 100%; color: #000000; background: #ffffff;" |<br />
| <br />
4. <tt>''ARCH=arm CROSS_COMPILE=/opt/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf- make stm32mp1_dhsom_defconfig''</tt><br/><br />
5. <tt>''ARCH=arm CROSS_COMPILE=/opt/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf- make menuconfig''</tt> (optional: If you want to add/remove Kernel features)<br/><br />
6. <tt>''ARCH=arm CROSS_COMPILE=/opt/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf- make dtbs''</tt><br/><br />
7. <tt>''ARCH=arm CROSS_COMPILE=/opt/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf- make zImage</tt><br />
|}<br />
Create the FIT-image with our script ([https://www.dropbox.com/s/0jtyget66cxgq30/dh-create-fitimage_1.0_all.deb?raw=1 Download link])<br />
{| class="wikitable" style="width: 100%; color: #000000; background: #ffffff;" |<br />
|-<br />
| '''Interactive mode for selecting device trees'''<br />
| '''Device trees are set as parameter'''<br />
|-<br />
|<br />
8. <tt>''create_fitimage''</tt><br/><br />
Enter the numbers (space seperated) of the device trees to include (e.g. if you want to include the device tree for the PDK2 include the number of <tt>''./arch/arm/boot/dts/stm32mp157c-dhcom-pdk2.dtb''</tt> (usually 3).<br/><br />
Enter the numbers (space seperated) of the device trees overlays to include (e.g. for the PDK2 enter the files which contain <tt>''PDK2''</tt> (usually 8 9 10 11 12 13 14).<br />
|<br />
(Example is for the PDK2) <br><br />
8. <tt>''create_fitimage --dtb ./arch/arm/boot/dts/stm32mp157c-dhcom-pdk2.dtb --dtbo ./arch/arm/boot/dts/stm32mp157c-dhcom-pdk2-overlay-460-200-x11.dtbo,./arch/arm/boot/dts/stm32mp157c-dhcom-pdk2-overlay-497-200-x12.dtbo,./arch/arm/boot/dts/stm32mp157c-dhcom-pdk2-overlay-505-200-x12-ch101olhlwh.dtbo,./arch/arm/boot/dts/stm32mp157c-dhcom-pdk2-overlay-531-100-x21.dtbo,./arch/arm/boot/dts/stm32mp157c-dhcom-pdk2-overlay-531-100-x22.dtbo,./arch/arm/boot/dts/stm32mp157c-dhcom-pdk2-overlay-560-200-x12.dtbo,./arch/arm/boot/dts/stm32mp157c-dhcom-pdk2-overlay-638-100-x12-rpi7inch.dtbo''</tt><br />
|}<br />
|}<br />
<br />
== Kernel Userspace Interfaces to Access Hardware == <br />
<br />
=== Control GPIOs ===<br />
:Show gpio definition in Linux<br />
:{| class="wikitable"<br />
|<tt>''gpioinfo''</tt><br />
|}<br />
:: '''Note:'''<br />
:: gpiochip0 = STM port-A, gpiochip1 = STM port-B, ...<br />
<br />
:{|class="wikitable" style="text-align: center; width: 800px"<br />
|-<br />
! DHCOM Name: !! alt. DHCOM Name: !! SO-DIMM Pin# !! CPU Pad Name !! gpiod label:<br />
|-<br />
| GPIO A || || 154 || PF3 || DHCOM-A<br />
|-<br />
| GPIO B || || 156 || PD6 || DHCOM-B<br />
|-<br />
| GPIO C || || 162 || PG0 || DHCOM-C<br />
|-<br />
| GPIO D || || 163 || PD12 || DHCOM-D<br />
|-<br />
| GPIO E || || 164 || PC6 || DHCOM-E<br />
|-<br />
| GPIO F || || 165 || PD11 || DHCOM-F<br />
|-<br />
| GPIO G || || 167 || PI0 || DHCOM-G<br />
|-<br />
| GPIO H || || 173 || PI2 || DHCOM-H<br />
|-<br />
| GPIO I || || 175 || PI3 || DHCOM-I<br />
|-<br />
| GPIO J || CIF HSYNC || 74 || PH8 || DHCOM-J<br />
|-<br />
| GPIO K || CIF PCLK || 72 || PA6 || DHCOM-K<br />
|-<br />
| GPIO L || CIF MCLK || 70 || PG8 || DHCOM-L<br />
|-<br />
| GPIO M || CIF VSYNC || 68 || PI5 || DHCOM-M<br />
|-<br />
| GPIO N || CIF D9 || 66 || PH7 || DHCOM-N<br />
|-<br />
| GPIO O || CIF D8 || 64 || PI1 || DHCOM-O<br />
|-<br />
| GPIO P || CIF D7 || 62 || PE6 || DHCOM-P<br />
|-<br />
| GPIO Q || CIF D6 || 60 || PB8 || DHCOM-Q<br />
|-<br />
| GPIO R || CIF D5 || 58 || PI4 || DHCOM-R<br />
|-<br />
| GPIO S || CIF D4 || 56 || PH14 || DHCOM-S<br />
|-<br />
| GPIO T || CIF D3 || 54 || PH12 || DHCOM-T<br />
|-<br />
| GPIO U || CIF D2 || 52 || PH11 || DHCOM-U<br />
|-<br />
| GPIO V || CIF D1 || 50 || PH10 || DHCOM-V<br />
|-<br />
| GPIO W || CIF D0 || 48 || PH9 || DHCOM-W<br />
|-<br />
| INT HIGHEST PRIORITY || || 151 || PI8 || DHCOM-INT<br />
|}<br />
<br />
::'''Set state'''<br />
::{| class="wikitable"<br />
|<tt>''gpioset $(gpiofind DHCOM-<#>)=0''</tt><br />
|-<br />
|<tt>''gpioset $(gpiofind DHCOM-<#>)=1''</tt><br />
|}<br />
<br />
::or<br />
::{| class="wikitable"<br />
|<tt>''gpioset gpiochip<port#> <pin#>=0''</tt><br />
|-<br />
|<tt>''gpioset gpiochip<port#> <pin#>=1''</tt><br />
|}<br />
<br />
::'''Get state'''<br />
::{| class="wikitable"<br />
|<tt>''gpioget $(gpiofind DHCOM-<#>)''</tt><br />
|}<br />
<br />
::or<br />
::{| class="wikitable"<br />
|<tt>''gpioget gpiochip<port#> <pin#>''</tt><br />
|}<br />
<br />
=== RS-485 on picoITX ===<br />
:'''RS-485 device'''<br />
:{| class="wikitable" style="width: 400px"<br />
||DHCOM UART 2||<tt>/dev/ttySTM2</tt><br />
|}<br />
<br />
:'''Compilation on target'''<br />
:{| class="wikitable"<br />
|<tt>''gcc tty_rs485_test_v1.1.c -o tty_rs485_test''</tt><br />
|-<br />
|<tt>''gcc tty_rs485_flags_v1.0.c -o tty_rs485_flags''</tt><br />
|}<br />
<br />
:'''Show UART flags'''<br />
:{| class="wikitable"<br />
|<tt>''./tty_rs485_flags /dev/ttySTM2''</tt><br />
|}<br />
<br />
:'''Set tty device to raw mode'''<br />
:{| class="wikitable"<br />
|<tt>''stty -F /dev/ttySTM2 115200 raw -echo -echoe''</tt><br />
|}<br />
<br />
:'''Send data with demo program'''<br />
:{| class="wikitable"<br />
|<tt>''echo -n -e "\n\rHallo RS485 Welt!" &brvbar; ./tty_rs485_test /dev/ttySTM2''</tt><br />
|}<br />
<br />
:'''Receive data with demo program'''<br />
:{| class="wikitable"<br />
|<tt>''./tty_rs485_test /dev/ttySTM2''</tt><br />
|}<br />
<br />
:'''Download example source code'''<br />
:* [[media:tty_rs485_test_v1.1.zip | tty_rs485_test_v1.1.c & tty_rs485_flags_v1.0.c]]<br />
<br />
=== CAN interface ===<br />
:'''Setup CAN interface with baudrate 500kbit/sec.'''<br />
:{| class="wikitable"<br />
|<tt>''ip link set can0 up type can bitrate 500000''</tt><br />
|}<br />
<br />
:'''Start to listen on CAN port'''<br />
:{| class="wikitable"<br />
|<tt>''candump can0''</tt><br />
|}<br />
<br />
:'''Send test message'''<br />
:{| class="wikitable"<br />
|<tt>''cansend can0 100#11.2233.44556677.88''</tt><br />
|}<br />
<br />
:'''Deinitialize CAN port'''<br />
:{| class="wikitable"<br />
|<tt>''ip link set can0 down''</tt><br />
|}<br />
<br />
=== UART Interfaces ===<br />
:{| class="wikitable" style="width: 400px"<br />
||DHCOM UART 1 ||<tt>/dev/ttySTM0</tt><br />
|-<br />
||DHCOM UART 2 ||<tt>/dev/ttySTM2</tt><br />
|-<br />
||DHCOM UART 3 ||<tt>/dev/ttySTM1</tt><br />
|}<br />
<br />
=== I2C Interfaces ===<br />
:{| class="wikitable" style="width: 400px"<br />
||DHCOM I2C 1||<tt>/dev/i2c-1</tt><br />
|-<br />
||DHCOM I2C 2 ||<tt>/dev/i2c-0</tt><br />
|-<br />
||On Module Devices ||<tt>/dev/i2c-2</tt><br />
|}<br />
<br />
== FAQ ==<br />
==== '''How to enable WiFi/BT support, if missing? How to configure RSI mode (WiFi alone, Bluetooth, ...)?''' ====<br />
The needed sdmmc3 interface will be activated by the stm32mp15xx-dhcom-som.dtsi file. This is included by default with picoITX, PDK2 and DRC02 configuration.<br />
<br />
Next to this the kernel module is needed. The Yocto build instructions can be found at the following file: <br />
https://github.com/dh-electronics/meta-dhsom-stm32-bsp/blob/dunfell-3.1/conf/machine/dh-stm32mp1-dhcom-picoitx.conf<br />
<br />
# Ship kernel modules<br />
MACHINE_ESSENTIAL_EXTRA_RDEPENDS += " linux-firmware-rs9116 "<br />
KERNEL_MODULE_AUTOLOAD += " rsi_sdio "<br />
KERNEL_MODULE_PROBECONF += " rsi_sdio "<br />
module_conf_rsi_sdio = "options rsi_sdio dev_oper_mode=1"<br />
<br />
If you are using a different root filesystem (compared to our Yocto configuration) please ensure, that the firmware files and the rsi_sdio.conf file are included in the filesystem:<br />
:[[media:rsi_firmware.zip|rsi_firmware.zip]]<br />
:* Copy the directory rsi to /lib/firmware/<br />
:* Copy the file rsi_sdio.conf to /etc/modprobe.d/<br />
<br />
By default, the RSI module is configured to WiFi alone mode with our Yocto image. The mode can be configured by rsi_sdio.conf file:<br />
According to Linux kernel source, the dev_oper_mode has the following meaning:<br />
linux-2.6$ git grep -n DEV_OPMODE_ drivers/net/wireless/rsi/ [...]<br />
drivers/net/wireless/rsi/rsi_hal.h:21:#define DEV_OPMODE_WIFI_ALONE 1<br />
drivers/net/wireless/rsi/rsi_hal.h:22:#define DEV_OPMODE_BT_ALONE 4<br />
drivers/net/wireless/rsi/rsi_hal.h:23:#define DEV_OPMODE_BT_LE_ALONE 8<br />
drivers/net/wireless/rsi/rsi_hal.h:24:#define DEV_OPMODE_BT_DUAL 12<br />
drivers/net/wireless/rsi/rsi_hal.h:25:#define DEV_OPMODE_STA_BT 5<br />
drivers/net/wireless/rsi/rsi_hal.h:26:#define DEV_OPMODE_STA_BT_LE 9<br />
drivers/net/wireless/rsi/rsi_hal.h:27:#define DEV_OPMODE_STA_BT_DUAL 13<br />
drivers/net/wireless/rsi/rsi_hal.h:28:#define DEV_OPMODE_AP_BT 6<br />
drivers/net/wireless/rsi/rsi_hal.h:29:#define DEV_OPMODE_AP_BT_DUAL 14<br />
<br />
If you like to use Bluetooth alone mode, change dev_oper_mode to 12. Then you can use the standard hci commands. Start with 'hciconfig hci0 up' to activate the interface.<br />
<br />
==== '''USB 1.1 problems: Custom board without USB 2.0 hub inbetween the MP1 USB host port?''' ====<br />
And in that case, have a look at arch/arm/boot/dts/stm32mp15xx-dhcom-picoitx.dtsi and how the OHCI (!) is enabled there. And of course, make sure the kernel config options are enabled accordingly (like for the PicoITX machine)<br />
<br />
{| class="wikitable" | style="width: 100%; color: #000000; background: #FFFFFF;" valign="top" |<br />
|<br />
<tt>meta-dhsom-stm32-bsp$ git grep OHCI</tt><br />
|}<br />
<br />
{| class="wikitable" | style="width: 100%; color: #000000; background: #FFFFFF;" valign="top" |<br />
|<br />
<tt>recipes-kernel/linux/linux-stable/5.10/dh-stm32mp1-common/dh-stm32mp1-dhsom-common.cfg:CONFIG_USB_OHCI_HCD=y</tt><br/><br />
<tt>recipes-kernel/linux/linux-stable/5.10/dh-stm32mp1-common/dh-stm32mp1-dhsom-common.cfg:CONFIG_USB_OHCI_HCD_PLATFORM=y</tt><br />
|}<br />
<br />
arch/arm/boot/dts/stm32mp15xx-dhcom-picoitx.dtsi snippet:<br />
&usbh_ehci {<br />
phys = <&usbphyc_port0>;<br />
status = "okay";<br />
};<br />
<br />
&usbh_ohci { // <---------------- HERE<br />
phys = <&usbphyc_port0>;<br />
status = "okay";<br />
};<br />
<br />
&usbotg_hs {<br />
dr_mode = "otg";<br />
pinctrl-0 = <&usbotg_hs_pins_a>;<br />
pinctrl-names = "default";<br />
phy-names = "usb2-phy";<br />
phys = <&usbphyc_port1 0>;<br />
vbus-supply = <&vbus_otg>;<br />
status = "okay";<br />
};<br />
<br />
&usbphyc {<br />
status = "okay";<br />
};<br />
<br />
&usbphyc_port0 {<br />
phy-supply = <&vdd_usb>;<br />
vdda1v1-supply = <&reg11>;<br />
vdda1v8-supply = <&reg18>;<br />
};<br />
<br />
&usbphyc_port1 {<br />
phy-supply = <&vdd_usb>;<br />
vdda1v1-supply = <&reg11>;<br />
vdda1v8-supply = <&reg18>;<br />
};<br />
<br />
==== '''System stability or USB Host problems?''' ====<br />
If a display with higher resolution and pixel clock > 48 MHz is used, then this can case USB host and/or system stability problems.<br />
<br />
Workaround:<br />
The OSPEEDR must be set to OSPEEDR = 1 for LCD_CLK and OSPEEDR = 0 for all other LTDC signals.<br />
&pinctrl {<br />
ltdc_pins_ customhmi: ltdc-dh-1 {<br />
pins1 {<br />
pinmux = <STM32_PINMUX('I', 14, AF14)>; /* LCD_CLK */<br />
bias-disable;<br />
drive-push-pull;<br />
'''slew-rate = <1>;'''<br />
};<br />
pins2 {<br />
pinmux = <STM32_PINMUX('I', 12, AF14)>, /* LCD_HSYNC */<br />
<STM32_PINMUX('I', 13, AF14)>, /* LCD_VSYNC */<br />
...<br />
<STM32_PINMUX('K', 6, AF14)>; /* LCD_B7 */<br />
bias-disable;<br />
drive-push-pull;<br />
'''slew-rate = <0>;'''<br />
};<br />
};<br />
<br />
ltdc_sleep_pins_ customhmi: ltdc-sleep-dh-1 {<br />
pins {<br />
pinmux = <STM32_PINMUX('I', 14, ANALOG)>, /* LCD_CLK */<br />
...<br />
<STM32_PINMUX('K', 6, ANALOG)>; /* LCD_B7 */<br />
};<br />
}; <br />
};<br />
==== '''USB OTG: Custom board where the USB-OTG port is only used as host?''' ====<br />
<br />
On the DHCOM standard, the second USB port of the STM32MP1 is usually an USB-OTG port. If you have a custom board where you want to use the USB-OTG port in host mode only, you should consider the following:<br />
<br />
The USB-OTG controller on the STM32MP1, DWC2, does support host mode but is rather inefficient (in comparison to a dedicated USB host controller). The following block diagram shows, that it is possible on the STM32MP1 to alter the pinmuxing, so that the USB-OTG port is used with the USB Host controller of the STM32MP1 (instead of using the DWC2 OTG controller): <br />
<br />
Host port#1: EHCI/OHCI controller _________ HS PHY port #1 (SoC balls D+/D- #1)<br />
<br />
<br />
Host port#2: EHCI/OHCI controller __ <br />
\ <br />
|_____ HS PHY port #2 (SoC balls D+/D- #2)<br />
DWC2 OTG controller_________________/|<br />
|<br />
UTIM switch__________________|<br />
<br />
This change can be made in the device tree with disabling the DWC2 controller and adding the second usb_phyc port to the nodes of usbh_ehci and (if applicable) usbh_ohci. These nodes are usually in the .dtsi file of the board (e.g. for the PicoITX: arch/arm/boot/dts/stm32mp15xx-dhcom-picoitx.dtsi). Here a is snippet how this could look like:<br />
<br />
&usbh_ehci {<br />
phys = <&usbphyc_port0>''', <&usbphyc_port1 1>'''; // <-------- HERE<br />
status = "okay";<br />
};<br />
<br />
&usbh_ohci { <br />
phys = <&usbphyc_port0>''', <&usbphyc_port1 1>'''; // <-------- HERE<br />
status = "okay";<br />
};<br />
<br />
&usbotg_hs {<br />
'''status = "disabled";''' // <-------- HERE<br />
};<br />
<br />
&usbphyc {<br />
status = "okay";<br />
};<br />
<br />
&usbphyc_port0 {<br />
phy-supply = <&vdd_usb>;<br />
vdda1v1-supply = <&reg11>;<br />
vdda1v8-supply = <&reg18>;<br />
};<br />
<br />
&usbphyc_port1 {<br />
phy-supply = <&vdd_usb>;<br />
vdda1v1-supply = <&reg11>;<br />
vdda1v8-supply = <&reg18>;<br />
};<br />
<br />
==== '''How to try QtWebengine''' ====<br />
The QtWebengine is part of the DH default images. <br />
Please stop the Weston desktop, before the start of the Browser.<br />
Older images: "systemctl stop weston@root.service" <br />
Newer images: "systemctl stop weston.service"<br />
How to start the Browser:<br />
QT_QPA_PLATFORM=eglfs QT_QPA_EGLFS_ALWAYS_SET_MODE=1 QT_QPA_EGLFS_KMS_CONFIG=/etc/default/qt5-eglfs-kms.json qtwebengine-minimal http://YOUR-TEST-PAGE/ --no-sandbox<br />
<br />
==== '''How is the Browser Perfomance on the STM32MP1?''' ====<br />
[https://wiki.dh-electronics.com/index.php/STM32MP1_Browser_Performance STM32MP1 Browser Performance]</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=COM_iMX6_Linux&diff=3474
COM iMX6 Linux
2021-09-21T09:57:23Z
<p>Christoph: /* Make your own Device Tree for your board */</p>
<hr />
<div>== Storage Layout ==<br />
<br/><br />
::[[Image:DHCM_Boot_Storage_imx6.jpg|500px|DHCOM Boot Storage i.MX6]]<br />
<br/><br />
:[[Image:DHCM_Storage_Layout_imx6.jpg|1000px|DHCOM Storage Layout i.MX6]]<br />
<br />
== Linux virtual machine for development ==<br />
:* Please have a look at: '''[[Virtual Machine for Application Development]]'''<br />
<br />
== Linux Kernel ==<br />
=== Sources: Look at page [[DHCOM iMX6-D2#BSP Sources|i.MX6 BSP Sources]] ===<br />
<br />
=== How to build a Kernel ===<br />
{| class="wikitable" align="center" | style="width: 98%; background: #f3f3f3;" valign="top" |<br />
|<br />
Get sources from Github<br />
{| class="wikitable" style="width: 100%; color: #000000; background: #ffffff;" |<br />
|<br />
1. Start the Console on Linux<br/><br />
2. <tt>''git clone https://github.com/dh-electronics/linux-imx6qdl.git --branch dev/4.4.60_dhcom''</tt><br/><br />
3. <tt>''cd linux-imx6qdl''</tt><br />
|}<br />
Configure and build the Device Tree + Kernel<br />
{| class="wikitable" style="width: 100%; color: #000000; background: #ffffff;" |<br />
| <br />
4. <tt>''ARCH=arm CROSS_COMPILE=/opt/gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- make imx6_dhcom_defconfig''</tt><br/><br />
5. <tt>''ARCH=arm CROSS_COMPILE=/opt/gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- make menuconfig''</tt> (optional: If you want to add/remove Kernel features)<br/><br />
6. <tt>''ARCH=arm CROSS_COMPILE=/opt/gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- make dtbs''</tt><br/><br />
7. <tt>''ARCH=arm CROSS_COMPILE=/opt/gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- make zImage</tt><br />
|}<br />
*The built <font size=5><tt>imx6<font color="#B8A71A">x</font>-dhcom<font color="#0000FF">#</font><font color="#0EC3C1">Y</font>-<font color="#C90646">BOARD</font>.dtb</tt></font> devicetree files are available in <tt>arch/arm/boot/dts</tt><br />
**<font color="#B8A71A">x = s, dl, d, q</font><br />
**<font color="#0000FF"># = 2 for HW200, 3 for HW300, 4 for HW400</font><br />
**<font color="#0EC3C1">Y = B for Base, H for Hi-Speed-Interfaces</font><br />
**<font color="#C90646">BOARD = pdk1, pdk2, ...</font><br />
*The built <tt>zImage</tt> kernel file will you find in <tt>arch/arm/boot</tt><br />
|}<br />
<br />
=== Update the Kernel and Device Tree with U-Boot ===<br />
:Please refere to the [[DHCOM Update Mechanism|DHCOM Update Mechanism for i.MX6]].<br />
<br />
=== Update Kernel and Device Tree on a running Linux ===<br />
{| class="wikitable" align="center" | style="width: 98%; background: #f3f3f3;" valign="top" |<br />
|<br />
==== Kernel ====<br />
{| class="wikitable" style="width: 100%; color: #000000; background: #ffffff;" |<br />
| <br />
'''1.''' Copy the kernel '''zImage''' file to the path '''/boot''' (You can rename it after the Kernel version '''zImage_X.Y.Z''')<br/><br />
'''2.''' Check '''zImage_file''' variable in '''/boot/uLinuxEnv.txt''' (e.g. <tt>'''zImage_file=zImage_4.4.60'''</tt>)<br/><br />
|}<br />
==== Device Tree ====<br />
{| class="wikitable" style="width: 100%; color: #000000; background: #ffffff;" |<br />
|<br />
'''3.''' Copy the Device Tree '''*.dtb''' file to the path '''/boot/dtbs_X.Y.Z'''<br/><br />
'''4.''' Check '''fdt_file''' variable in '''/boot/uLinuxEnv.txt''' (e.g. <tt>'''fdtfile=/dtbs_4.4.60/imx6dl-dhcom4B-pdk2.dtb'''</tt>) <br/><br />
|}<br />
==== Reboot System ====<br />
{| class="wikitable" style="width: 100%; color: #000000; background: #ffffff;" |<br />
|<br />
'''5.''' Restart the system (e.g. <tt>'''reboot'''</tt>)<br />
|}<br />
|}<br />
<br />
=== Make your own Device Tree for your board ===<br />
:The recommended proceeding for making your our Device Tree should be the following:<br />
<br />
:1. Clone the DH Device Tree Board file and change it to fit for your board<br />
::- Based on i.MX6 and PDK1 (works with i.MX6 HW200)<br />
:::<code>imx6qdl-dh_pdk1.dtsi --> imx6qdl-COMPANY_BOARDNAME.dtsi</code><br />
::- Based on i.MX6 and PDK2 (works with i.MX6 HW300)<br />
:::<code>imx6qdl-dh_pdk2.dtsi --> imx6qdl-COMPANY_BOARDNAME.dtsi</code><br />
<br />
:2. Clone the main Device Tree file and change the included boad file to yours<br />
:: E.g. based on i.MX6DL HW300 with PDK2<br />
:::<code>imx6dl-dhcom3B-pdk2.dts --> imx6dl-dhcom3B-BOARDNAME.dts</code><br />
<br />
:3. Add your new main Device Tree file to <code>Makefile</code> (located in the same folder)<br />
<br/><br />
:'''DH Device Tree pattern (Kernel 4.4.x)''':<br />
:[[Image:DHCM_Device_Tree_pattern.jpg|1200px|DHCOM Device Tree pattern]]<br />
<br />
==Debian Rootfilesystem ==<br />
<br />
=== Available Rootfilesystems ===<br />
:Please have a look at the [[DHCOM_iMX6-D2#Download binaries/images | iMX6 Images]] section.<br />
<br />
=== Login ===<br />
:{| class="wikitable" align="center" | style="width: 400px; color: #000000; background: #FFFFFF;" valign="top" |<br />
||<br />
<tt><br />
dhcom login: '''root'''<br/><br />
Password: '''foo'''<br />
</tt><br />
|}<br />
<br />
=== Reboot ===<br />
:{| class="wikitable" align="center" | style="width: 400px; color: #000000; background: #FFFFFF;" valign="top" |<br />
|<tt># reboot</tt><br />
|}<br />
:or<br />
:{| class="wikitable" align="center" | style="width: 400px; color: #000000; background: #FFFFFF;" valign="top" |<br />
|<tt># shutdown -r now</tt><br />
|}<br />
<br />
=== Shutdown ===<br />
:{| class="wikitable" align="center" | style="width: 400px; color: #000000; background: #FFFFFF;" valign="top" |<br />
|<tt># poweroff</tt><br />
|}<br />
:or<br />
:{| class="wikitable" align="center" | style="width: 400px; color: #000000; background: #FFFFFF;" valign="top" |<br />
|<tt># shutdown -h now</tt><br />
|}<br />
:Note: If the watchdog is active, the system will be reset.<br />
<br />
=== Calibrating the touchscreen (only on Debian 6.0) ===<br />
:{| class="wikitable" align="center" | style="width: 400px; color: #000000; background: #FFFFFF;" valign="top" |<br />
|<tt># ts_calibrate</tt><br />
|}<br />
:Check the enviroment variable "TSLIB_TSDEVICE=/dev/input/event0" with <tt> printenv </tt> if an error occurs.<br />
<br />
== Kernel Userspace Interfaces to Access Hardware == <br />
<br />
=== Ethernet Interfaces ===<br />
:{| class="wikitable" style="width: 400px"<br />
||DHCOM ENET 1||<tt>ethsom0</tt><br />
|-<br />
||DHCOM ENET 2||<tt>ethsom1</tt><br />
|}<br />
<br />
=== Serial (UART) Interfaces ===<br />
:{| class="wikitable" style="width: 400px"<br />
||DHCOM (FF) UART 1||<tt>/dev/ttymxc0</tt><br />
|-<br />
||DHCOM (BT) UART 2 ||<tt>/dev/ttymxc4</tt><br />
|-<br />
||DHCOM (STD) UART 3 ||<tt>/dev/ttymxc3</tt><br />
|}<br />
<br />
=== I2C Interfaces ===<br />
:Hardware revision '''300''' and '''newer''' (dhcom3.., dhcom4.., ...)<br />
:{| class="wikitable" style="width: 400px"<br />
||DHCOM I2C 1||<tt>/dev/i2c-1</tt><br />
|-<br />
||DHCOM I2C 2 ||<tt>/dev/i2c-0</tt><br />
|-<br />
||On Module Devices ||<tt>/dev/i2c-2</tt><br />
|}<br />
<br />
:Hardware revision '''100 / 200''' (dhcom1.. / dhcom2..)<br />
:{| class="wikitable" style="width: 400px"<br />
||DHCOM I2C 1||<tt>/dev/i2c-0</tt><br />
|-<br />
||DHCOM I2C 2 ||<tt>/dev/i2c-1</tt><br />
|-<br />
||On Module Devices ||<tt>/dev/i2c-2</tt><br />
|}<br />
<br />
=== SPI Interfaces ===<br />
:{| class="wikitable" style="width: 400px"<br />
||DHCOM SPI 1||<tt>/dev/spidev0.2</tt><br />
|-<br />
||DHCOM SPI 2 ||<tt>/dev/spidev1.0</tt><br />
|}<br />
<br />
:: '''Remark:''' DHCOM SPI1 interface doesn‘t work with DHCOM Premium Developer Kit (HD00013).<br />
::Reason: At DHCOM Premium Developer Kit SPI 1 isn‘t connected, because otherwise i.MX6 doesn‘t boot with the current schematic.<br />
<br />
=== MMC/SD/eMMC Interfaces ===<br />
:{| class="wikitable" style="width: 400px"<br />
||DHCOM SD-Interface ||<tt>/dev/mmcblk0pX</tt><br />
|-<br />
||on module µSD Card ||<tt>/dev/mmcblk1pX</tt><br />
|-<br />
||on module eMMC ||<tt>/dev/mmcblk2pX</tt><br />
|}<br />
<br />
: 'X' has to be replaced with the partition number<br />
<br />
=== Control the display brightness ===<br />
:Set brightness level (X = 0...10)<br />
:{| class="wikitable"<br />
|<tt>''echo X >/sys/class/backlight/display/brightness''</tt><br />
|}<br />
<br />
=== Control GPIOs ===<br />
:See which gpio is already used by the system<br />
:{| class="wikitable"<br />
|<tt>''cat /sys/kernel/debug/gpio &#x007C; grep -v "gpio-... ( "''</tt> <br>or<br> <tt>''gpioinfo &#x007C; grep -v unnamed''</tt><br />
|}<br />
<br />
:{|class="wikitable" style="text-align: center; width: 1000px"<br />
|-<br />
! DHCOM Name: !! alt. DHCOM Name: !! SO-DIMM Pin# !! CPU Pad Name !! Linux <GPIO#> * !! gpiod label (deprecated): !! gpiod label:<br />
|-<br />
| GPIO A || || 154 || PAD_GPIO_2 || 2 || A || DHCOM-A<br />
|-<br />
| GPIO B || || 156 || PAD_GPIO_4 || 4 || B || DHCOM-B<br />
|-<br />
| GPIO C || || 162 || PAD_GPIO_5 || 5 || C || DHCOM-C<br />
|-<br />
| GPIO D || || 163 || PAD_CSI0_DAT17 || 163 || D || DHCOM-D<br />
|-<br />
| GPIO E || || 164 || PAD_GPIO_19 || 101 || E || DHCOM-E<br />
|-<br />
| GPIO F || || 165 || PAD_DI0_PIN4 || 116 || F || DHCOM-F<br />
|-<br />
| GPIO G || || 167 || PAD_EIM_D27 || 91 || G || DHCOM-G<br />
|-<br />
| GPIO H || || 173 || PAD_KEY_ROW0 || 103 || H || DHCOM-H<br />
|-<br />
| GPIO I || || 175 || PAD_KEY_COL1 || 104 || I || DHCOM-I<br />
|-<br />
| GPIO J || CIF HSYNC || 74 || PAD_NANDF_CS1 || 174 || J || DHCOM-J<br />
|-<br />
| GPIO K || CIF PCLK || 72 || PAD_NANDF_CS2 || 175 || K || DHCOM-K<br />
|-<br />
| GPIO L || CIF MCLK || 70 || PAD_KEY_ROW1 || 105 || L || DHCOM-L<br />
|-<br />
| GPIO M || CIF VSYNC || 68 || PAD_SD3_DAT5 || 192 || M || DHCOM-M<br />
|-<br />
| GPIO N || CIF D9 || 66 || PAD_SD3_DAT4 || 193 || N || DHCOM-N<br />
|-<br />
| GPIO O || CIF D8 || 64 || PAD_CSI0_VSYNC || 149 || O || DHCOM-O<br />
|-<br />
| GPIO P || CIF D7 || 62 || PAD_GPIO_18 || 205 || P || DHCOM-P<br />
|-<br />
| GPIO Q || CIF D6 || 60 || PAD_SD1_CMD || 18 || Q || DHCOM-Q<br />
|-<br />
| GPIO R || CIF D5 || 58 || PAD_SD1_DAT0 || 16 || R || DHCOM-R<br />
|-<br />
| GPIO S || CIF D4 || 56 || PAD_SD1_DAT1 || 17 || S || DHCOM-S<br />
|-<br />
| GPIO T || CIF D3 || 54 || PAD_SD1_DAT2 || 19 || T || DHCOM-T<br />
|-<br />
| GPIO U || CIF D2 || 52 || PAD_SD1_CLK || 20 || U || DHCOM-U<br />
|-<br />
| GPIO V || CIF D1 || 50 || PAD_CSI0_PIXCLK || 146 || V || DHCOM-V<br />
|-<br />
| GPIO W || CIF D0 || 48 || PAD_CSI0_MCLK || 147 || W || DHCOM-W<br />
|-<br />
| INT HIGHEST PRIORITY || || 151 || PAD_KEY_COL0|| 102 || INT || DHCOM-INT<br />
|}<br />
:: * = Valid if you didn't change the CONFIG_ARCH_NR_GPIO value in kernel config '''AND''' if your kernel doesn't probe another GPIO controller before the imx6 GPIO controller<br />
:: '''Remark:''' Depending on your board configuration some of the additional gpios shared with the camera interface are not available on your system.<br />
<br />
<br />
:'''GPIO pin configuration'''<br />
:: The default Linux Device Tree pin configurarion of the DHCOM GPIOs A - W is <code>0x400120b0</code><br />
::{| class="wikitable"<br />
|<br />
Pad Mux Register (0x020E_xxxx) = 0x0000_0015<br />
SION: 1 Enabled (Force input path of pad)<br />
MUX_MODE: 0101 ALT5<br />
<br />
Pad Control Register (0x020E_xxxx) = 0x0001_20B0<br />
HYS: 1 Hysteresis enabled (Schmitt trigger input)<br />
==============<br />
PUS: 00 100k Pull Down<br />
PUE: 1 PULL (Pull enabled)<br />
PKE: 0 Disable (Pull/Keeper disabled)<br />
ODE: 0 Disable (Output is CMOS)<br />
RESERVED: 000<br />
--------------<br />
SPEED: 10 imx6: 100MHz (medium)<br />
imx6ull: 100MHz (medium)<br />
DSE: 110 Drive strength imx6: 40 Ohm<br />
imx6ull: 43 Ohm @ 3.3V<br />
RESERVED 00<br />
SRE: 0 SLOW (Slow Slew Rate)<br />
|}<br />
<br />
:'''Controlled by gpiod tools (need Kernel v4.7 or higher)'''<br />
::Set state<br />
::{| class="wikitable"<br />
|<tt>''gpioset $(gpiofind GPIO_LABEL)=0''</tt><br />
|-<br />
|<tt>''gpioset $(gpiofind GPIO_LABEL)=1''</tt><br />
|}<br />
<br />
::Get state<br />
::{| class="wikitable"<br />
|<tt>''gpioget $(gpiofind GPIO_LABEL)''</tt><br />
|-<br />
|<tt>''gpioget $(gpiofind GPIO_LABEL)''</tt><br />
|}<br />
:: '''Remark:''' GPIO_LABEL could be DHCOM-A, DHCOM-B, DHCOM-C, ... see table above<br />
<br />
:'''Controlled by sysfs (since Kernel v4.8 deprecated)'''<br />
::Export<br />
::{| class="wikitable"<br />
|<tt>''echo <GPIO#> >/sys/class/gpio/export''</tt><br />
|}<br />
:: '''Remark:''' Have a look into <tt> /sys/class/gpio/ </tt> for already configured gpios.<br />
::Set direction<br />
::{| class="wikitable"<br />
|<tt>''echo in >/sys/class/gpio/gpio<GPIO#>/direction''</tt><br />
|-<br />
|<tt>''echo out >/sys/class/gpio/gpio<GPIO#>/direction''</tt><br />
|}<br />
<br />
::Set state<br />
::{| class="wikitable"<br />
|<tt>''echo 0 >/sys/class/gpio/gpio<GPIO#>/value''</tt><br />
|-<br />
|<tt>''echo 1 >/sys/class/gpio/gpio<GPIO#>/value''</tt><br />
|}<br />
<br />
::Get state<br />
::{| class="wikitable"<br />
|<tt>''cat /sys/class/gpio/gpio<GPIO#>/value''</tt><br />
|}<br />
<br />
=== Initialize and Test CAN Interface ===<br />
:Initialize:<br />
:{| class="wikitable"<br />
|<tt>''ip link set can0 up type can bitrate 500000''</tt><br />
|}<br />
<br />
:Send test message via cansend (part of can-utils):<br />
:{| class="wikitable"<br />
|<tt>''cansend can0 100#11.2233.44556677.88''</tt><br />
|}<br />
<br />
:Receive can messages (part of can-utils):<br />
:{| class="wikitable"<br />
|<tt>''candump can0''</tt><br />
|}<br />
<br />
:Get can-utils:<br />
:{| class="wikitable"<br />
|<tt>''apt-get install can-utils''</tt><br />
|}<br />
<br />
=== Parallel Address- / Databus ===<br />
<br />
:To use the 16-bit address / databus from Linux userspace you can use the UIO driver interface. To enable and configure the interface it is necessary to setup the WEIM controller with the device tree. See the documentation of the device tree bindings of weim [https://github.com/dh-electronics/linux-imx6qdl/blob/dev/4.4.60_dhcom/Documentation/devicetree/bindings/bus/imx-weim.txt here].<br />
<br />
:Here is an example code which demonstrates how to do enable and configure the WEIM interface (parallel address- / databus):<br />
:{|<br />
|<tt><br />
&weim {<br />
pinctrl-names = "default";<br />
pinctrl-0 = <&pinctrl_dhcom_weim &pinctrl_dhcom_weim_cs0 &pinctrl_dhcom_weim_cs1>;<br />
#address-cells = <2>;<br />
#size-cells = <1>;<br />
/* it is necessary to setup 2x 64MB otherwise setting gpr fails */<br />
ranges = <0 0 0x08000000 0x04000000>, // Chip select 0 == DHCOM CS A<br />
<1 0 0x0c000000 0x04000000>; // Chip select 1 == DHCOM CS B<br />
fsl,weim-cs-gpr = <&gpr>;<br />
status = "okay";<br />
<br />
uiomap_cs0@0,0 {<br />
compatible = "generic-uio";<br />
reg = <0 0x00000000 0x04000000>;<br />
reg-names = "uio_cs0";<br />
interrupt-parent = <&gpio1>;<br />
interrupts = <2 2>; // Add gpio A == interrupt<br />
#address-cells = <1>;<br />
#size-cells = <1>;<br />
fsl,weim-cs-timing = <0x00610089 0x00001002 0x0F011061<br />
0x00000000 0x0F068A31 0x00000000>;<br />
status = "okay";<br />
};<br />
<br />
uiomap_cs1@0,1 {<br />
compatible = "generic-uio";<br />
reg = <1 0x00000000 0x04000000>;<br />
reg-names = "uio_cs1";<br />
interrupt-parent = <&gpio1>;<br />
interrupts = <4 2>; // Add gpio B == interrupt<br />
#address-cells = <1>;<br />
#size-cells = <1>;<br />
fsl,weim-cs-timing = <0x00610089 0x00001002 0x0F011061<br />
0x00000000 0x0F068A31 0x00000000>;<br />
status = "disabled";<br />
};<br />
};<br />
</tt><br />
|}<br />
: We have already written some demo code at [https://github.com/dh-electronics/linux-imx6qdl/blob/dev/4.4.60_dhcom/arch/arm/boot/dts/imx6qdl-dhcom_cfg-weim.dtsi /arch/arm/boot/dts/imx6qdl-dhcom_cfg-weim.dtsi]. It is easy to enable in the matching device-tree file:<br />
::*[https://github.com/dh-electronics/linux-imx6qdl/blob/dev/4.4.60_dhcom/arch/arm/boot/dts/imx6s-dhcom3B-pdk2.dts /arch/arm/boot/dts/imx6s-dhcom3B-pdk2.dts]<br />
::*[https://github.com/dh-electronics/linux-imx6qdl/blob/dev/4.4.60_dhcom/arch/arm/boot/dts/imx6dl-dhcom3B-pdk2.dts /arch/arm/boot/dts/imx6dl-dhcom3B-pdk2.dts]<br />
::*[https://github.com/dh-electronics/linux-imx6qdl/blob/dev/4.4.60_dhcom/arch/arm/boot/dts/imx6d-dhcom3B-pdk2.dts /arch/arm/boot/dts/imx6d-dhcom3B-pdk2.dts]<br />
::*[https://github.com/dh-electronics/linux-imx6qdl/blob/dev/4.4.60_dhcom/arch/arm/boot/dts/imx6q-dhcom3B-pdk2.dts /arch/arm/boot/dts/imx6q-dhcom3B-pdk2.dts]<br />
:{|<br />
| <tt><br />
<font color="#FF1010">- // #include "imx6qdl-dhcom_cfg-weim.dtsi</font><br />
<font color="#00FF10">+ #include "imx6qdl-dhcom_cfg-weim.dtsi </font><br />
</tt><br />
|}<br />
<br />
:To use the generic uio driver it has to be enabled in the kernel configuration (<code>[[#Linux Kernel|make menuconfig]]</code>)<br />
::*Device Drivers -> Userspace I/O Drivers -> Userspace I/O platform driver with generic IRQ handling<br />
: The device-tree of_id of the uio driver has to be set via kernel command line<br />
::*Add "optargs='uio_pdrv_genirq.of_id=generic-uio'" to uLinuxEnv.txt<br />
<br />
:Example for a UIO userspace driver:<br />
:* [[media:uio_access.zip| uio_access.cpp]]<br />
:* for further information have a look at the paper [https://www.osadl.org/fileadmin/dam/rtlws/12/Koch.pdf Userspace I/O drivers in a realtime context]<br />
<br />
=== Configure your own display ===<br />
<br />
:To configure your own display you have to do the following steps:<br />
<br />
:1. Configure your display and build a settings file by our tool DHCOMSettingsGenerator ([[media:DHCOMSettingsGeneratorV2_V2.0.0.2.zip|Download v2.0.0.2]])<br />
<br />
:2. Place generated file into the first partition (label: "boot")<br />
<br />
:3. Create a symbolic link to the file settings.bin ($ ln -s YourSettingsFile.bin settings.bin)<br />
<br />
:Remake: It is still possible to config the display via Device Tree e.g. <code>[https://github.com/dh-electronics/linux-imx6qdl/blob/dev/4.4.60_dhcom/arch/arm/boot/dts/imx6qdl-dh_pdk2.dtsi dev/4.4.60_dhcom/arch/arm/boot/dts/imx6qdl-dh_pdk2.dtsi]</code> (not recommended by DH)<br />
<br/><br />
:'''The following picture showing the sequence and priorities:'''<br />
:[[Image:DHCM_Display_Settings.jpg|1300px|DHCOM Display Settings]]<br />
<br/><br />
For detailed description of the '''display boot args''' please have a look at [[DHCOM iMX6 Bootloader U-Boot#Display and Hardware settings|Display and Hardware settings]] of the iMX6 Bootloader.<br />
<br />
== Additional Information ==<br />
:*[[Linux Kernel Features | Linux Kernel Features ]]<br />
:*[[ELBE Overview| Embedded Linux Build Environment (ELBE)]]</div>
Christoph
https://wiki.dh-electronics.com/index.php?title=COM_iMX6_Linux&diff=3473
COM iMX6 Linux
2021-09-21T09:52:52Z
<p>Christoph: /* Control GPIOs */</p>
<hr />
<div>== Storage Layout ==<br />
<br/><br />
::[[Image:DHCM_Boot_Storage_imx6.jpg|500px|DHCOM Boot Storage i.MX6]]<br />
<br/><br />
:[[Image:DHCM_Storage_Layout_imx6.jpg|1000px|DHCOM Storage Layout i.MX6]]<br />
<br />
== Linux virtual machine for development ==<br />
:* Please have a look at: '''[[Virtual Machine for Application Development]]'''<br />
<br />
== Linux Kernel ==<br />
=== Sources: Look at page [[DHCOM iMX6-D2#BSP Sources|i.MX6 BSP Sources]] ===<br />
<br />
=== How to build a Kernel ===<br />
{| class="wikitable" align="center" | style="width: 98%; background: #f3f3f3;" valign="top" |<br />
|<br />
Get sources from Github<br />
{| class="wikitable" style="width: 100%; color: #000000; background: #ffffff;" |<br />
|<br />
1. Start the Console on Linux<br/><br />
2. <tt>''git clone https://github.com/dh-electronics/linux-imx6qdl.git --branch dev/4.4.60_dhcom''</tt><br/><br />
3. <tt>''cd linux-imx6qdl''</tt><br />
|}<br />
Configure and build the Device Tree + Kernel<br />
{| class="wikitable" style="width: 100%; color: #000000; background: #ffffff;" |<br />
| <br />
4. <tt>''ARCH=arm CROSS_COMPILE=/opt/gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- make imx6_dhcom_defconfig''</tt><br/><br />
5. <tt>''ARCH=arm CROSS_COMPILE=/opt/gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- make menuconfig''</tt> (optional: If you want to add/remove Kernel features)<br/><br />
6. <tt>''ARCH=arm CROSS_COMPILE=/opt/gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- make dtbs''</tt><br/><br />
7. <tt>''ARCH=arm CROSS_COMPILE=/opt/gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- make zImage</tt><br />
|}<br />
*The built <font size=5><tt>imx6<font color="#B8A71A">x</font>-dhcom<font color="#0000FF">#</font><font color="#0EC3C1">Y</font>-<font color="#C90646">BOARD</font>.dtb</tt></font> devicetree files are available in <tt>arch/arm/boot/dts</tt><br />
**<font color="#B8A71A">x = s, dl, d, q</font><br />
**<font color="#0000FF"># = 2 for HW200, 3 for HW300, 4 for HW400</font><br />
**<font color="#0EC3C1">Y = B for Base, H for Hi-Speed-Interfaces</font><br />
**<font color="#C90646">BOARD = pdk1, pdk2, ...</font><br />
*The built <tt>zImage</tt> kernel file will you find in <tt>arch/arm/boot</tt><br />
|}<br />
<br />
=== Update the Kernel and Device Tree with U-Boot ===<br />
:Please refere to the [[DHCOM Update Mechanism|DHCOM Update Mechanism for i.MX6]].<br />
<br />
=== Update Kernel and Device Tree on a running Linux ===<br />
{| class="wikitable" align="center" | style="width: 98%; background: #f3f3f3;" valign="top" |<br />
|<br />
==== Kernel ====<br />
{| class="wikitable" style="width: 100%; color: #000000; background: #ffffff;" |<br />
| <br />
'''1.''' Copy the kernel '''zImage''' file to the path '''/boot''' (You can rename it after the Kernel version '''zImage_X.Y.Z''')<br/><br />
'''2.''' Check '''zImage_file''' variable in '''/boot/uLinuxEnv.txt''' (e.g. <tt>'''zImage_file=zImage_4.4.60'''</tt>)<br/><br />
|}<br />
==== Device Tree ====<br />
{| class="wikitable" style="width: 100%; color: #000000; background: #ffffff;" |<br />
|<br />
'''3.''' Copy the Device Tree '''*.dtb''' file to the path '''/boot/dtbs_X.Y.Z'''<br/><br />
'''4.''' Check '''fdt_file''' variable in '''/boot/uLinuxEnv.txt''' (e.g. <tt>'''fdtfile=/dtbs_4.4.60/imx6dl-dhcom4B-pdk2.dtb'''</tt>) <br/><br />
|}<br />
==== Reboot System ====<br />
{| class="wikitable" style="width: 100%; color: #000000; background: #ffffff;" |<br />
|<br />
'''5.''' Restart the system (e.g. <tt>'''reboot'''</tt>)<br />
|}<br />
|}<br />
<br />
=== Make your own Device Tree for your board ===<br />
:The recommended proceeding for making your our Device Tree should be the following:<br />
<br />
:1. Clone the DH Device Tree Board file and change it to fit for your board<br />
::- Based on i.MX6 and PDK1 (works with i.MX6 HW200)<br />
:::<code>imx6qdl-dh_pdk1.dtsi --> imx6qdl-COMPANY_BOARDNAME.dtsi</code><br />
::- Based on i.MX6 and PDK2 (works with i.MX6 HW300)<br />
:::<code>imx6qdl-dh_pdk2.dtsi --> imx6qdl-COMPANY_BOARDNAME.dtsi</code><br />
<br />
:2. Clone the main Device Tree file and change the included boad file to yours<br />
:: E.g. based on i.MX6DL HW300 with PDK2<br />
:::<code>imx6dl-dhcom3B-pdk2.dts --> imx6dl-dhcom3B-BOARDNAME.dts</code><br />
<br />
:3. Add your new main Device Tree file to <code>Makefile</code> (located in the same folder)<br />
<br/><br />
:'''DH Device Tree pattern''':<br />
:[[Image:DHCM_Device_Tree_pattern.jpg|1200px|DHCOM Device Tree pattern]]<br />
<br />
==Debian Rootfilesystem ==<br />
<br />
=== Available Rootfilesystems ===<br />
:Please have a look at the [[DHCOM_iMX6-D2#Download binaries/images | iMX6 Images]] section.<br />
<br />
=== Login ===<br />
:{| class="wikitable" align="center" | style="width: 400px; color: #000000; background: #FFFFFF;" valign="top" |<br />
||<br />
<tt><br />
dhcom login: '''root'''<br/><br />
Password: '''foo'''<br />
</tt><br />
|}<br />
<br />
=== Reboot ===<br />
:{| class="wikitable" align="center" | style="width: 400px; color: #000000; background: #FFFFFF;" valign="top" |<br />
|<tt># reboot</tt><br />
|}<br />
:or<br />
:{| class="wikitable" align="center" | style="width: 400px; color: #000000; background: #FFFFFF;" valign="top" |<br />
|<tt># shutdown -r now</tt><br />
|}<br />
<br />
=== Shutdown ===<br />
:{| class="wikitable" align="center" | style="width: 400px; color: #000000; background: #FFFFFF;" valign="top" |<br />
|<tt># poweroff</tt><br />
|}<br />
:or<br />
:{| class="wikitable" align="center" | style="width: 400px; color: #000000; background: #FFFFFF;" valign="top" |<br />
|<tt># shutdown -h now</tt><br />
|}<br />
:Note: If the watchdog is active, the system will be reset.<br />
<br />
=== Calibrating the touchscreen (only on Debian 6.0) ===<br />
:{| class="wikitable" align="center" | style="width: 400px; color: #000000; background: #FFFFFF;" valign="top" |<br />
|<tt># ts_calibrate</tt><br />
|}<br />
:Check the enviroment variable "TSLIB_TSDEVICE=/dev/input/event0" with <tt> printenv </tt> if an error occurs.<br />
<br />
== Kernel Userspace Interfaces to Access Hardware == <br />
<br />
=== Ethernet Interfaces ===<br />
:{| class="wikitable" style="width: 400px"<br />
||DHCOM ENET 1||<tt>ethsom0</tt><br />
|-<br />
||DHCOM ENET 2||<tt>ethsom1</tt><br />
|}<br />
<br />
=== Serial (UART) Interfaces ===<br />
:{| class="wikitable" style="width: 400px"<br />
||DHCOM (FF) UART 1||<tt>/dev/ttymxc0</tt><br />
|-<br />
||DHCOM (BT) UART 2 ||<tt>/dev/ttymxc4</tt><br />
|-<br />
||DHCOM (STD) UART 3 ||<tt>/dev/ttymxc3</tt><br />
|}<br />
<br />
=== I2C Interfaces ===<br />
:Hardware revision '''300''' and '''newer''' (dhcom3.., dhcom4.., ...)<br />
:{| class="wikitable" style="width: 400px"<br />
||DHCOM I2C 1||<tt>/dev/i2c-1</tt><br />
|-<br />
||DHCOM I2C 2 ||<tt>/dev/i2c-0</tt><br />
|-<br />
||On Module Devices ||<tt>/dev/i2c-2</tt><br />
|}<br />
<br />
:Hardware revision '''100 / 200''' (dhcom1.. / dhcom2..)<br />
:{| class="wikitable" style="width: 400px"<br />
||DHCOM I2C 1||<tt>/dev/i2c-0</tt><br />
|-<br />
||DHCOM I2C 2 ||<tt>/dev/i2c-1</tt><br />
|-<br />
||On Module Devices ||<tt>/dev/i2c-2</tt><br />
|}<br />
<br />
=== SPI Interfaces ===<br />
:{| class="wikitable" style="width: 400px"<br />
||DHCOM SPI 1||<tt>/dev/spidev0.2</tt><br />
|-<br />
||DHCOM SPI 2 ||<tt>/dev/spidev1.0</tt><br />
|}<br />
<br />
:: '''Remark:''' DHCOM SPI1 interface doesn‘t work with DHCOM Premium Developer Kit (HD00013).<br />
::Reason: At DHCOM Premium Developer Kit SPI 1 isn‘t connected, because otherwise i.MX6 doesn‘t boot with the current schematic.<br />
<br />
=== MMC/SD/eMMC Interfaces ===<br />
:{| class="wikitable" style="width: 400px"<br />
||DHCOM SD-Interface ||<tt>/dev/mmcblk0pX</tt><br />
|-<br />
||on module µSD Card ||<tt>/dev/mmcblk1pX</tt><br />
|-<br />
||on module eMMC ||<tt>/dev/mmcblk2pX</tt><br />
|}<br />
<br />
: 'X' has to be replaced with the partition number<br />
<br />
=== Control the display brightness ===<br />
:Set brightness level (X = 0...10)<br />
:{| class="wikitable"<br />
|<tt>''echo X >/sys/class/backlight/display/brightness''</tt><br />
|}<br />
<br />
=== Control GPIOs ===<br />
:See which gpio is already used by the system<br />
:{| class="wikitable"<br />
|<tt>''cat /sys/kernel/debug/gpio &#x007C; grep -v "gpio-... ( "''</tt> <br>or<br> <tt>''gpioinfo &#x007C; grep -v unnamed''</tt><br />
|}<br />
<br />
:{|class="wikitable" style="text-align: center; width: 1000px"<br />
|-<br />
! DHCOM Name: !! alt. DHCOM Name: !! SO-DIMM Pin# !! CPU Pad Name !! Linux <GPIO#> * !! gpiod label (deprecated): !! gpiod label:<br />
|-<br />
| GPIO A || || 154 || PAD_GPIO_2 || 2 || A || DHCOM-A<br />
|-<br />
| GPIO B || || 156 || PAD_GPIO_4 || 4 || B || DHCOM-B<br />
|-<br />
| GPIO C || || 162 || PAD_GPIO_5 || 5 || C || DHCOM-C<br />
|-<br />
| GPIO D || || 163 || PAD_CSI0_DAT17 || 163 || D || DHCOM-D<br />
|-<br />
| GPIO E || || 164 || PAD_GPIO_19 || 101 || E || DHCOM-E<br />
|-<br />
| GPIO F || || 165 || PAD_DI0_PIN4 || 116 || F || DHCOM-F<br />
|-<br />
| GPIO G || || 167 || PAD_EIM_D27 || 91 || G || DHCOM-G<br />
|-<br />
| GPIO H || || 173 || PAD_KEY_ROW0 || 103 || H || DHCOM-H<br />
|-<br />
| GPIO I || || 175 || PAD_KEY_COL1 || 104 || I || DHCOM-I<br />
|-<br />
| GPIO J || CIF HSYNC || 74 || PAD_NANDF_CS1 || 174 || J || DHCOM-J<br />
|-<br />
| GPIO K || CIF PCLK || 72 || PAD_NANDF_CS2 || 175 || K || DHCOM-K<br />
|-<br />
| GPIO L || CIF MCLK || 70 || PAD_KEY_ROW1 || 105 || L || DHCOM-L<br />
|-<br />
| GPIO M || CIF VSYNC || 68 || PAD_SD3_DAT5 || 192 || M || DHCOM-M<br />
|-<br />
| GPIO N || CIF D9 || 66 || PAD_SD3_DAT4 || 193 || N || DHCOM-N<br />
|-<br />
| GPIO O || CIF D8 || 64 || PAD_CSI0_VSYNC || 149 || O || DHCOM-O<br />
|-<br />
| GPIO P || CIF D7 || 62 || PAD_GPIO_18 || 205 || P || DHCOM-P<br />
|-<br />
| GPIO Q || CIF D6 || 60 || PAD_SD1_CMD || 18 || Q || DHCOM-Q<br />
|-<br />
| GPIO R || CIF D5 || 58 || PAD_SD1_DAT0 || 16 || R || DHCOM-R<br />
|-<br />
| GPIO S || CIF D4 || 56 || PAD_SD1_DAT1 || 17 || S || DHCOM-S<br />
|-<br />
| GPIO T || CIF D3 || 54 || PAD_SD1_DAT2 || 19 || T || DHCOM-T<br />
|-<br />
| GPIO U || CIF D2 || 52 || PAD_SD1_CLK || 20 || U || DHCOM-U<br />
|-<br />
| GPIO V || CIF D1 || 50 || PAD_CSI0_PIXCLK || 146 || V || DHCOM-V<br />
|-<br />
| GPIO W || CIF D0 || 48 || PAD_CSI0_MCLK || 147 || W || DHCOM-W<br />
|-<br />
| INT HIGHEST PRIORITY || || 151 || PAD_KEY_COL0|| 102 || INT || DHCOM-INT<br />
|}<br />
:: * = Valid if you didn't change the CONFIG_ARCH_NR_GPIO value in kernel config '''AND''' if your kernel doesn't probe another GPIO controller before the imx6 GPIO controller<br />
:: '''Remark:''' Depending on your board configuration some of the additional gpios shared with the camera interface are not available on your system.<br />
<br />
<br />
:'''GPIO pin configuration'''<br />
:: The default Linux Device Tree pin configurarion of the DHCOM GPIOs A - W is <code>0x400120b0</code><br />
::{| class="wikitable"<br />
|<br />
Pad Mux Register (0x020E_xxxx) = 0x0000_0015<br />
SION: 1 Enabled (Force input path of pad)<br />
MUX_MODE: 0101 ALT5<br />
<br />
Pad Control Register (0x020E_xxxx) = 0x0001_20B0<br />
HYS: 1 Hysteresis enabled (Schmitt trigger input)<br />
==============<br />
PUS: 00 100k Pull Down<br />
PUE: 1 PULL (Pull enabled)<br />
PKE: 0 Disable (Pull/Keeper disabled)<br />
ODE: 0 Disable (Output is CMOS)<br />
RESERVED: 000<br />
--------------<br />
SPEED: 10 imx6: 100MHz (medium)<br />
imx6ull: 100MHz (medium)<br />
DSE: 110 Drive strength imx6: 40 Ohm<br />
imx6ull: 43 Ohm @ 3.3V<br />
RESERVED 00<br />
SRE: 0 SLOW (Slow Slew Rate)<br />
|}<br />
<br />
:'''Controlled by gpiod tools (need Kernel v4.7 or higher)'''<br />
::Set state<br />
::{| class="wikitable"<br />
|<tt>''gpioset $(gpiofind GPIO_LABEL)=0''</tt><br />
|-<br />
|<tt>''gpioset $(gpiofind GPIO_LABEL)=1''</tt><br />
|}<br />
<br />
::Get state<br />
::{| class="wikitable"<br />
|<tt>''gpioget $(gpiofind GPIO_LABEL)''</tt><br />
|-<br />
|<tt>''gpioget $(gpiofind GPIO_LABEL)''</tt><br />
|}<br />
:: '''Remark:''' GPIO_LABEL could be DHCOM-A, DHCOM-B, DHCOM-C, ... see table above<br />
<br />
:'''Controlled by sysfs (since Kernel v4.8 deprecated)'''<br />
::Export<br />
::{| class="wikitable"<br />
|<tt>''echo <GPIO#> >/sys/class/gpio/export''</tt><br />
|}<br />
:: '''Remark:''' Have a look into <tt> /sys/class/gpio/ </tt> for already configured gpios.<br />
::Set direction<br />
::{| class="wikitable"<br />
|<tt>''echo in >/sys/class/gpio/gpio<GPIO#>/direction''</tt><br />
|-<br />
|<tt>''echo out >/sys/class/gpio/gpio<GPIO#>/direction''</tt><br />
|}<br />
<br />
::Set state<br />
::{| class="wikitable"<br />
|<tt>''echo 0 >/sys/class/gpio/gpio<GPIO#>/value''</tt><br />
|-<br />
|<tt>''echo 1 >/sys/class/gpio/gpio<GPIO#>/value''</tt><br />
|}<br />
<br />
::Get state<br />
::{| class="wikitable"<br />
|<tt>''cat /sys/class/gpio/gpio<GPIO#>/value''</tt><br />
|}<br />
<br />
=== Initialize and Test CAN Interface ===<br />
:Initialize:<br />
:{| class="wikitable"<br />
|<tt>''ip link set can0 up type can bitrate 500000''</tt><br />
|}<br />
<br />
:Send test message via cansend (part of can-utils):<br />
:{| class="wikitable"<br />
|<tt>''cansend can0 100#11.2233.44556677.88''</tt><br />
|}<br />
<br />
:Receive can messages (part of can-utils):<br />
:{| class="wikitable"<br />
|<tt>''candump can0''</tt><br />
|}<br />
<br />
:Get can-utils:<br />
:{| class="wikitable"<br />
|<tt>''apt-get install can-utils''</tt><br />
|}<br />
<br />
=== Parallel Address- / Databus ===<br />
<br />
:To use the 16-bit address / databus from Linux userspace you can use the UIO driver interface. To enable and configure the interface it is necessary to setup the WEIM controller with the device tree. See the documentation of the device tree bindings of weim [https://github.com/dh-electronics/linux-imx6qdl/blob/dev/4.4.60_dhcom/Documentation/devicetree/bindings/bus/imx-weim.txt here].<br />
<br />
:Here is an example code which demonstrates how to do enable and configure the WEIM interface (parallel address- / databus):<br />
:{|<br />
|<tt><br />
&weim {<br />
pinctrl-names = "default";<br />
pinctrl-0 = <&pinctrl_dhcom_weim &pinctrl_dhcom_weim_cs0 &pinctrl_dhcom_weim_cs1>;<br />
#address-cells = <2>;<br />
#size-cells = <1>;<br />
/* it is necessary to setup 2x 64MB otherwise setting gpr fails */<br />
ranges = <0 0 0x08000000 0x04000000>, // Chip select 0 == DHCOM CS A<br />
<1 0 0x0c000000 0x04000000>; // Chip select 1 == DHCOM CS B<br />
fsl,weim-cs-gpr = <&gpr>;<br />
status = "okay";<br />
<br />
uiomap_cs0@0,0 {<br />
compatible = "generic-uio";<br />
reg = <0 0x00000000 0x04000000>;<br />
reg-names = "uio_cs0";<br />
interrupt-parent = <&gpio1>;<br />
interrupts = <2 2>; // Add gpio A == interrupt<br />
#address-cells = <1>;<br />
#size-cells = <1>;<br />
fsl,weim-cs-timing = <0x00610089 0x00001002 0x0F011061<br />
0x00000000 0x0F068A31 0x00000000>;<br />
status = "okay";<br />
};<br />
<br />
uiomap_cs1@0,1 {<br />
compatible = "generic-uio";<br />
reg = <1 0x00000000 0x04000000>;<br />
reg-names = "uio_cs1";<br />
interrupt-parent = <&gpio1>;<br />
interrupts = <4 2>; // Add gpio B == interrupt<br />
#address-cells = <1>;<br />
#size-cells = <1>;<br />
fsl,weim-cs-timing = <0x00610089 0x00001002 0x0F011061<br />
0x00000000 0x0F068A31 0x00000000>;<br />
status = "disabled";<br />
};<br />
};<br />
</tt><br />
|}<br />
: We have already written some demo code at [https://github.com/dh-electronics/linux-imx6qdl/blob/dev/4.4.60_dhcom/arch/arm/boot/dts/imx6qdl-dhcom_cfg-weim.dtsi /arch/arm/boot/dts/imx6qdl-dhcom_cfg-weim.dtsi]. It is easy to enable in the matching device-tree file:<br />
::*[https://github.com/dh-electronics/linux-imx6qdl/blob/dev/4.4.60_dhcom/arch/arm/boot/dts/imx6s-dhcom3B-pdk2.dts /arch/arm/boot/dts/imx6s-dhcom3B-pdk2.dts]<br />
::*[https://github.com/dh-electronics/linux-imx6qdl/blob/dev/4.4.60_dhcom/arch/arm/boot/dts/imx6dl-dhcom3B-pdk2.dts /arch/arm/boot/dts/imx6dl-dhcom3B-pdk2.dts]<br />
::*[https://github.com/dh-electronics/linux-imx6qdl/blob/dev/4.4.60_dhcom/arch/arm/boot/dts/imx6d-dhcom3B-pdk2.dts /arch/arm/boot/dts/imx6d-dhcom3B-pdk2.dts]<br />
::*[https://github.com/dh-electronics/linux-imx6qdl/blob/dev/4.4.60_dhcom/arch/arm/boot/dts/imx6q-dhcom3B-pdk2.dts /arch/arm/boot/dts/imx6q-dhcom3B-pdk2.dts]<br />
:{|<br />
| <tt><br />
<font color="#FF1010">- // #include "imx6qdl-dhcom_cfg-weim.dtsi</font><br />
<font color="#00FF10">+ #include "imx6qdl-dhcom_cfg-weim.dtsi </font><br />
</tt><br />
|}<br />
<br />
:To use the generic uio driver it has to be enabled in the kernel configuration (<code>[[#Linux Kernel|make menuconfig]]</code>)<br />
::*Device Drivers -> Userspace I/O Drivers -> Userspace I/O platform driver with generic IRQ handling<br />
: The device-tree of_id of the uio driver has to be set via kernel command line<br />
::*Add "optargs='uio_pdrv_genirq.of_id=generic-uio'" to uLinuxEnv.txt<br />
<br />
:Example for a UIO userspace driver:<br />
:* [[media:uio_access.zip| uio_access.cpp]]<br />
:* for further information have a look at the paper [https://www.osadl.org/fileadmin/dam/rtlws/12/Koch.pdf Userspace I/O drivers in a realtime context]<br />
<br />
=== Configure your own display ===<br />
<br />
:To configure your own display you have to do the following steps:<br />
<br />
:1. Configure your display and build a settings file by our tool DHCOMSettingsGenerator ([[media:DHCOMSettingsGeneratorV2_V2.0.0.2.zip|Download v2.0.0.2]])<br />
<br />
:2. Place generated file into the first partition (label: "boot")<br />
<br />
:3. Create a symbolic link to the file settings.bin ($ ln -s YourSettingsFile.bin settings.bin)<br />
<br />
:Remake: It is still possible to config the display via Device Tree e.g. <code>[https://github.com/dh-electronics/linux-imx6qdl/blob/dev/4.4.60_dhcom/arch/arm/boot/dts/imx6qdl-dh_pdk2.dtsi dev/4.4.60_dhcom/arch/arm/boot/dts/imx6qdl-dh_pdk2.dtsi]</code> (not recommended by DH)<br />
<br/><br />
:'''The following picture showing the sequence and priorities:'''<br />
:[[Image:DHCM_Display_Settings.jpg|1300px|DHCOM Display Settings]]<br />
<br/><br />
For detailed description of the '''display boot args''' please have a look at [[DHCOM iMX6 Bootloader U-Boot#Display and Hardware settings|Display and Hardware settings]] of the iMX6 Bootloader.<br />
<br />
== Additional Information ==<br />
:*[[Linux Kernel Features | Linux Kernel Features ]]<br />
:*[[ELBE Overview| Embedded Linux Build Environment (ELBE)]]</div>
Christoph