7" capacitive screen displaying only partially

Hello,

I am using a 7" capacitive display with the Colibri IMx6 and Aster Carrier Board. Until recently, everything worked correctly. However, now a fraction of the screen isn’t displaying, with a permanent black bar with colored stripes, and the resolution of the remainder of the screen seems degraded. I took a picture:

Is this indicative of hardware damage?

Hi tcm!

Did you made some change into the image related to display timings or the vidargs u-boot parameter?

Do you have any other display that you can test to validate the hardware?

Best regards,
Daniel Morais

Hello @daniel_m.tx, thanks for the response

I didn’t change anything related to the display timings or vidargs parameter. I’m booting using the Torizon VS Code extension.

I tested on another capacitive 7" display and found the same issue. Testing on a common monitor via VGA connection showed no issue.

Hi tcm,

Thanks for the information.

Can you please share with us the output of the following commands?

fw_printenv vidargs
fbset
dmesg | grep video
dmesg | grep fb

Also, do you have any other modules to test? If yes, can you please make a test crossing displays and modules?

Best regards,
Daniel Morais

The output of the commands is as follows:

colibri-imx6-10672463:~$ fw_printenv vidargs
Configuration file wrong or corrupted
colibri-imx6-10672463:~$ fbset

mode "640x480-0"
	# D: 0.000 MHz, H: 0.000 kHz, V: 0.000 Hz
	geometry 640 480 640 480 16
	timings 0 0 0 0 0 0 0
	accel true
	rgba 5/11,6/5,5/0,0/0
endmode

colibri-imx6-10672463:~$ dmesg | grep video
[    0.190113] videodev: Linux video capture interface: v2.00
[    1.890996] ipu1_csi0: Registered ipu1_csi0 capture as /dev/video0
[    1.891192] ipu1_ic_prpenc: Registered ipu1_ic_prpenc capture as /dev/video1
[    1.891365] ipu1_ic_prpvf: Registered ipu1_ic_prpvf capture as /dev/video2
[    1.891763] ipu1_csi1: Registered ipu1_csi1 capture as /dev/video3
[    2.010273] imx-media: Registered ipu_ic_pp csc/scaler as /dev/video4
[   14.218625] coda 2040000.vpu: encoder registered as video5
[   14.218888] coda 2040000.vpu: decoder registered as video6
colibri-imx6-10672463:~$ dmesg | grep fb   
[    0.000000] Linux version 5.4.129-5.4.0-devel+git.55192fb3c235 (oe-user@oe-host) (gcc version 9.3.0 (GCC)) #1-TorizonCore SMP Thu Jul 15 13:32:41 UTC 2021
[    0.000000] Kernel command line: enable_wait_mode=off galcore.contiguousSize=50331648 root=LABEL=otaroot rootfstype=ext4 quiet logo.nologo vt.global_cursor_default=0 plymouth.ignore-serial-consoles splash fbcon=map:3 ostree=/ostree/boot.1/torizon/fd66e7e074be5d86b2b8e61de49fed46eaa2f37e339e644560b5dec8cf7f88cb/0
[    1.659390] imx-drm display-subsystem: fb0: imx-drmdrmfb frame buffer device
colibri-imx6-10672463:~$ 

Meanwhile. while configuring another module for testing, I got the following error:

U-Boot 2016.11-1.7.0+gf4db39ecb6 (Jul 31 2018 - 11:24:02 +0000)

CPU:   Freescale i.MX6DL rev1.4 at 792 MHz
Reset cause: POR
I2C:   ready
DRAM:  512 MiB
PMIC:  device id: 0x10, revision id: 0x21, programmed
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
Using default environment

In:    serial_mxc
Out:   serial_mxc
Err:   serial_mxc
Model: Toradex Colibri iMX6 DualLite 512MB V1.1A, Serial# 10770311
Net:   using PHY at 0
FEC [PRIME]
Hit any key to stop autoboot:  0 
MMC: no card present
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:1...
Found U-Boot script /boot.scr
reading /boot.scr
524 bytes read in 11 ms (45.9 KiB/s)
## Executing script at 17000000
reading /tezi.itb
20807396 bytes read in 584 ms (34 MiB/s)
## Loading kernel from FIT Image at 12200000 ...
   Using 'config@1' configuration
   Trying 'kernel@1' kernel subimage
     Description:  Linux Kernel 4.1
     Type:         Kernel Image
     Compression:  uncompressed
     Data Start:   0x122000dc
     Data Size:    5097296 Bytes = 4.9 MiB
     Architecture: ARM
     OS:           Linux
     Load Address: 0x11000000
     Entry Point:  0x11000000
     Hash algo:    md5
     Hash value:   6b0443dad3a0fbe3e5c49198b76782e4
   Verifying Hash Integrity ... md5+ OK
