DTB Selection¶
Tip
All production G3 controllers now include an EEPROM that is factory programmed with the proper DTB for your module. This means the DTB setting will survive a full firmware image reflash or update.
The only time you should need to set the DTB on a production module is if you change the display type the controller is attached to, or the EEPROM becomes corrupted for some reason.
The G3 module controller card uses the same embedded Linux image regardless of which supported display or touch controller the specific module includes. In order to access the correct drivers for the display and touch hardware, the system must be told which binary device tree blob (DTB) it should use. This action is only required the first time a new image is flashed to an SD card or eMMC.1
Log in to the G3 module as root, then:
1# to select the DTB for your panel and touch controller
2root@imx6dl-g3-sd:~# fw_setenv mender_dtb_name <dtb-file-name.dtb>
3
4# to activate the selected DTB
5root@imx6dl-g3-sd:~# sync
6root@imx6dl-g3-sd:~# reboot
Footnotes:
- 1
In general, update releases are very infrequent so you may never need to flash a new image and set the DTB variable. Also, the vast majority of G3 modules are shipped pre-assembled with a display and touch controller. Unless you are ordering bare controller cards, the SD card shipped with the unit will have already had the DTB selected and the touch sensor calibrated.
The following tables list the available DTBs as of the writing of this document.
Panel Size |
Touch Sensor |
DTB File |
---|---|---|
5.7" |
Resistive (Evervision) |
imx6dl-g3-5p7-vga-lcd-tsc2046.dtb |
5.7" |
Resistive (KOE) |
imx6dl-g3-5p7-vga-ldb-tsc2046.dtb |
7" |
PCAP |
imx6dl-g3-7-wvga-lcd-focaltech.dtb |
7" |
Resistive |
imx6dl-g3-7-wvga-lcd-tsc2046.dtb |
7" |
Resistive (KOE) |
imx6dl-g3-7-wvga-ldb-tsc2046-inv.dtb |
10.1" |
PCAP |
imx6dl-g3-10p1-wxga-ldb-focaltech.dtb |
10.1" |
Resistive |
imx6dl-g3-10p1-wxga-ldb-tsc2046.dtb |
10.4" |
PCAP/HID |
imx6dl-g3-10p4-xga-ldb-egalax.dtb |
12.1" |
PCAP/HID |
imx6dl-g3-12p1-wxga-ldb-amtouch.dtb |
Panel Size |
Touch Sensor |
DTB File |
---|---|---|
4.3" WQVGA |
Resistive (Innolux) |
stm32mp1-g3msb-4p3-wqvga-tsc2046.dtb |
4.3" WQVGA |
PCAP (Microtips) |
stm32mp1-g3msb-4p3-wqvga-focaltech.dtb |
4.3" WVGA |
PCAP (Microtips) |
stm32mp1-g3msb-4p3-wvga-focaltech.dtb |
5" WVGA |
Resistive (Microtips) |
stm32mp1-g3msb-5-wvga-tsc2046.dtb |
Panel Size |
Touch Sensor |
DTB File |
---|---|---|
4.3" WQVGA |
Resistive (Innolux) |
stm32mp1-g3msg-4p3-wqvga-tsc2046.dtb |
4.3" WQVGA |
PCAP (Microtips) |
stm32mp1-g3msg-4p3-wqvga-focaltech.dtb |
4.3" WVGA |
PCAP (Microtips) |
stm32mp1-g3msg-4p3-wvga-focaltech.dtb |
5" WVGA |
Resistive (Microtips) |
stm32mp1-g3msg-5-wvga-tsc2046.dtb |
As an example, to select the proper DTB for a G3BNG with a 7” display and a PCAP touch sensor:
1# to select the DTB for 7" PCAP
2root@imx6dl-g3-sd:~# fw_setenv mender_dtb_name imx6dl-g3-7-wvga-lcd-focaltech.dtb
3
4# to activate the selected DTB
5root@imx6dl-g3-sd:~# sync
6root@imx6dl-g3-sd:~# reboot
Once your G3 module reboots for the first time after selecting the appropriate DTB, you will have to calibrate the touch sensor. This process starts automatically at the first reboot. The calibration program draws a series of five boxes with internal crosshairs, one at a time. Simply touch the panel at each crosshair as it is displayed. Once the calibration is complete, the G3 module will complete its normal boot process.
Note
The touch sensor calibration application looks different on images that support X11 for the end product application GUI. In the X11 environment, the calibration application is a standard X11 application rather than a direct framebuffer application.