RP5 & WaveShare 4.3 inch DSI LCD didn’t work

Hey @nerd , @ Wheaten

OK.

Kind Regards

@Wheaten, @Piteros,

What do you get from commands:

sudo cat /sys/kernel/debug/devices_deferred
sudo ls -la /sys/kernel/debug/device_component/

Lets “nudge” the framebuffer. Edit /boot/cmdline.txt and prepend (add at beginning of the line):

video=DSI-1:800x480M@60

The beginning of the line will look like:

video=DSI-1:800x480M@60 splash plymouth.ignore-serial-consoles

Kind Regards,

volumio@volumio-5:~$ sudo cat /sys/kernel/debug/devices_deferred
[sudo] password for volumio:
100000001.panel_disp
1f00130000.dsi.0 mipi-dsi: supplier 100000002.reg_bridge not ready
100000002.reg_bridge reg-fixed-voltage: can’t get GPIO
4-0038 i2c: supplier 4-0045 not ready

volumio@volumio-5:~$ sudo ls -la /sys/kernel/debug/device_component/
total 0
drwxr-xr-x 2 root root 0 Jan 1 1970 .
drwx------ 41 root root 0 Jan 1 1970 …
-r–r–r-- 1 root root 0 Sep 9 10:00 axi:gpu

Then I did this:
I added video=DSI-1:800x480M@60 to /boot/cmdline.txt. After restart LCD and touch don’t work.

Right, this is i2c_designware controller breaks a pulse in ACK signal on the I2C bus.
Discussed here:
https://forums.raspberrypi.com/viewtopic.php?t=366281
Reported here:

Will discuss this with devs internally.

Kind Regards,

@Wheaten,

You have rev 2.2 of the DSI board - what are your results?

Kind Regards,

volumio@rpi5:~$ sudo cat /sys/kernel/debug/devices_deferred
[sudo] password for volumio:
100000001.panel_disp
1f00130000.dsi.0        mipi-dsi: supplier 100000002.reg_bridge not ready
100000002.reg_bridge    reg-fixed-voltage: can't get GPIO
4-0038  i2c: supplier 4-0045 not ready