## Loading ramdisk from FIT Image at 12200000 ...
   Using 'config@1' configuration
   Trying 'ramdisk@1' ramdisk subimage
     Description:  SquashFS RAMdisk
     Type:         RAMDisk Image
     Compression:  uncompressed
     Data Start:   0x126dc914
     Data Size:    15663104 Bytes = 14.9 MiB
     Architecture: ARM
     OS:           Linux
     Load Address: unavailable
     Entry Point:  unavailable
     Hash algo:    md5
     Hash value:   6faf2df2c2eb5ef23680728b1f26b094
   Verifying Hash Integrity ... md5+ OK
## Loading fdt from FIT Image at 12200000 ...
   Using 'config@1' configuration
   Trying 'fdt@1' fdt subimage
     Description:  Colibri iMX6 Device Tree
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x135cc9e0
     Data Size:    45520 Bytes = 44.5 KiB
     Architecture: ARM
     Hash algo:    md5
     Hash value:   cd0cc8dcbf9082218ffc4498613cc416
   Verifying Hash Integrity ... md5+ OK
   Booting using the fdt blob at 0x135cc9e0
   Loading Kernel Image ... OK
   Loading Device Tree to 1fff1000, end 1ffff1cf ... OK

Starting kernel ...

[    0.425390] imx_usb 2184000.usb: Can't register ci_hdrc platform device, err=-517
[    0.762431] snvs-secvio 20cc000.caam-snvs: can't get snvs clock
Running /etc/rc.local...
Colibri-iMX6_ToradexEasyInstaller_1.7-20180731

Welcome to Toradex Easy Installer

This is a Linux based installer for Toradex modules. Currently the
installer does not have a serial console interface. You can use the
Toradex Easy Installer through any of the available display interfaces
using USB mouse/keyboard or via network using VNC. Use:
  # ip addr show eth0
to display the Ethernet IP address or use USB RNDIS at IP 192.168.11.1.

/ # [  152.450586] Alignment trap: not handling instruction e1932f9f at [<7633b69c>]
[  152.457843] Unhandled fault: alignment exception (0x001) at 0x00000065
[  152.464411] pgd = 82270000
[  152.467123] [00000065] *pgd=122ec831, *pte=00000000, *ppte=00000000


Testing with another module and carrier board shows the same issue.

Do you have another display to test?

Yes, I tested with two different capacitive displays, both had the same issue.

Hi tcm,

Can you please try to activate the overlay for your display as described in this article?

Also, can you please share with us the image version you are using?

Best regards,
Daniel Morais

Hi @daniel_m.tx,

I followed the device tree instructions as in this article.

Here is the output of the change check as described in the article:

colibri-imx6-10770311:~$ sudo ostree admin status
Password: 
* torizon 1091d16e3ea648be913e2eda8fd22cd554aff5f74845af215f08e9f502420253.0
    Version: 5.3.0-devel-202105+build.12-tcbuilder.20210909194233
    origin refspec: tcbuilder:1091d16e3ea648be913e2eda8fd22cd554aff5f74845af215f08e9f502420253
  torizon 461951c0105ef54f8e19f7f3044b897f71dbd24f5b0dc2022fd2f91c72774aae.0 (rollback)
    Version: 5.3.0-devel-202105+build.12-tcbuilder.20210909192043
    origin refspec: tcbuilder:461951c0105ef54f8e19f7f3044b897f71dbd24f5b0dc2022fd2f91c72774aae

I imagine that describes the image version.

Hi tcm,

Thanks a lot for the information.

Since you are using Torizon, this is the article you should look into, can you please try to enable the overlay for the Capacitive Touch Display 7" Parallel?

Since the VGA is working, the problem is probably related to the video configuration, please try the overlay as mentioned above and share with us the results.

Best regards,
Daniel Morais

Hi @daniel_m.tx,

I believe I had succesfully applied the overlays. I get the following output:

~/dev/tcbworkdir$ torizoncore-builder dto status
Enabled overlays over device tree imx6dl-colibri-eval-v3.dtb:
- colibri-imx6_atmel-mxt-connector_overlay.dtbo
- display-lt161010_overlay.dtbo

Which are the required overlays according to guide. Indeed, after applying these changes, it seems the situation got worse: the screen locks displaying white with colored lines.

You need to restore the uboot environment to default, it’s corrupted.

env default -a
saveenv

Then instruct the kernel to use the 800x480 driver instead of the 640x480 one:

setenv vidargs video=‘mxsfb:800x480M-16@60’
saveenv
reset

2 Likes

Hi tcm,

Was the problem solved by restoring the uboot environment?

For additional information, you also need to apply the overlay colibri-imx6_parallel-rgb_overlay.dtb to enable the RGB along side the other two overlays.

Best regards,
Daniel Morais

Hi @daniel_m.tx ,

Yes, applying the suggestions from @lkoziarz seemed to have resolved the issue. Thanks for all the support

The Toradex-supplied u-boot can’t detect which of their LCDs is installed, which leads to this problem. Maybe they will take this under advisement in future systems.