KOE LVDS Capacitive Display SetVoipac webshop
This section shows information about the KOE LVDS Capacitive Display Set. The iMX8M Industrial Development Kit in this configuration is equipped with Yocto dunfell, kernel 5.4 to support LVDS display with a touchscreen layer. In this case the display is installed on the top of the iMX Development Baseboard.
Mechanical connection
When combined with the complete iMX8M Industrial Kit, the Display Set creates a compact, ready-to-use solution. To assemble them together, the following mechanical and electrical accessories were designed and selected to be part of the Display set:
- TFT LCD 1920 x 1080 Pixels display (TX18D200VM0EAA) with LVDS interface and Capacitive Touch with SIS9509 controller
- 4x Hex Standoff Threaded M3 35.00mm long [Manufacturer PN: 971350321]
- custom 20-pins LVDS cable, 180mm long. The cable is supply with LCD as set
- custom 2-pins cable for LCD back light, 150mm long. The cable is supply with LCD as set
- necessary spacers
Hardware connection
To enable smooth communication between the board and the display, connect the 20 Position LVDS cable for LCD and 6 pin touchscreen FFC cable. To implement the display capabilities, following connections need to be made:
- connection between LVDS Display and iMX Development Baseboard connector LVDS0 KOE (J14) using a 20 Position LVDS cable
- 2 position back light cable connect to connector J15
- touchscreen connection between iMX Development Baseboard connector KOE Touch (J40) and Touchscreen 6 pin FFC cable
LVDS and Touchscreen cable
Hardware jumpers KOE LVDS
Make sure that configurable 0R resistors are moved to support the KOE LVDS0 interface.
Note: The iMX Development Baseboard in standard configuration is assembled to support the Newhaven / BOE displays by default.
Software instructions
iMX8M Industrial kit is preinstalled with Yocto dunfell operation system enabling LVDS and touchscreen capabilities by default. Manual configuration is necessary, Devicetree in U-Boot have to by set to KOE LVDS0 LCD.
LVDS0 KOE Devicetree in U-Boot
Manually booting with LVDS interface as a primary source for video output:
Fastboot: Normal Normal Boot Hit any key to stop autoboot: 0 u-boot=> u-boot=> u-boot=> u-boot=> u-boot=> u-boot=> fatls mmc 0:1 27787776 Image 48586 imx8mq-evk-voipac-dp.dtb 48793 imx8mq-evk-voipac-hdmi.dtb 49194 imx8mq-evk-voipac-lvds-koe.dtb 49198 imx8mq-evk-voipac-lvds-newhaven.dtb 5 file(s), 0 dir(s) u-boot=> setenv fdt_file imx8mq-evk-voipac-lvds-koe.dtb u-boot=> saveenv Saving Environment to MMC... Writing to MMC(0)... OK u-boot=> u-boot=> boot
Touchscreen test
Default Voipac iMX8M Image contain evtest utility to catch touchscreen events. Make sure SiS9509 controller is detected and bound as input device:
root@imx8mq-voipac:~# dmesg | grep -i SiS
[ 1.566249] usbserial: USB Serial support registered for libtransistor
[ 2.402108] sis_i2c_95xx_ts 1-005c: i2c-1-005c
[ 2.462458] input: SiS Touch as /devices/platform/soc@0/soc@0:bus@30800000/30a30000.i2c/i2c-1/1-005c/input/input1
root@imx8mq-voipac:~#
Touchscreen events are generated after touching capacitive touch screen.
root@imx8mq-voipac:~# evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0: 30370000.snvs:snvs-powerkey
/dev/input/event1: SiS Touch
/dev/input/event2: gpio-buttons
/dev/input/event3: bd718xx-pwrkey
Select the device event number [0-3]: 1
Input driver version is 1.0.1
Input device ID: bus 0x18 vendor 0x0 product 0x0 version 0x0
Input device name: "SiS Touch"
Supported events:
Event type 0 (EV_SYN)
Event type 1 (EV_KEY)
Event code 330 (BTN_TOUCH)
Event type 3 (EV_ABS)
Event code 0 (ABS_X)
Value 0
Min 0
Max 4096
Event code 1 (ABS_Y)
Value 0
Min 0
Max 4096
Event code 24 (ABS_PRESSURE)
Value 0
Min 0
Max 255
Event code 47 (ABS_MT_SLOT)
Value 0
Min 0
Max 9
Event code 48 (ABS_MT_TOUCH_MAJOR)
Value 0
Min 0
Max 255
Event code 53 (ABS_MT_POSITION_X)
Value 0
Min 0
Max 4096
Event code 54 (ABS_MT_POSITION_Y)
Value 0
Min 0
Max 4096
Event code 57 (ABS_MT_TRACKING_ID)
Value 0
Min 0
Max 65535
Event code 58 (ABS_MT_PRESSURE)
Value 0
Min 0
Max 255
Properties:
Property type 1 (INPUT_PROP_DIRECT)
Testing ... (interrupt to exit)
Event: time 1738746899.1738746899, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 0
Event: time 1738746899.1738746899, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 1981
Event: time 1738746899.1738746899, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 2921
Event: time 1738746899.1738746899, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 1
Event: time 1738746899.1738746899, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1738746899.1738746899, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1738746899.1738746899, type 3 (EV_ABS), code 0 (ABS_X), value 1981
Event: time 1738746899.1738746899, type 3 (EV_ABS), code 1 (ABS_Y), value 2921
Event: time 1738746899.1738746899, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 1
Event: time 1738746899.1738746899, -------------- SYN_REPORT ------------
Event: time 1738746899.1738746899, type 3 (EV_ABS), code 47 (ABS_MT_SLOT), value 1
Event: time 1738746899.1738746899, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1738746899.1738746899, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 1389
Event: time 1738746899.1738746899, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 2835
Event: time 1738746899.1738746899, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 1
Event: time 1738746899.1738746899, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1738746899.1738746899, type 3 (EV_ABS), code 0 (ABS_X), value 1389
Event: time 1738746899.1738746899, type 3 (EV_ABS), code 1 (ABS_Y), value 2835
Event: time 1738746899.1738746899, type 3 (EV_ABS), code 0 (ABS_X), value 1981
Event: time 1738746899.1738746899, type 3 (EV_ABS), code 1 (ABS_Y), value 2921
Event: time 1738746899.1738746899, -------------- SYN_REPORT ------------
Event: time 1738746899.1738746899, type 3 (EV_ABS), code 0 (ABS_X), value 1389
Event: time 1738746899.1738746899, type 3 (EV_ABS), code 1 (ABS_Y), value 2835
Event: time 1738746899.1738746899, type 3 (EV_ABS), code 0 (ABS_X), value 1981
Event: time 1738746899.1738746899, type 3 (EV_ABS), code 1 (ABS_Y), value 2921
Event: time 1738746899.1738746899, -------------- SYN_REPORT ------------
Event: time 1738746899.1738746899, type 3 (EV_ABS), code 0 (ABS_X), value 1389
Event: time 1738746899.1738746899, type 3 (EV_ABS), code 1 (ABS_Y), value 2835
Event: time 1738746899.1738746899, type 3 (EV_ABS), code 0 (ABS_X), value 1981
Event: time 1738746899.1738746899, type 3 (EV_ABS), code 1 (ABS_Y), value 2921
Event: time 1738746899.1738746899, -------------- SYN_REPORT ------------
Backlight setting
Backlight can be controlled by following command (highest brightness):
echo 1 > /sys/class/backlight/backlight-koe/brightness