Difference between revisions of "Newhaven LVDS Capacitive Display Set"

From Voipac Wiki
Jump to navigation Jump to search
Line 55: Line 55:
  
 
=== Touchscreen test ===
 
=== Touchscreen test ===
Make sure SiS9509 controller is detected and bound as input device:
+
Default Voipac iMX8M Image contain evtest utility to catch touchscreen events. Make sure SiS9509 controller is detected and bound as input device:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
root@imx6-rexultra:~# dmesg | grep -i tsc2007
 
root@imx6-rexultra:~# dmesg | grep -i tsc2007

Revision as of 14:41, 2 June 2022

This section shows information about the Newhaven 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 iMX8M Development Baseboard.
800px

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 1024x600 Pixels display with LVDS interface and Capacitive Touch with SiS9509 controller
  • 4x Hex Standoff Threaded M3 30.00mm long [Manufacturer PN: 971300321]
  • 40 Position flat flex cable 50.80mm long [Manufacturer PN: 0150200427]
  • 6 pin touchscreen flat flex cable
  • necessary spacers

800px

Hardware connection

To enable smooth communication between the board and the display, connect the 40 Position FFC 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 iMX8M Development Baseboard connector LVDS0 NHD (J12) using a 40 Position FFC cable
  • touchscreen connection between iMX8M Development Baseboard connector NHD Touch (J13) and Touchscreen 6 pin FFC cable

LVDS and Touchscreen cable

imx8m LVDS with touchscreen cable for NHD.jpg

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 NHD LVDS0 LCD.

LVDS0 NHD 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-newhaven.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@imx6-rexultra:~# dmesg | grep -i tsc2007
input: TSC2007 Touchscreen as /devices/soc0/soc.0/2100000.aips-bus/21a4000.i2c/i2c-1/1-0048/input/input0
evbug: Connected device: input0 (TSC2007 Touchscreen at 1-0048/input0)

Touchscreen events are generated after pressing the resistive layer:

root@imx6-rexultra:~# evtest /dev/input/by-path/platform-21a4000.i2c-event 
Input driver version is 1.0.1
Input device ID: bus 0x18 vendor 0x0 product 0x0 version 0x0
Input device name: "TSC2007 Touchscreen"
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   3529
      Min        0
      Max     4095
    Event code 1 (ABS_Y)
      Value    375
      Min        0
      Max     4095
    Event code 24 (ABS_PRESSURE)
      Value      0
      Min        0
      Max     4095
Properties:
Testing ... (interrupt to exit)
Event: time 1457899907.959665, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1457899907.959665, type 3 (EV_ABS), code 0 (ABS_X), value 1657
Event: time 1457899907.959665, type 3 (EV_ABS), code 1 (ABS_Y), value 2486
Event: time 1457899907.959665, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 3268
Event: time 1457899907.959665, -------------- EV_SYN ------------
Event: time 1457899907.969094, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
Event: time 1457899907.969094, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 0
Event: time 1457899907.969094, -------------- EV_SYN ------------