volumio@rpi5:~$ sudo ls -la /sys/kernel/debug/device_component/
[sudo] password for volumio:
total 0
drwxr-xr-x  2 root root 0 Jan  1  1970 .
drwx------ 41 root root 0 Jan  1  1970 ..
-r--r--r--  1 root root 0 Sep  8 17:11 axi:gpu
bash-5.0# ls -als /sys/kernel/debug/
total 0
0 drwx------ 41 root root 0 Jan  1  1970 .
0 drwxr-xr-x 14 root root 0 Jan  1  1970 ..
0 drwxr-xr-x  4 root root 0 Sep  8 17:11 asoc
0 drwxr-xr-x  3 root root 0 Jan  1  1970 bcm7271-uart
0 drwxr-xr-x 27 root root 0 Jan  1  1970 bdi
0 drwxr-xr-x  3 root root 0 Jan  1  1970 binder
0 drwxr-xr-x 27 root root 0 Jan  1  1970 block
0 drwxr-xr-x  3 root root 0 Sep  8 17:11 bluetooth
0 drwxr-xr-x  4 root root 0 Jan  1  1970 cec
0 --w-------  1 root root 0 Jan  1  1970 clear_warn_once
0 drwxr-xr-x 64 root root 0 Jan  1  1970 clk
0 -rw-r--r--  1 root root 0 Jan  1  1970 debug_enabled
0 drwxr-xr-x  2 root root 0 Jan  1  1970 device_component
0 -r--r--r--  1 root root 0 Jan  1  1970 devices_deferred
0 drwxr-xr-x  2 root root 0 Jan  1  1970 dma_buf
0 drwxr-xr-x  2 root root 0 Jan  1  1970 dma_pools
0 drwxr-xr-x  5 root root 0 Jan  1  1970 dmaengine
0 drwxr-xr-x  6 root root 0 Jan  1  1970 dri
0 drwxr-xr-x  2 root root 0 Jan  1  1970 extfrag
0 drwxr-xr-x  2 root root 0 Jan  1  1970 f2fs
0 -rw-r--r--  1 root root 0 Jan  1  1970 fault_around_bytes
0 drwxr-xr-x  2 root root 0 Jan  1  1970 frontswap
0 -r--r--r--  1 root root 0 Jan  1  1970 gpio
0 drwxr-xr-x  2 root root 0 Jan  1  1970 hid
0 drwxr-xr-x  3 root root 0 Sep  8 17:11 ieee80211
0 drwxr-xr-x  4 root root 0 Jan  1  1970 irq
0 drwxr-xr-x  2 root root 0 Jan  1  1970 kprobes
0 drwxr-xr-x  2 root root 0 Jan  1  1970 kvm
0 -rw-r--r--  1 root root 0 Jan  1  1970 lru_gen
0 -r--r--r--  1 root root 0 Jan  1  1970 lru_gen_full
0 drwxr-xr-x  2 root root 0 Jan  1  1970 memblock
0 drwxr-xr-x  3 root root 0 Jan  1  1970 mmc0
0 drwxr-xr-x  3 root root 0 Jan  1  1970 mmc1
0 drwxr-xr-x  3 root root 0 Jan  1  1970 opp
0 drwxr-xr-x  5 root root 0 Jan  1  1970 pinctrl
0 drwxr-xr-x 38 root root 0 Jan  1  1970 pm_genpd
0 -r--r--r--  1 root root 0 Jan  1  1970 psci
0 -r--r--r--  1 root root 0 Jan  1  1970 pwm
0 drwxr-xr-x  2 root root 0 Jan  1  1970 ramdisk_pages
0 drwxr-xr-x  2 root root 0 Jan  1  1970 ras
0 drwxr-xr-x  3 root root 0 Jan  1  1970 regmap
0 drwxr-xr-x 14 root root 0 Jan  1  1970 regulator
0 drwxr-xr-x  3 root root 0 Jan  1  1970 sched
0 drwxr-xr-x  2 root root 0 Jan  1  1970 slab
0 -r--r--r--  1 root root 0 Jan  1  1970 sleep_time
0 drwxr-xr-x  2 root root 0 Sep  8 17:11 spi-bcm2835-107d004000.spi
0 drwxr-xr-x  2 root root 0 Jan  1  1970 swiotlb
0 dr-xr-xr-x  3 root root 0 Jan  1  1970 tracing
0 drwxr-xr-x  5 root root 0 Jan  1  1970 usb
0 drwxr-xr-x  2 root root 0 Jan  1  1970 vc-mem
0 drwxr-xr-x  2 root root 0 Jan  1  1970 zswap

Adding video=DSI-1:800x480M@60 to /boot/cmdline.txt, no effect

Also when running sudo i2cdetect -y 4 it takes 2-3 minutes to complete. (About 2 seconds per ‘–’)

volumio@rpi5:~$ sudo  i2cdetect -l
i2c-1   i2c             Synopsys DesignWare I2C adapter         I2C adapter
i2c-4   i2c             Synopsys DesignWare I2C adapter         I2C adapter
i2c-11  i2c             107d508200.i2c                          I2C adapter
i2c-12  i2c             107d508280.i2c                          I2C adapter

Hey @Wheaten,

Can you check with static I2C baudrate if the behaviour changes?

Kind Regards,

tried with values between 40000 and 1000000 for xxx, no change in behavior.
dtparam=i2c_arm_baudrate=xxx

After an afternoon of testing we have been able to get DSI screen working on a special build of Volumio.
It is related to the kernel. Working with Linux volumio 6.6.47-v8+ .
No magic overlays, just display_auto_detect=1 :+1:

image

Volumio is working on a release to update the kernel. This is a time consuming exercise, as it involves an update on all plugins that make use of i2C and/or GPIO.
Also see this post for info.

Hello

My LCD started working LCD on Volumio 3.758. Touch also works. In userconfig.txt there must be entered dtoverlay=vc4-kms-dsi-7inch.
I have the Touch display plugin in ver 3.5.0.

Regards
Piotr