raspberrypi / linux

Kernel source tree for Raspberry Pi-provided kernel builds. Issues unrelated to the linux kernel should be posted on the community forum at https://forums.raspberrypi.com/
Other
10.92k stars 4.91k forks source link

Mipi-dbi-spi display on SPI interface is non-working in X as well as Wayland #5615

Open aBUGSworstnightmare-rpi opened 10 months ago

aBUGSworstnightmare-rpi commented 10 months ago

Describe the bug

I have a small 240x240pixels display with a controller which is MIPI-DBI compliant (ST7789VW). Wrote a custom tinyDRM compliant driver for the display which was only working when booted to CLI; in X I was unable to get the desktop shown on the display. Find details on my custom driver + overlay: here https://forums.raspberrypi.com/viewtopic.php?t=355870

Then decided to switch to the in-tree driver and make use of 'panel-mipi-dbi.c' + it's related overlay instead to check if my custom driver has issues, or, if the result is the same.

I've created a panel.bin file in lib/firmware which has the required initialization commands for my display.

Tested my driver as well as the upstream driver of below kernels; non of them (!) is starting the SPI display in X. The display works when booted to CLI, when booting to GUI it works as long as FW is active, it's switched off/fails when KMS takes over:

Steps to reproduce the behaviour

Display which I'm currently testing with: https://www.waveshare.com/pico-lcd-1.3.htm

Any MIPI-DBI compliant display will do!

1.) Prepare a 'panel.bin' file according to the requirements explained in https://github.com/raspberrypi/linux/blob/cc08810f89e52337a99cc6ae5f53f08588357c5f/drivers/gpu/drm/tiny/panel-mipi-dbi.c The default overlay (https://github.com/raspberrypi/linux/blob/rpi-6.1.y/arch/arm/boot/dts/overlays/mipi-dbi-spi-overlay.dts) expects the file with parameters/commands for initialization from the file 'panel.bin' in '/lib/firmware'

2.) Change config.txt to start the SPI display with the right set of GPIO configuration

3.) see the display working in CLI and failing in X

Device (s)

Raspberry Pi CM4, Raspberry Pi CM4 Lite

System

pi@WaveC-2GB-NVMe:~ $ cat /etc/rpi-issue Raspberry Pi reference 2023-05-03 Generated using pi-gen, https://github.com/RPi-Distro/pi-gen, 7c750947a959fb626a70c09fd17c65815df192ac, stage4

pi@WaveC-2GB-NVMe:~ $ vcgencmd version Apr 25 2023 18:26:03 Copyright (c) 2012 Broadcom version d7f9c2b4ef7e4a8c0b04374a879ce89d7a948453 (clean) (release) (start)

pi@WaveC-2GB-NVMe:~ $ uname -a Linux WaveC-2GB-NVMe 6.5.5-v8+ #1 SMP PREEMPT Tue Sep 26 09:24:49 CEST 2023 aarch64 GNU/Linux

Logs

System Information

Raspberry Pi Compute Module 4 Rev 1.1 PRETTY_NAME="Debian GNU/Linux 11 (bullseye)" NAME="Debian GNU/Linux" VERSION_ID="11" VERSION="11 (bullseye)"

Raspberry Pi reference 2023-05-03 Generated using pi-gen, https://github.com/RPi-Distro/pi-gen, 7c750947a959fb626a70c09fd17c65815df192ac, stage4

Linux WaveC-2GB-NVMe 6.5.5-v8+ #1 SMP PREEMPT Tue Sep 26 09:24:49 CEST 2023 aarch64 GNU/Linux Revision : b03141 Serial : 10000000ec0f48c5 Model : Raspberry Pi Compute Module 4 Rev 1.1 Throttled flag : throttled=0x0 Camera : supported=0 detected=0, libcamera interfaces=0

Videocore information

Apr 25 2023 18:26:03 Copyright (c) 2012 Broadcom version d7f9c2b4ef7e4a8c0b04374a879ce89d7a948453 (clean) (release) (start)

alloc failures: 0 compactions: 0 legacy block fails: 0

Filesystem information

Filesystem 1K-blocks Used Available Use% Mounted on /dev/root 60811100 26957728 30731916 47% / devtmpfs 681504 0 681504 0% /dev tmpfs 945952 0 945952 0% /dev/shm tmpfs 378384 1204 377180 1% /run tmpfs 5120 4 5116 1% /run/lock /dev/mmcblk0p1 258095 93023 165073 37% /boot tmpfs 189188 20 189168 1% /run/user/1000

Filename Type Size Used Priority /var/swap file 102396 0 -2

Package version information

raspberrypi-ui-mods: Installed: 1.20230127 raspberrypi-sys-mods: Installed: 20230510~bullseye openbox: Installed: 3.6.1-9+rpt1+deb11u1 lxpanel: Installed: 0.10.1-2+rpt19 pcmanfm: Installed: 1.3.2-1+rpt9 rpd-plym-splash: Installed: 0.32

Networking Information

eth0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 ether m.m.m.m txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet x.x.x.x netmask x.x.x.x inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1000 (Local Loopback) RX packets 25 bytes 2653 (2.5 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 25 bytes 2653 (2.5 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet x.x.x.x netmask x.x.x.x broadcast x.x.x.x inet6 y::y.y.y.y prefixlen 64 scopeid 0x20 inet6 y::y.y.y.y prefixlen 64 scopeid 0x0 ether m.m.m.m txqueuelen 1000 (Ethernet) RX packets 1465 bytes 175074 (170.9 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 850 bytes 372273 (363.5 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

USB Information

/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc2/1p, 480M |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M

Display Information

Running (F)KMS and X

Screen 0: minimum 320 x 200, current 1024 x 768, maximum 7680 x 7680 HDMI-1 disconnected primary (normal left inverted right x axis y axis) Identifier: 0x45 Timestamp: 9884 Subpixel: unknown Clones:
CRTCs: 3 Transform: 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 filter: Broadcast RGB: Automatic supported: Automatic, Full, Limited 16:235 max bpc: 8 range: (8, 12) bottom margin: 0 range: (0, 100) top margin: 0 range: (0, 100) right margin: 0 range: (0, 100) left margin: 0 range: (0, 100) Colorspace: Default supported: Default, SMPTE_170M_YCC, BT709_YCC, XVYCC_601, XVYCC_709, SYCC_601, opYCC_601, opRGB, BT2020_CYCC, BT2020_RGB, BT2020_YCC, DCI-P3_RGB_D65, DCI-P3_RGB_Theater link-status: Good supported: Good, Bad CONNECTOR_ID: 32 supported: 32 non-desktop: 0 range: (0, 1) HDMI-2 disconnected (normal left inverted right x axis y axis) Identifier: 0x46 Timestamp: 9884 Subpixel: unknown Clones:
CRTCs: 4 Transform: 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 filter: Broadcast RGB: Automatic supported: Automatic, Full, Limited 16:235 max bpc: 8 range: (8, 12) bottom margin: 0 range: (0, 100) top margin: 0 range: (0, 100) right margin: 0 range: (0, 100) left margin: 0 range: (0, 100) Colorspace: Default supported: Default, SMPTE_170M_YCC, BT709_YCC, XVYCC_601, XVYCC_709, SYCC_601, opYCC_601, opRGB, BT2020_CYCC, BT2020_RGB, BT2020_YCC, DCI-P3_RGB_D65, DCI-P3_RGB_Theater link-status: Good supported: Good, Bad CONNECTOR_ID: 41 supported: 41 non-desktop: 0 range: (0, 1)

Connector 0 (32) HDMI-A-1 (disconnected) Encoder 0 (31) TMDS Connector 1 (41) HDMI-A-2 (disconnected) Encoder 1 (40) TMDS

HDMI0: HDMI_HOTPLUG = 0x00000000 HDMI1: HDMI_HOTPLUG = 0x00000000

/sys/kernel/debug/dri/1/state: plane[45]: plane-0 crtc=(null) fb=0 crtc-pos=0x0+0+0 src-pos=0.000000x0.000000+0.000000+0.000000 rotation=1 normalized-zpos=0 color-encoding=ITU-R BT.709 YCbCr color-range=YCbCr limited range plane[62]: plane-1 crtc=(null) fb=0 crtc-pos=0x0+0+0 src-pos=0.000000x0.000000+0.000000+0.000000 rotation=1 normalized-zpos=0 color-encoding=ITU-R BT.709 YCbCr color-range=YCbCr limited range plane[73]: plane-2 crtc=(null) fb=0 crtc-pos=0x0+0+0 src-pos=0.000000x0.000000+0.000000+0.000000 rotation=1 normalized-zpos=0 color-encoding=ITU-R BT.709 YCbCr color-range=YCbCr limited range plane[84]: plane-3 crtc=(null) fb=0 crtc-pos=0x0+0+0 src-pos=0.000000x0.000000+0.000000+0.000000 rotation=1 normalized-zpos=0 color-encoding=ITU-R BT.709 YCbCr color-range=YCbCr limited range plane[95]: plane-4 crtc=(null) fb=0 crtc-pos=0x0+0+0 src-pos=0.000000x0.000000+0.000000+0.000000 rotation=1 normalized-zpos=0 color-encoding=ITU-R BT.709 YCbCr color-range=YCbCr limited range plane[106]: plane-5 crtc=(null) fb=0 crtc-pos=0x0+0+0 src-pos=0.000000x0.000000+0.000000+0.000000 rotation=1 normalized-zpos=0 color-encoding=ITU-R BT.709 YCbCr color-range=YCbCr limited range plane[117]: plane-6 crtc=(null) fb=0 crtc-pos=0x0+0+0 src-pos=0.000000x0.000000+0.000000+0.000000 rotation=1 normalized-zpos=1 color-encoding=ITU-R BT.709 YCbCr color-range=YCbCr limited range plane[127]: plane-7 crtc=(null) fb=0 crtc-pos=0x0+0+0 src-pos=0.000000x0.000000+0.000000+0.000000 rotation=1 normalized-zpos=2 color-encoding=ITU-R BT.709 YCbCr color-range=YCbCr limited range plane[137]: plane-8 crtc=(null) fb=0 crtc-pos=0x0+0+0 src-pos=0.000000x0.000000+0.000000+0.000000 rotation=1 normalized-zpos=3 color-encoding=ITU-R BT.709 YCbCr color-range=YCbCr limited range plane[147]: plane-9 crtc=(null) fb=0 crtc-pos=0x0+0+0 src-pos=0.000000x0.000000+0.000000+0.000000 rotation=1 normalized-zpos=4 color-encoding=ITU-R BT.709 YCbCr color-range=YCbCr limited range plane[157]: plane-10 crtc=(null) fb=0 crtc-pos=0x0+0+0 src-pos=0.000000x0.000000+0.000000+0.000000 rotation=1 normalized-zpos=5 color-encoding=ITU-R BT.709 YCbCr color-range=YCbCr limited range plane[167]: plane-11 crtc=(null) fb=0 crtc-pos=0x0+0+0 src-pos=0.000000x0.000000+0.000000+0.000000 rotation=1 normalized-zpos=6 color-encoding=ITU-R BT.709 YCbCr color-range=YCbCr limited range plane[177]: plane-12 crtc=(null) fb=0 crtc-pos=0x0+0+0 src-pos=0.000000x0.000000+0.000000+0.000000 rotation=1 normalized-zpos=7 color-encoding=ITU-R BT.709 YCbCr color-range=YCbCr limited range plane[187]: plane-13 crtc=(null) fb=0 crtc-pos=0x0+0+0 src-pos=0.000000x0.000000+0.000000+0.000000 rotation=1 normalized-zpos=8 color-encoding=ITU-R BT.709 YCbCr color-range=YCbCr limited range plane[197]: plane-14 crtc=(null) fb=0 crtc-pos=0x0+0+0 src-pos=0.000000x0.000000+0.000000+0.000000 rotation=1 normalized-zpos=9 color-encoding=ITU-R BT.709 YCbCr color-range=YCbCr limited range plane[207]: plane-15 crtc=(null) fb=0 crtc-pos=0x0+0+0 src-pos=0.000000x0.000000+0.000000+0.000000 rotation=1 normalized-zpos=a color-encoding=ITU-R BT.709 YCbCr color-range=YCbCr limited range plane[217]: plane-16 crtc=(null) fb=0 crtc-pos=0x0+0+0 src-pos=0.000000x0.000000+0.000000+0.000000 rotation=1 normalized-zpos=b color-encoding=ITU-R BT.709 YCbCr color-range=YCbCr limited range plane[227]: plane-17 crtc=(null) fb=0 crtc-pos=0x0+0+0 src-pos=0.000000x0.000000+0.000000+0.000000 rotation=1 normalized-zpos=c color-encoding=ITU-R BT.709 YCbCr color-range=YCbCr limited range plane[237]: plane-18 crtc=(null) fb=0 crtc-pos=0x0+0+0 src-pos=0.000000x0.000000+0.000000+0.000000 rotation=1 normalized-zpos=d color-encoding=ITU-R BT.709 YCbCr color-range=YCbCr limited range plane[247]: plane-19 crtc=(null) fb=0 crtc-pos=0x0+0+0 src-pos=0.000000x0.000000+0.000000+0.000000 rotation=1 normalized-zpos=e color-encoding=ITU-R BT.709 YCbCr color-range=YCbCr limited range plane[257]: plane-20 crtc=(null) fb=0 crtc-pos=0x0+0+0 src-pos=0.000000x0.000000+0.000000+0.000000 rotation=1 normalized-zpos=f color-encoding=ITU-R BT.709 YCbCr color-range=YCbCr limited range plane[267]: plane-21 crtc=(null) fb=0 crtc-pos=0x0+0+0 src-pos=0.000000x0.000000+0.000000+0.000000 rotation=1 normalized-zpos=10 color-encoding=ITU-R BT.709 YCbCr color-range=YCbCr limited range plane[277]: plane-22 crtc=(null) fb=0 crtc-pos=0x0+0+0 src-pos=0.000000x0.000000+0.000000+0.000000 rotation=1 normalized-zpos=11 color-encoding=ITU-R BT.709 YCbCr color-range=YCbCr limited range plane[287]: plane-23 crtc=(null) fb=0 crtc-pos=0x0+0+0 src-pos=0.000000x0.000000+0.000000+0.000000 rotation=1 normalized-zpos=11 color-encoding=ITU-R BT.709 YCbCr color-range=YCbCr limited range plane[297]: plane-24 crtc=(null) fb=0 crtc-pos=0x0+0+0 src-pos=0.000000x0.000000+0.000000+0.000000 rotation=1 normalized-zpos=11 color-encoding=ITU-R BT.709 YCbCr color-range=YCbCr limited range plane[307]: plane-25 crtc=(null) fb=0 crtc-pos=0x0+0+0 src-pos=0.000000x0.000000+0.000000+0.000000 rotation=1 normalized-zpos=11 color-encoding=ITU-R BT.709 YCbCr color-range=YCbCr limited range plane[317]: plane-26 crtc=(null) fb=0 crtc-pos=0x0+0+0 src-pos=0.000000x0.000000+0.000000+0.000000 rotation=1 normalized-zpos=11 color-encoding=ITU-R BT.709 YCbCr color-range=YCbCr limited range plane[327]: plane-27 crtc=(null) fb=0 crtc-pos=0x0+0+0 src-pos=0.000000x0.000000+0.000000+0.000000 rotation=1 normalized-zpos=11 color-encoding=ITU-R BT.709 YCbCr color-range=YCbCr limited range crtc[55]: txp enable=0 active=0 self_refresh_active=0 planes_changed=0 mode_changed=0 active_changed=0 connectors_changed=0 color_mgmt_changed=0 plane_mask=0 connector_mask=0 encoder_mask=0 mode: "": 0 0 0 0 0 0 0 0 0 0 0x0 0x0 crtc[72]: pixelvalve-0 enable=0 active=0 self_refresh_active=0 planes_changed=0 mode_changed=0 active_changed=0 connectors_changed=0 color_mgmt_changed=0 plane_mask=0 connector_mask=0 encoder_mask=0 mode: "": 0 0 0 0 0 0 0 0 0 0 0x0 0x0 crtc[83]: pixelvalve-1 enable=0 active=0 self_refresh_active=0 planes_changed=0 mode_changed=0 active_changed=0 connectors_changed=0 color_mgmt_changed=0 plane_mask=0 connector_mask=0 encoder_mask=0 mode: "": 0 0 0 0 0 0 0 0 0 0 0x0 0x0 crtc[94]: pixelvalve-2 enable=0 active=0 self_refresh_active=0 planes_changed=0 mode_changed=0 active_changed=0 connectors_changed=0 color_mgmt_changed=0 plane_mask=0 connector_mask=0 encoder_mask=0 mode: "": 0 0 0 0 0 0 0 0 0 0 0x0 0x0 crtc[105]: pixelvalve-4 enable=0 active=0 self_refresh_active=0 planes_changed=0 mode_changed=0 active_changed=0 connectors_changed=0 color_mgmt_changed=0 plane_mask=0 connector_mask=0 encoder_mask=0 mode: "": 0 0 0 0 0 0 0 0 0 0 0x0 0x0 crtc[116]: pixelvalve-3 enable=0 active=0 self_refresh_active=0 planes_changed=0 mode_changed=0 active_changed=0 connectors_changed=0 color_mgmt_changed=0 plane_mask=0 connector_mask=0 encoder_mask=0 mode: "": 0 0 0 0 0 0 0 0 0 0 0x0 0x0 connector[32]: HDMI-A-1 crtc=(null) self_refresh_aware=0 max_requested_bpc=8 colorspace=Default connector[41]: HDMI-A-2 crtc=(null) self_refresh_aware=0 max_requested_bpc=8 colorspace=Default connector[61]: Writeback-1 crtc=(null) self_refresh_aware=0 max_requested_bpc=0 colorspace=Default

/sys/kernel/debug/dri/2/state: plane[32]: plane-0 crtc=(null) fb=0 crtc-pos=240x240+0+0 src-pos=240.000000x240.000000+0.000000+0.000000 rotation=1 normalized-zpos=0 color-encoding=ITU-R BT.601 YCbCr color-range=YCbCr limited range crtc[34]: crtc-0 enable=0 active=0 self_refresh_active=0 planes_changed=0 mode_changed=0 active_changed=0 connectors_changed=0 color_mgmt_changed=0 plane_mask=0 connector_mask=0 encoder_mask=0 mode: "": 0 0 0 0 0 0 0 0 0 0 0x0 0x0 connector[31]: SPI-1 crtc=(null) self_refresh_aware=0 max_requested_bpc=0 colorspace=Default

config.txt

arm_64bit=1 arm_boost=1 arm_freq=2200 audio_pwm_mode=514 camera_auto_detect=-1 config_hdmi_boost=5 core_freq=500 core_freq_min=200 disable_commandline_tags=2 disable_l2cache=1 disable_overscan=1 display_hdmi_rotate=-1 display_lcd_rotate=-1 dvfs=3 enable_gic=1 force_eeprom_read=1 force_pwm_open=1 framebuffer_ignore_alpha=1 framebuffer_swap=1 gpu_freq=500 gpu_freq_min=250 ignore_lcd=1 init_uart_clock=0x2dc6c00 mask_gpu_interrupt0=3072 mask_gpu_interrupt1=25635 max_framebuffers=2 over_voltage_avs=-10000 pause_burst_frames=1 program_serial_random=1 total_mem=2048 hdmi_force_cec_address:0=65535 hdmi_force_cec_address:1=65535 hdmi_pixel_freq_limit:0=0x11e1a300 hdmi_pixel_freq_limit:1=0x11e1a300 device_tree=- overlay_prefix=overlays/ hdmi_cvt:0= hdmi_cvt:1= hdmi_edid_filename:0= hdmi_edid_filename:1= hdmi_timings:0= hdmi_timings:1=

cmdline.txt

coherent_pool=1M 8250.nr_uarts=0 snd_bcm2835.enable_headphones=0 snd_bcm2835.enable_hdmi=0 smsc95xx.macaddr=D8:3A:DD:5F:AC:2D vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000 console=ttyS0,115200 console=tty1 root=PARTUUID=611f461c-02 rootfstype=ext4 fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles

raspi-gpio settings

BANK0 (GPIO 0 to 27): GPIO 0: level=1 fsel=0 func=INPUT pull=UP GPIO 1: level=1 fsel=0 func=INPUT pull=UP GPIO 2: level=1 fsel=0 func=INPUT pull=UP GPIO 3: level=1 fsel=0 func=INPUT pull=UP GPIO 4: level=1 fsel=0 func=INPUT pull=UP GPIO 5: level=1 fsel=0 func=INPUT pull=UP GPIO 6: level=1 fsel=0 func=INPUT pull=UP GPIO 7: level=1 fsel=1 func=OUTPUT pull=UP GPIO 8: level=1 fsel=1 func=OUTPUT pull=UP GPIO 9: level=0 fsel=4 alt=0 func=SPI0_MISO pull=DOWN GPIO 10: level=0 fsel=4 alt=0 func=SPI0_MOSI pull=DOWN GPIO 11: level=1 fsel=4 alt=0 func=SPI0_SCLK pull=DOWN GPIO 12: level=0 fsel=0 func=INPUT pull=DOWN GPIO 13: level=0 fsel=0 func=INPUT pull=DOWN GPIO 14: level=1 fsel=0 func=INPUT pull=NONE GPIO 15: level=1 fsel=0 func=INPUT pull=UP GPIO 16: level=0 fsel=0 func=INPUT pull=DOWN GPIO 17: level=0 fsel=0 func=INPUT pull=DOWN GPIO 18: level=0 fsel=0 func=INPUT pull=DOWN GPIO 19: level=0 fsel=0 func=INPUT pull=DOWN GPIO 20: level=0 fsel=0 func=INPUT pull=DOWN GPIO 21: level=0 fsel=0 func=INPUT pull=DOWN GPIO 22: level=0 fsel=0 func=INPUT pull=DOWN GPIO 23: level=0 fsel=0 func=INPUT pull=DOWN GPIO 24: level=0 fsel=1 func=OUTPUT pull=DOWN GPIO 25: level=1 fsel=1 func=OUTPUT pull=DOWN GPIO 26: level=0 fsel=0 func=INPUT pull=DOWN GPIO 27: level=1 fsel=1 func=OUTPUT pull=DOWN BANK1 (GPIO 28 to 45): GPIO 28: level=1 fsel=2 alt=5 func=RGMII_MDIO pull=UP GPIO 29: level=0 fsel=2 alt=5 func=RGMII_MDC pull=DOWN GPIO 30: level=0 fsel=7 alt=3 func=CTS0 pull=UP GPIO 31: level=0 fsel=7 alt=3 func=RTS0 pull=NONE GPIO 32: level=1 fsel=7 alt=3 func=TXD0 pull=NONE GPIO 33: level=1 fsel=7 alt=3 func=RXD0 pull=UP GPIO 34: level=1 fsel=7 alt=3 func=SD1_CLK pull=NONE GPIO 35: level=1 fsel=7 alt=3 func=SD1_CMD pull=UP GPIO 36: level=1 fsel=7 alt=3 func=SD1_DAT0 pull=UP GPIO 37: level=1 fsel=7 alt=3 func=SD1_DAT1 pull=UP GPIO 38: level=1 fsel=7 alt=3 func=SD1_DAT2 pull=UP GPIO 39: level=1 fsel=7 alt=3 func=SD1_DAT3 pull=UP GPIO 40: level=1 fsel=0 func=INPUT pull=DOWN GPIO 41: level=1 fsel=0 func=INPUT pull=DOWN GPIO 42: level=0 fsel=1 func=OUTPUT pull=DOWN GPIO 43: level=1 fsel=0 func=INPUT pull=DOWN GPIO 44: level=1 fsel=0 func=INPUT pull=NONE GPIO 45: level=1 fsel=0 func=INPUT pull=NONE BANK2 (GPIO 46 to 53): GPIO 46: level=0 fsel=0 func=INPUT pull=UP GPIO 47: level=0 fsel=0 func=INPUT pull=UP GPIO 48: level=0 fsel=4 alt=0 func=SD0_CLK pull=DOWN GPIO 49: level=0 fsel=4 alt=0 func=SD0_CMD pull=DOWN GPIO 50: level=0 fsel=4 alt=0 func=SD0_DAT0 pull=DOWN GPIO 51: level=0 fsel=4 alt=0 func=SD0_DAT1 pull=DOWN GPIO 52: level=0 fsel=4 alt=0 func=SD0_DAT2 pull=DOWN GPIO 53: level=0 fsel=4 alt=0 func=SD0_DAT3 pull=DOWN

vcdbg log messages

002280.481: arasan: arasan_emmc_open 002280.652: arasan: arasan_emmc_set_clock C0: 0x00800000 C1: 0x000e0047 emmc: 200000000 actual: 390625 div: 0x00000100 target: 400000 min: 400000 max: 400000 delay: 5 002385.427: arasan: arasan_emmc_set_clock C0: 0x00800000 C1: 0x000e0047 emmc: 200000000 actual: 390625 div: 0x00000100 target: 400000 min: 400000 max: 400000 delay: 5 002385.513: arasan: arasan_emmc_set_clock C0: 0x00800f00 C1: 0x000e0047 emmc: 200000000 actual: 390625 div: 0x00000100 target: 400000 min: 390000 max: 400000 delay: 5 002419.431: arasan: arasan_emmc_set_clock C0: 0x00800f06 C1: 0x000e0207 emmc: 200000000 actual: 50000000 div: 0x00000002 target: 50000000 min: 0 max: 50000000 delay: 1 002430.278: brfs: File read: /mfs/sd/config.txt 002431.109: brfs: File read: 1647 bytes 002454.584: HDMI0:EDID error reading EDID block 0 attempt 0 002455.601: HDMI0:EDID giving up on reading EDID block 0 002467.311: HDMI1:EDID error reading EDID block 0 attempt 0 002468.326: HDMI1:EDID giving up on reading EDID block 0 002477.948: brfs: File read: /mfs/sd/config.txt 002478.744: gpioman: gpioman_get_pin_num: pin DISPLAY_SDA not defined 002478.760: gpioman: gpioman_get_pin_num: pin LEDS_PWR_OK not defined 002935.706: gpioman: gpioman_get_pin_num: pin LEDS_PWR_OK not defined 002936.991: *** Restart logging 002937.011: brfs: File read: 1647 bytes 002947.430: hdmi: HDMI0:EDID error reading EDID block 0 attempt 0 002948.448: hdmi: HDMI0:EDID giving up on reading EDID block 0 002953.490: hdmi: HDMI0:EDID error reading EDID block 0 attempt 0 002954.504: hdmi: HDMI0:EDID giving up on reading EDID block 0 002954.523: hdmi: HDMI:hdmi_get_state is deprecated, use hdmi_get_display_state instead 002959.567: hdmi: HDMI1:EDID error reading EDID block 0 attempt 0 002960.583: hdmi: HDMI1:EDID giving up on reading EDID block 0 002965.624: hdmi: HDMI1:EDID error reading EDID block 0 attempt 0 002966.641: hdmi: HDMI1:EDID giving up on reading EDID block 0 002966.657: hdmi: HDMI:hdmi_get_state is deprecated, use hdmi_get_display_state instead 002966.670: HDMI0: hdmi_pixel_encoding: 300000000 002966.684: HDMI1: hdmi_pixel_encoding: 300000000 002967.010: kernel= 002976.199: gpioman: gpioman_get_pin_num: pin CAMERA_0_I2C_PORT not defined 002980.480: dtb_file 'bcm2711-rpi-cm4.dtb' 002986.962: brfs: File read: /mfs/sd/bcm2711-rpi-cm4.dtb 002986.979: Loaded 'bcm2711-rpi-cm4.dtb' to 0x100 size 0xd71f 003000.751: brfs: File read: 55071 bytes 003020.602: brfs: File read: /mfs/sd/overlays/overlay_map.dtb 003045.076: brfs: File read: 2347 bytes 003050.616: brfs: File read: /mfs/sd/config.txt 003051.140: brfs: File read: 1647 bytes 003071.680: brfs: File read: /mfs/sd/overlays/vc4-kms-v3d-pi4.dtbo 003134.071: Loaded overlay 'vc4-kms-v3d' 003134.262: dtparam: ant2=true 003321.046: brfs: File read: 3913 bytes 003328.777: brfs: File read: /mfs/sd/overlays/dwc2.dtbo 003334.970: Loaded overlay 'dwc2' 003334.982: dtparam: dr_mode=host 003346.316: brfs: File read: 801 bytes 003361.773: brfs: File read: /mfs/sd/overlays/mipi-dbi-spi.dtbo 003382.818: Loaded overlay 'mipi-dbi-spi' 003382.832: dtparam: spi0-0=true 003383.477: dtparam: speed=48000000 003383.884: dtparam: write-only=true 003384.390: dtparam: cpha=true 003384.911: dtparam: cpol=true 003385.461: dtparam: width=240 003385.911: dtparam: height=240 003386.371: dtparam: width-mm=23 003386.806: dtparam: height-mm=23 003387.260: dtparam: reset-gpio=27 003388.321: dtparam: dc-gpio=25 003389.398: dtparam: backlight-gpio=24 003439.151: brfs: File read: 5165 bytes 003443.956: brfs: File read: /mfs/sd/cmdline.txt 003444.003: Read command line from file 'cmdline.txt': 003444.017: 'console=serial0,115200 console=tty1 root=PARTUUID=611f461c-02 rootfstype=ext4 fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles' 003549.007: brfs: File read: 148 bytes 005737.928: brfs: File read: /mfs/sd/kernel8.img 005737.949: Loaded 'kernel8.img' to 0x80000 size 0x176ca00 005761.593: Kernel relocated to 0x200000 005761.605: Device tree loaded to 0x2eff2100 (size 0xde58) 005766.802: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined 007713.623: vchiq_core: vchiq_init_state: slot_zero = 0xcf080000, is_master = 1 011566.029: gpioman: gpioman_get_pin_num: pin FLASH_0_ENABLE not defined 011566.069: gpioman: gpioman_get_pin_num: pin FLASH_0_INDICATOR not defined 011566.167: gpioman: gpioman_get_pin_num: pin FLASH_0_ENABLE not defined 011566.202: gpioman: gpioman_get_pin_num: pin FLASH_0_INDICATOR not defined

dmesg log

[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd083] [ 0.000000] Linux version 6.5.5-v8+ (pi@WaveC-2GB-NVMe) (gcc (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.2) #1 SMP PREEMPT Tue Sep 26 09:24:49 CEST 2023 [ 0.000000] KASLR enabled [ 0.000000] random: crng init done [ 0.000000] Machine model: Raspberry Pi Compute Module 4 Rev 1.1 [ 0.000000] efi: UEFI not found. [ 0.000000] Reserved memory: created CMA memory pool at 0x000000000ec00000, size 512 MiB [ 0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool [ 0.000000] OF: reserved mem: 0x000000000ec00000..0x000000002ebfffff (524288 KiB) map reusable linux,cma [ 0.000000] OF: reserved mem: 0x000000003ef63480..0x000000003ef6387f (1 KiB) nomap non-reusable nvram@1 [ 0.000000] OF: reserved mem: 0x000000003ef638c0..0x000000003ef63a73 (0 KiB) nomap non-reusable nvram@0 [ 0.000000] Zone ranges: [ 0.000000] DMA [mem 0x0000000000000000-0x000000003fffffff] [ 0.000000] DMA32 [mem 0x0000000040000000-0x000000007fffffff] [ 0.000000] Normal empty [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x0000000000000000-0x000000003b3fffff] [ 0.000000] node 0: [mem 0x0000000040000000-0x000000007fffffff] [ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000007fffffff] [ 0.000000] On node 0, zone DMA32: 19456 pages in unavailable ranges [ 0.000000] percpu: Embedded 30 pages/cpu s84840 r8192 d29848 u122880 [ 0.000000] pcpu-alloc: s84840 r8192 d29848 u122880 alloc=30*4096 [ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 [ 0.000000] Detected PIPT I-cache on CPU0 [ 0.000000] CPU features: detected: Spectre-v2 [ 0.000000] CPU features: detected: Spectre-v3a [ 0.000000] CPU features: detected: Spectre-v4 [ 0.000000] CPU features: detected: Spectre-BHB [ 0.000000] CPU features: kernel page table isolation forced ON by KASLR [ 0.000000] CPU features: detected: Kernel page table isolation (KPTI) [ 0.000000] CPU features: detected: ARM erratum 1742098 [ 0.000000] CPU features: detected: ARM errata 1165522, 1319367, or 1530923 [ 0.000000] alternatives: applying boot alternatives [ 0.000000] Kernel command line: coherent_pool=1M 8250.nr_uarts=0 snd_bcm2835.enable_headphones=0 snd_bcm2835.enable_hdmi=0 smsc95xx.macaddr=m.m.m.m vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000 console=ttyS0,115200 console=tty1 root=PARTUUID=611f461c-02 rootfstype=ext4 fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles [ 0.000000] Unknown kernel command line parameters "splash", will be passed to user space. [ 0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear) [ 0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear) [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 496944 [ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off [ 0.000000] software IO TLB: area num 4. [ 0.000000] software IO TLB: mapped [mem 0x0000000037400000-0x000000003b400000] (64MB) [ 0.000000] Memory: 1363012K/2019328K available (12992K kernel code, 2162K rwdata, 4076K rodata, 4608K init, 1083K bss, 132028K reserved, 524288K cma-reserved) [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1 [ 0.000000] ftrace: allocating 41677 entries in 163 pages [ 0.000000] ftrace: allocated 163 pages with 4 groups [ 0.000000] trace event string verifier disabled [ 0.000000] rcu: Preemptible hierarchical RCU implementation. [ 0.000000] rcu: RCU event tracing is enabled. [ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=4. [ 0.000000] Trampoline variant of Tasks RCU enabled. [ 0.000000] Rude variant of Tasks RCU enabled. [ 0.000000] Tracing variant of Tasks RCU enabled. [ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies. [ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4 [ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0 [ 0.000000] Root IRQ handler: gic_handle_irq [ 0.000000] GIC: Using split EOI/Deactivate mode [ 0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention. [ 0.000000] arch_timer: cp15 timer(s) running at 54.00MHz (phys). [ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0xc743ce346, max_idle_ns: 440795203123 ns [ 0.000001] sched_clock: 56 bits at 54MHz, resolution 18ns, wraps every 4398046511102ns [ 0.000342] Console: colour dummy device 80x25 [ 0.000362] printk: console [tty1] enabled [ 0.000462] Calibrating delay loop (skipped), value calculated using timer frequency.. 108.00 BogoMIPS (lpj=216000) [ 0.000488] pid_max: default: 32768 minimum: 301 [ 0.000616] LSM: initializing lsm=capability,integrity [ 0.000819] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes, linear) [ 0.000862] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes, linear) [ 0.002049] cgroup: Disabling memory control group subsystem [ 0.004306] RCU Tasks: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1. [ 0.004464] RCU Tasks Rude: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1. [ 0.004617] RCU Tasks Trace: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1. [ 0.004990] rcu: Hierarchical SRCU implementation. [ 0.005002] rcu: Max phase no-delay instances is 1000. [ 0.006163] EFI services will not be available. [ 0.006622] smp: Bringing up secondary CPUs ... [ 0.007468] Detected PIPT I-cache on CPU1 [ 0.007595] CPU1: Booted secondary processor 0x0000000001 [0x410fd083] [ 0.008604] Detected PIPT I-cache on CPU2 [ 0.008694] CPU2: Booted secondary processor 0x0000000002 [0x410fd083] [ 0.009588] Detected PIPT I-cache on CPU3 [ 0.009681] CPU3: Booted secondary processor 0x0000000003 [0x410fd083] [ 0.009802] smp: Brought up 1 node, 4 CPUs [ 0.009824] SMP: Total of 4 processors activated. [ 0.009836] CPU features: detected: 32-bit EL0 Support [ 0.009846] CPU features: detected: 32-bit EL1 Support [ 0.009858] CPU features: detected: CRC32 instructions [ 0.009985] CPU: All CPU(s) started at EL2 [ 0.010007] alternatives: applying system-wide alternatives [ 0.011735] devtmpfs: initialized [ 0.021456] Enabled cp15_barrier support [ 0.021494] Enabled setend support [ 0.021682] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns [ 0.021716] futex hash table entries: 1024 (order: 4, 65536 bytes, linear) [ 0.035662] pinctrl core: initialized pinctrl subsystem [ 0.036877] DMI not present or invalid. [ 0.037472] NET: Registered PF_NETLINK/PF_ROUTE protocol family [ 0.039971] DMA: preallocated 1024 KiB GFP_KERNEL pool for atomic allocations [ 0.040271] DMA: preallocated 1024 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations [ 0.041030] DMA: preallocated 1024 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations [ 0.041107] audit: initializing netlink subsys (disabled) [ 0.041370] audit: type=2000 audit(0.040:1): state=initialized audit_enabled=0 res=1 [ 0.041892] thermal_sys: Registered thermal governor 'step_wise' [ 0.041971] cpuidle: using governor menu [ 0.042187] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers. [ 0.042354] ASID allocator initialised with 32768 entries [ 0.042580] Serial: AMBA PL011 UART driver [ 0.054106] bcm2835-mbox fe00b880.mailbox: mailbox enabled [ 0.072218] raspberrypi-firmware soc:firmware: Attached to firmware from 2023-04-25T18:26:03, variant start [ 0.076235] raspberrypi-firmware soc:firmware: Firmware hash is d7f9c2b4ef7e4a8c0b04374a879ce89d7a948453 [ 0.089697] Modules: 2G module region forced by RANDOMIZE_MODULE_REGION_FULL [ 0.089717] Modules: 0 pages in range for non-PLT usage [ 0.089727] Modules: 518016 pages in range for PLT usage [ 0.097992] bcm2835-dma fe007000.dma: DMA legacy API manager, dmachans=0x1 [ 0.101505] SCSI subsystem initialized [ 0.101710] usbcore: registered new interface driver usbfs [ 0.101759] usbcore: registered new interface driver hub [ 0.101827] usbcore: registered new device driver usb [ 0.102170] usb_phy_generic phy: dummy supplies not allowed for exclusive requests [ 0.102476] pps_core: LinuxPPS API ver. 1 registered [ 0.102489] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti giometti@linux.it [ 0.102522] PTP clock support registered [ 0.103610] vgaarb: loaded [ 0.104142] clocksource: Switched to clocksource arch_sys_counter [ 0.104604] VFS: Disk quotas dquot_6.6.0 [ 0.104655] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes) [ 0.104800] FS-Cache: Loaded [ 0.104956] CacheFiles: Loaded [ 0.112918] NET: Registered PF_INET protocol family [ 0.113529] IP idents hash table entries: 32768 (order: 6, 262144 bytes, linear) [ 0.116365] tcp_listen_portaddr_hash hash table entries: 1024 (order: 2, 16384 bytes, linear) [ 0.116406] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear) [ 0.116435] TCP established hash table entries: 16384 (order: 5, 131072 bytes, linear) [ 0.116557] TCP bind hash table entries: 16384 (order: 7, 524288 bytes, linear) [ 0.117080] TCP: Hash tables configured (established 16384 bind 16384) [ 0.117746] MPTCP token hash table entries: 2048 (order: 3, 49152 bytes, linear) [ 0.117865] UDP hash table entries: 1024 (order: 3, 32768 bytes, linear) [ 0.117910] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes, linear) [ 0.118119] NET: Registered PF_UNIX/PF_LOCAL protocol family [ 0.118773] RPC: Registered named UNIX socket transport module. [ 0.118788] RPC: Registered udp transport module. [ 0.118797] RPC: Registered tcp transport module. [ 0.118806] RPC: Registered tcp-with-tls transport module. [ 0.118815] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 0.118840] PCI: CLS 0 bytes, default 64 [ 0.119413] kvm [1]: IPA Size Limit: 44 bits [ 0.120678] kvm [1]: vgic interrupt IRQ9 [ 0.120737] kvm [1]: Hyp mode initialized successfully [ 1.140967] Initialise system trusted keyrings [ 1.141417] workingset: timestamp_bits=46 max_order=19 bucket_order=0 [ 1.141554] zbud: loaded [ 1.142345] NFS: Registering the id_resolver key type [ 1.142376] Key type id_resolver registered [ 1.142387] Key type id_legacy registered [ 1.142417] nfs4filelayout_init: NFSv4 File Layout Driver Registering... [ 1.142430] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering... [ 1.143117] Key type asymmetric registered [ 1.143134] Asymmetric key parser 'x509' registered [ 1.143203] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247) [ 1.143426] io scheduler mq-deadline registered [ 1.143442] io scheduler kyber registered [ 1.143486] io scheduler bfq registered [ 1.144551] irq_brcmstb_l2: registered L2 intc (/soc/interrupt-controller@7ef00100, parent irq: 23) [ 1.147444] gpio gpiochip0: Static allocation of GPIO base is deprecated, use dynamic allocation. [ 1.155392] brcm-pcie fd500000.pcie: host bridge /scb/pcie@7d500000 ranges: [ 1.155427] brcm-pcie fd500000.pcie: No bus range found for /scb/pcie@7d500000, using [bus 00-ff] [ 1.155501] brcm-pcie fd500000.pcie: MEM 0x0600000000..0x063fffffff -> 0x00c0000000 [ 1.155574] brcm-pcie fd500000.pcie: IB MEM 0x0000000000..0x007fffffff -> 0x0400000000 [ 1.156775] brcm-pcie fd500000.pcie: PCI host bridge to bus 0000:00 [ 1.156796] pci_bus 0000:00: root bus resource [bus 00-ff] [ 1.156815] pci_bus 0000:00: root bus resource [mem 0x600000000-0x63fffffff] (bus address [0xc0000000-0xffffffff]) [ 1.156887] pci 0000:00:00.0: [14e4:2711] type 01 class 0x060400 [ 1.157093] pci 0000:00:00.0: PME# supported from D0 D3hot [ 1.160802] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring [ 1.161017] pci_bus 0000:01: supply vpcie3v3 not found, using dummy regulator [ 1.161172] pci_bus 0000:01: supply vpcie3v3aux not found, using dummy regulator [ 1.161254] pci_bus 0000:01: supply vpcie12v not found, using dummy regulator [ 1.270220] brcm-pcie fd500000.pcie: link up, 5.0 GT/s PCIe x1 (SSC) [ 1.270307] pci 0000:01:00.0: [15b7:5005] type 00 class 0x010802 [ 1.270374] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x00003fff 64bit] [ 1.270759] pci 0000:01:00.0: 4.000 Gb/s available PCIe bandwidth, limited by 5.0 GT/s PCIe x1 link at 0000:00:00.0 (capable of 15.752 Gb/s with 8.0 GT/s PCIe x2 link) [ 1.271179] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01 [ 1.271222] pci 0000:00:00.0: BAR 8: assigned [mem 0x600000000-0x6000fffff] [ 1.271243] pci 0000:01:00.0: BAR 0: assigned [mem 0x600000000-0x600003fff 64bit] [ 1.271283] pci 0000:00:00.0: PCI bridge to [bus 01] [ 1.271304] pci 0000:00:00.0: bridge window [mem 0x600000000-0x6000fffff] [ 1.283080] iproc-rng200 fe104000.rng: hwrng registered [ 1.283534] vc-mem: phys_addr:0x00000000 mem_base=0x3ec00000 mem_size:0x40000000(1024 MiB) [ 1.284985] gpiomem-bcm2835 fe200000.gpiomem: Initialised: Registers at 0xfe200000 [ 1.295877] brd: module loaded [ 1.303118] loop: module loaded [ 1.303799] Loading iSCSI transport class v2.0-870. [ 1.305830] nvme nvme0: pci function 0000:01:00.0 [ 1.305866] pci 0000:00:00.0: enabling device (0000 -> 0002) [ 1.305899] nvme 0000:01:00.0: enabling device (0000 -> 0002) [ 1.308902] bcmgenet fd580000.ethernet: GENET 5.0 EPHY: 0x0000 [ 1.313794] nvme nvme0: 4/0/0 default/read/poll queues [ 1.319753] nvme0n1: p1 p2 [ 1.500273] unimac-mdio unimac-mdio.-19: Broadcom UniMAC MDIO bus [ 1.501342] usbcore: registered new device driver r8152-cfgselector [ 1.501389] usbcore: registered new interface driver r8152 [ 1.501431] usbcore: registered new interface driver lan78xx [ 1.501471] usbcore: registered new interface driver smsc95xx [ 1.501933] dwc_otg: version 3.00a 10-AUG-2012 (platform bus) [ 1.502205] dwc_otg: FIQ enabled [ 1.502215] dwc_otg: NAK holdoff enabled [ 1.502224] dwc_otg: FIQ split-transaction FSM enabled [ 1.502239] Module dwc_common_port init [ 1.502708] usbcore: registered new interface driver uas [ 1.502761] usbcore: registered new interface driver usb-storage [ 1.502972] mousedev: PS/2 mouse device common for all mice [ 1.508584] sdhci: Secure Digital Host Controller Interface driver [ 1.508604] sdhci: Copyright(c) Pierre Ossman [ 1.509157] sdhci-pltfm: SDHCI platform and OF driver helper [ 1.512428] ledtrig-cpu: registered to indicate activity on CPUs [ 1.512758] hid: raw HID events driver (C) Jiri Kosina [ 1.512899] usbcore: registered new interface driver usbhid [ 1.512912] usbhid: USB HID core driver [ 1.513153] bcm2835_vchiq fe00b840.mailbox: there is not valid maps for state default [ 1.520669] hw perfevents: enabled with armv8_cortex_a72 PMU driver, 7 counters available [ 1.521294] NET: Registered PF_PACKET protocol family [ 1.521395] Key type dns_resolver registered [ 1.546026] registered taskstats version 1 [ 1.546249] Loading compiled-in X.509 certificates [ 1.556275] Key type .fscrypt registered [ 1.556300] Key type fscrypt-provisioning registered [ 1.564954] uart-pl011 fe201000.serial: there is not valid maps for state default [ 1.565675] uart-pl011 fe201000.serial: cts_event_workaround enabled [ 1.566112] fe201000.serial: ttyAMA1 at MMIO 0xfe201000 (irq = 40, base_baud = 0) is a PL011 rev2 [ 1.566407] serial serial0: tty port ttyAMA1 registered [ 1.569455] bcm2835-wdt bcm2835-wdt: Broadcom BCM2835 watchdog timer [ 1.569840] bcm2835-power bcm2835-power: Broadcom BCM2835 power domains driver [ 1.571042] mmc-bcm2835 fe300000.mmcnr: mmc_debug:0 mmc_debug2:0 [ 1.571063] mmc-bcm2835 fe300000.mmcnr: DMA channel allocated [ 1.600005] of_cfs_init [ 1.600386] of_cfs_init: OK [ 1.600837] clk: Disabling unused clocks [ 1.637446] mmc0: SDHCI controller on fe340000.mmc [fe340000.mmc] using ADMA [ 1.637764] Waiting for root device PARTUUID=611f461c-02... [ 1.682514] mmc1: new high speed SDIO card at address 0001 [ 1.754872] mmc0: new ultra high speed DDR50 SDXC card at address aaaa [ 1.755810] mmcblk0: mmc0:aaaa SL64G 59.5 GiB [ 1.759973] mmcblk0: p1 p2 [ 1.760571] mmcblk0: mmc0:aaaa SL64G 59.5 GiB (quirks 0x00004000) [ 1.772398] EXT4-fs (mmcblk0p2): mounted filesystem 2aa5eb08-26a7-434c-a9f9-6ab89ea0f362 ro with ordered data mode. Quota mode: none. [ 1.772495] VFS: Mounted root (ext4 filesystem) readonly on device 179:2. [ 1.777979] devtmpfs: mounted [ 1.785089] Freeing unused kernel memory: 4608K [ 1.785300] Run /sbin/init as init process [ 1.785311] with arguments: [ 1.785320] /sbin/init [ 1.785329] splash [ 1.785338] with environment: [ 1.785347] HOME=/ [ 1.785356] TERM=linux [ 2.169731] systemd[1]: System time before build time, advancing clock. [ 2.351466] NET: Registered PF_INET6 protocol family [ 2.353144] Segment Routing with IPv6 [ 2.353188] In-situ OAM (IOAM) with IPv6 [ 2.425101] systemd[1]: systemd 247.3-7+deb11u4 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +ZSTD +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=unified) [ 2.426051] systemd[1]: Detected architecture arm64. [ 2.431236] systemd[1]: Set hostname to . [ 3.038910] systemd[1]: /lib/systemd/system/plymouth-start.service:16: Unit configured to use KillMode=none. This is unsafe, as it disables systemd's process lifecycle management for the service. Please update your service to use a safer KillMode=, such as 'mixed' or 'control-group'. Support for KillMode=none is deprecated and will eventually be removed. [ 3.191403] systemd[1]: Queued start job for default target Graphical Interface. [ 3.213635] systemd[1]: Created slice system-getty.slice. [ 3.214883] systemd[1]: Created slice system-modprobe.slice. [ 3.215727] systemd[1]: Created slice system-systemd\x2dfsck.slice. [ 3.216523] systemd[1]: Created slice User and Session Slice. [ 3.217000] systemd[1]: Started Forward Password Requests to Wall Directory Watch. [ 3.217994] systemd[1]: Set up automount Arbitrary Executable File Formats File System Automount Point. [ 3.218401] systemd[1]: Reached target Slices. [ 3.218539] systemd[1]: Reached target Swap. [ 3.219464] systemd[1]: Listening on Syslog Socket. [ 3.220105] systemd[1]: Listening on fsck to fsckd communication Socket. [ 3.220526] systemd[1]: Listening on initctl Compatibility Named Pipe. [ 3.221670] systemd[1]: Listening on Journal Audit Socket. [ 3.222371] systemd[1]: Listening on Journal Socket (/dev/log). [ 3.223239] systemd[1]: Listening on Journal Socket. [ 3.227809] systemd[1]: Listening on udev Control Socket. [ 3.228628] systemd[1]: Listening on udev Kernel Socket. [ 3.229563] systemd[1]: Condition check resulted in Huge Pages File System being skipped. [ 3.252616] systemd[1]: Mounting POSIX Message Queue File System... [ 3.257203] systemd[1]: Mounting RPC Pipe File System... [ 3.262770] systemd[1]: Mounting Kernel Debug File System... [ 3.268174] systemd[1]: Mounting Kernel Trace File System... [ 3.268625] systemd[1]: Condition check resulted in Kernel Module supporting RPCSEC_GSS being skipped. [ 3.275998] systemd[1]: Starting Restore / save the current clock... [ 3.284844] systemd[1]: Starting Set the console keyboard layout... [ 3.289998] systemd[1]: Starting Create list of static device nodes for the current kernel... [ 3.295310] systemd[1]: Starting Load Kernel Module configfs... [ 3.301033] systemd[1]: Starting Load Kernel Module drm... [ 3.306989] systemd[1]: Starting Load Kernel Module fuse... [ 3.313695] systemd[1]: Condition check resulted in Set Up Additional Binary Formats being skipped. [ 3.318935] systemd[1]: Starting File System Check on Root Device... [ 3.328807] systemd[1]: Starting Journal Service... [ 3.361108] systemd[1]: Starting Load Kernel Modules... [ 3.366235] systemd[1]: Starting Coldplug All udev Devices... [ 3.377649] systemd[1]: Mounted POSIX Message Queue File System. [ 3.378513] systemd[1]: Mounted RPC Pipe File System. [ 3.379263] systemd[1]: Mounted Kernel Debug File System. [ 3.379928] systemd[1]: Mounted Kernel Trace File System. [ 3.381752] systemd[1]: Finished Create list of static device nodes for the current kernel. [ 3.384300] systemd[1]: modprobe@configfs.service: Succeeded. [ 3.385578] systemd[1]: Finished Load Kernel Module configfs. [ 3.408403] systemd[1]: Mounting Kernel Configuration File System... [ 3.415047] systemd[1]: Started File System Check Daemon to report status. [ 3.430472] systemd[1]: Finished Restore / save the current clock. [ 3.433926] fuse: init (API version 7.38) [ 3.446422] systemd[1]: modprobe@fuse.service: Succeeded. [ 3.447799] systemd[1]: Finished Load Kernel Module fuse. [ 3.465068] systemd[1]: Mounting FUSE Control File System... [ 3.471331] systemd[1]: Mounted Kernel Configuration File System. [ 3.490792] systemd[1]: Mounted FUSE Control File System. [ 3.508989] i2c_dev: i2c /dev entries driver [ 3.518972] systemd[1]: Finished Load Kernel Modules. [ 3.557277] systemd[1]: Starting Apply Kernel Variables... [ 3.602470] systemd[1]: modprobe@drm.service: Succeeded. [ 3.603924] systemd[1]: Finished Load Kernel Module drm. [ 3.640519] systemd[1]: Finished File System Check on Root Device. [ 3.642624] systemd[1]: Finished Apply Kernel Variables. [ 3.647865] systemd[1]: Starting Remount Root and Kernel File Systems... [ 3.693133] systemd[1]: Started Journal Service. [ 3.840072] EXT4-fs (mmcblk0p2): re-mounted 2aa5eb08-26a7-434c-a9f9-6ab89ea0f362 r/w. Quota mode: none. [ 3.917432] systemd-journald[118]: Received client request to flush runtime journal. [ 3.938277] systemd-journald[118]: File /var/log/journal/e87ef6d23d064c05a952c5b12becb383/system.journal corrupted or uncleanly shut down, renaming and replacing. [ 4.987185] mc: Linux media interface: v0.10 [ 5.118446] vc_sm_cma: module is from the staging directory, the quality is unknown, you have been warned. [ 5.120309] bcm2835_vc_sm_cma_probe: Videocore shared memory driver

[ 5.124468] [vc_sm_connected_init]: installed successfully [ 5.205982] snd_bcm2835: module is from the staging directory, the quality is unknown, you have been warned. [ 5.228630] videodev: Linux video capture interface: v2.00 [ 5.273484] bcm2835_mmal_vchiq: module is from the staging directory, the quality is unknown, you have been warned. [ 5.312838] bcm2835_isp: module is from the staging directory, the quality is unknown, you have been warned. [ 5.336593] bcm2835_v4l2: module is from the staging directory, the quality is unknown, you have been warned. [ 5.339307] rpivid_hevc: module is from the staging directory, the quality is unknown, you have been warned. [ 5.345738] bcm2835-isp bcm2835-isp: Device node output[0] registered as /dev/video13 [ 5.347741] rpivid feb10000.codec: Device registered as /dev/video19 [ 5.348272] bcm2835-isp bcm2835-isp: Device node capture[0] registered as /dev/video14 [ 5.352311] bcm2835-isp bcm2835-isp: Device node capture[1] registered as /dev/video15 [ 5.352749] bcm2835-isp bcm2835-isp: Device node stats[2] registered as /dev/video16 [ 5.352784] bcm2835-isp bcm2835-isp: Register output node 0 with media controller [ 5.352805] bcm2835-isp bcm2835-isp: Register capture node 1 with media controller [ 5.352823] bcm2835-isp bcm2835-isp: Register capture node 2 with media controller [ 5.352840] bcm2835-isp bcm2835-isp: Register capture node 3 with media controller [ 5.356641] bcm2835-isp bcm2835-isp: Device node output[0] registered as /dev/video20 [ 5.357195] bcm2835-isp bcm2835-isp: Device node capture[0] registered as /dev/video21 [ 5.357724] bcm2835-isp bcm2835-isp: Device node capture[1] registered as /dev/video22 [ 5.358122] bcm2835-isp bcm2835-isp: Device node stats[2] registered as /dev/video23 [ 5.358154] bcm2835-isp bcm2835-isp: Register output node 0 with media controller [ 5.358175] bcm2835-isp bcm2835-isp: Register capture node 1 with media controller [ 5.358192] bcm2835-isp bcm2835-isp: Register capture node 2 with media controller [ 5.358208] bcm2835-isp bcm2835-isp: Register capture node 3 with media controller [ 5.358475] bcm2835-isp bcm2835-isp: Loaded V4L2 bcm2835-isp [ 5.380194] bcm2835_codec: module is from the staging directory, the quality is unknown, you have been warned. [ 5.403850] bcm2835-codec bcm2835-codec: Device registered as /dev/video10 [ 5.403915] bcm2835-codec bcm2835-codec: Loaded V4L2 decode [ 5.424797] bcm2835-codec bcm2835-codec: Device registered as /dev/video11 [ 5.424856] bcm2835-codec bcm2835-codec: Loaded V4L2 encode [ 5.434230] brcmstb-i2c fef04500.i2c: @97500hz registered in polling mode [ 5.435171] brcmstb-i2c fef09500.i2c: @97500hz registered in polling mode [ 5.435263] bcm2835-codec bcm2835-codec: Device registered as /dev/video12 [ 5.435309] bcm2835-codec bcm2835-codec: Loaded V4L2 isp [ 5.449088] bcm2835-codec bcm2835-codec: Device registered as /dev/video18 [ 5.449148] bcm2835-codec bcm2835-codec: Loaded V4L2 image_fx [ 5.455926] bcm2835-codec bcm2835-codec: Device registered as /dev/video31 [ 5.455992] bcm2835-codec bcm2835-codec: Loaded V4L2 encode_image [ 5.574901] dwc2 fe980000.usb: supply vusb_d not found, using dummy regulator [ 5.575242] dwc2 fe980000.usb: supply vusb_a not found, using dummy regulator [ 5.626550] dwc2 fe980000.usb: DWC OTG Controller [ 5.626624] dwc2 fe980000.usb: new USB bus registered, assigned bus number 1 [ 5.626689] dwc2 fe980000.usb: irq 44, io mem 0xfe980000 [ 5.627041] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.05 [ 5.627063] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 5.627079] usb usb1: Product: DWC OTG Controller [ 5.627092] usb usb1: Manufacturer: Linux 6.5.5-v8+ dwc2_hsotg [ 5.627105] usb usb1: SerialNumber: fe980000.usb [ 5.628398] Bluetooth: Core ver 2.22 [ 5.628498] NET: Registered PF_BLUETOOTH protocol family [ 5.628511] Bluetooth: HCI device and connection manager initialized [ 5.628539] Bluetooth: HCI socket layer initialized [ 5.628557] Bluetooth: L2CAP socket layer initialized [ 5.628583] Bluetooth: SCO socket layer initialized [ 5.628780] hub 1-0:1.0: USB hub found [ 5.628871] hub 1-0:1.0: 1 port detected [ 5.657180] Bluetooth: HCI UART driver ver 2.3 [ 5.657221] Bluetooth: HCI UART protocol H4 registered [ 5.657362] Bluetooth: HCI UART protocol Three-wire (H5) registered [ 5.669078] Bluetooth: HCI UART protocol Broadcom registered [ 5.670762] hci_uart_bcm serial0-0: supply vbat not found, using dummy regulator [ 5.671164] hci_uart_bcm serial0-0: supply vddio not found, using dummy regulator [ 5.759437] [drm] Initialized v3d 1.0.0 20180419 for fec00000.v3d on minor 0 [ 5.788659] uart-pl011 fe201000.serial: no DMA platform data [ 5.928273] usb 1-1: new high-speed USB device number 2 using dwc2 [ 6.033634] Bluetooth: hci0: BCM: chip id 107 [ 6.034064] Bluetooth: hci0: BCM: features 0x2f [ 6.035283] Bluetooth: hci0: BCM4345C0 [ 6.035315] Bluetooth: hci0: BCM4345C0 (003.001.025) build 0000 [ 6.058552] Bluetooth: hci0: BCM4345C0 'brcm/BCM4345C0.hcd' Patch [ 6.121679] cfg80211: Loading compiled-in X.509 certificates for regulatory database [ 6.135578] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4]) [ 6.136771] usb 1-1: New USB device found, idVendor=1a40, idProduct=0101, bcdDevice= 1.11 [ 6.136811] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0 [ 6.136828] usb 1-1: Product: USB 2.0 Hub [ 6.137776] hub 1-1:1.0: USB hub found [ 6.137898] hub 1-1:1.0: 4 ports detected [ 6.194949] Loaded X.509 cert 'benh@debian.org: 577e021cb980e0e820821ba7b54b4961b8b4fadf' [ 6.197396] Loaded X.509 cert 'romain.perier@gmail.com: 3abbc6ec146e09d1b6016ab9d6cf71dd233f0328' [ 6.198435] Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7' [ 6.219675] Registered IR keymap rc-cec [ 6.219881] rc rc0: vc4-hdmi-0 as /devices/platform/soc/fef00700.hdmi/rc/rc0 [ 6.220088] input: vc4-hdmi-0 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input0 [ 6.279608] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4]) [ 6.309295] Registered IR keymap rc-cec [ 6.309511] rc rc1: vc4-hdmi-1 as /devices/platform/soc/fef05700.hdmi/rc/rc1 [ 6.309726] input: vc4-hdmi-1 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input1 [ 6.326926] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4]) [ 6.327533] vc4-drm gpu: bound fe004000.txp (ops vc4_txp_ops [vc4]) [ 6.328058] vc4-drm gpu: bound fe206000.pixelvalve (ops vc4_crtc_ops [vc4]) [ 6.334011] vc4-drm gpu: bound fe207000.pixelvalve (ops vc4_crtc_ops [vc4]) [ 6.339832] vc4-drm gpu: bound fe20a000.pixelvalve (ops vc4_crtc_ops [vc4]) [ 6.343340] vc4-drm gpu: bound fe216000.pixelvalve (ops vc4_crtc_ops [vc4]) [ 6.343879] vc4-drm gpu: bound fec12000.pixelvalve (ops vc4_crtc_ops [vc4]) [ 6.390654] [drm] Initialized vc4 0.0.0 20140616 for gpu on minor 1 [ 6.391179] vc4-drm gpu: [drm] Cannot find any crtc or sizes [ 6.417385] vc4-drm gpu: [drm] Cannot find any crtc or sizes [ 6.417973] vc4-drm gpu: [drm] Cannot find any crtc or sizes [ 6.541813] brcmfmac: F1 signature read @0x18000000=0x15264345 [ 6.561027] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6 [ 6.561987] usbcore: registered new interface driver brcmfmac [ 6.870096] Bluetooth: hci0: BCM: features 0x2f [ 6.871745] Bluetooth: hci0: BCM43455 37.4MHz Raspberry Pi 3+-0190 [ 6.871788] Bluetooth: hci0: BCM4345C0 (003.001.025) build 0382 [ 6.879409] panel-mipi-dbi-spi spi0.0: supply power not found, using dummy regulator [ 6.879798] panel-mipi-dbi-spi spi0.0: supply io not found, using dummy regulator [ 6.880314] brcmfmac_wcc: brcmf_wcc_attach: executing [ 6.892458] brcmfmac: brcmf_c_process_txcap_blob: no txcap_blob available (err=-2) [ 6.893196] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/6 wl0: Nov 1 2021 00:37:25 version 7.45.241 (1a2f2fa CY) FWID 01-703fd60 [ 6.946324] [drm] Initialized panel-mipi-dbi 1.0.0 20220103 for spi0.0 on minor 2 [ 7.442438] alsactl[400]: memfd_create() called without MFD_EXEC or MFD_NOEXEC_SEAL set [ 7.685308] Console: switching to colour frame buffer device 30x30 [ 7.743487] panel-mipi-dbi-spi spi0.0: [drm] fb0: panel-mipi-dbid frame buffer device [ 7.879024] Adding 102396k swap on /var/swap. Priority:-2 extents:10 across:405500k SSFS [ 8.383453] 8021q: 802.1Q VLAN Support v1.8 [ 8.977439] brcmfmac: brcmf_cfg80211_set_power_mgmt: power save enabled [ 9.182727] Bluetooth: BNEP (Ethernet Emulation) ver 1.3 [ 9.182763] Bluetooth: BNEP filters: protocol multicast [ 9.182793] Bluetooth: BNEP socket layer initialized [ 9.196655] Bluetooth: MGMT ver 1.22 [ 9.242897] NET: Registered PF_ALG protocol family [ 9.243457] bcmgenet fd580000.ethernet: configuring instance for external RGMII (RX delay) [ 9.249965] bcmgenet fd580000.ethernet eth0: Link is Down [ 13.322035] Bluetooth: RFCOMM TTY layer initialized [ 13.322066] Bluetooth: RFCOMM socket layer initialized [ 13.322084] Bluetooth: RFCOMM ver 1.11 [ 16.305616] ICMPv6: process `dhcpcd' is using deprecated sysctl (syscall) net.ipv6.neigh.wlan0.retrans_time - use net.ipv6.neigh.wlan0.retrans_time_ms instead

Additional context

data from config.txt

Enable DRM VC4 V3D driver

dtoverlay=vc4-kms-v3d max_framebuffers=2

Run in 64-bit mode

arm_64bit=1

Disable compensation for displays with overscan

disable_overscan=1

[cm4] dtparam=ant2 dtoverlay=dwc2,dr_mode=host arm_freq=2200

[all]

[pi4]

Run as fast as firmware / board allows

arm_boost=1

[all] dtoverlay=mipi-dbi-spi,spi0-0,speed=48000000 dtparam=write-only,cpha,cpol dtparam=width=240,height=240,width-mm=23,height-mm=23 dtparam=reset-gpio=27,dc-gpio=25,backlight-gpio=24

aBUGSworstnightmare-rpi commented 10 months ago

Here you can find a video of the display when powered up https://drive.google.com/file/d/1bTyH07OEvgjPvhh29egJpZJOiQuwhytR/view?usp=share_link

6by9 commented 10 months ago

Wrote a custom tinyDRM compliant driver for the display which was only working when booted to CLI; in X I was unable to get the desktop shown on the display.

If it's working at the console, then it's not a kernel issue.

X doesn't perform brilliantly with multiple DRM cards - it has concepts of source and sink providers, as reported by xrandr --listproviders. As I'd linked in the forum thread, I've been down that road before - https://forums.raspberrypi.com/viewtopic.php?p=1837374#p1837374

I'd suggest you wait for Bookworm as it uses Wayfire and Wayland which does work nicely with mutliple DRM cards.

aBUGSworstnightmare-rpi commented 10 months ago

Never been able to get the display started in X when following your suggestions; KMS will always end with a log-on box and a black SPI display.

There is no other display connected (No HDMI/DSI/DPI) during my testing, so how to make sure there is only one DRM card - the SPI - display?

Got It working once by accident when the GPU binding fatally failed, but was not able to reproduce/take logs (as I wasn't prepared for it to work).

From my Bookworm testing I figured out that Wayfire and Wayland have other issues. Anyhow, if you can share a link (via email) to latest Bookworm Beta (resigned from beta testing program because of various resonsl) I'm willing to test it with 6.5 kernel again.

6by9 commented 10 months ago

A comment from a colleague was that they needed a file /etc/X11/xorg.conf.d/99-vc4.conf:

Section "OutputClass"
    Identifier "vc4"
    MatchDriver "vc4"
    Driver "modesetting"
    Option "PrimaryGPU" "true"
EndSection

to get vc4 selected correctly as the primary X display.

You don't only have one card - v3d should exist and be doing the composition, with your SPI driver doing the display.

aBUGSworstnightmare-rpi commented 10 months ago

Created a file with the content shown, rebooted (just in case ) Also checked/setup providers by

pi@WaveC-2GB-NVMe:~ $ DISPLAY=:0 xrandr --listproviders Providers: number : 2 Provider 0: id: 0x47 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 6 outputs: 2 associated providers: 0 name:modesetting Provider 1: id: 0x79 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 1 outputs: 1 associated providers: 0 name:modesetting pi@WaveC-2GB-NVMe:~ $ xrandr --setprovideroutputsource 1 0

Used screen configuration editor for switching the SPI on - not working -> back to log-on screen (which is funny as well as my OS is setup for auto-login).

`pi@WaveC-2GB-NVMe:~ $ sudo cat /sys/kernel/debug/device_component/gpu aggregate_device name status

gpu bound

device name status

fe400000.hvs bound fef00700.hdmi bound fef05700.hdmi bound fe004000.txp bound fe206000.pixelvalve bound fe207000.pixelvalve bound fe20a000.pixelvalve bound fe216000.pixelvalve bound fec12000.pixelvalve bound pi@WaveC-2GB-NVMe:~ $ sudo cat /sys/kernel/debug/devices_deferred `

[ 7.594520] panel-mipi-dbi-spi spi0.0: supply power not found, using dummy regulator [ 7.667138] panel-mipi-dbi-spi spi0.0: supply io not found, using dummy regulator [ 7.689118] [drm] Initialized panel-mipi-dbi 1.0.0 20220103 for spi0.0 on minor 2 [ 7.696437] Bluetooth: hci0: BCM: features 0x2f [ 7.702338] Bluetooth: hci0: BCM43455 37.4MHz Raspberry Pi 3+-0190 [ 7.702376] Bluetooth: hci0: BCM4345C0 (003.001.025) build 0382 [ 7.936150] brcmfmac: brcmf_cfg80211_set_power_mgmt: power save enabled [ 8.270926] Console: switching to colour frame buffer device 30x30 [ 8.306546] panel-mipi-dbi-spi spi0.0: [drm] fb0: panel-mipi-dbid frame buffer device

aBUGSworstnightmare-rpi commented 10 months ago

@6by9: your post on the vc4.conf gave me the idea to do something else

sudo nano /etc/X11/xorg.conf.d/99-fbdev.conf adding below to the file

Section "Device" Identifier "FB Driver" Driver "fbdev" Option "fbdev" "/dev/fb0" EndSection

saving and reboot kicks the display alive, but is for sure not what we want.

pi@WaveC-2GB-NVMe:~ $ xrandr --verbose xrandr: Failed to get size of gamma for output default Screen 0: minimum 240 x 240, current 240 x 240, maximum 240 x 240 default connected 240x240+0+0 (0x51e) normal (normal) 0mm x 0mm Identifier: 0x51d Timestamp: 9894 Subpixel: unknown Clones:
CRTC: 0 CRTCs: 0 Transform: 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 filter: non-desktop: 0 supported: 0, 1 240x240 (0x51e) 0.000MHz *current h: width 240 start 0 end 0 total 240 skew 0 clock 0.00KHz v: height 240 start 0 end 0 total 240 clock 0.00Hz

99-fbdev Looks like I need to figure out which conf file in KMS needs to be changed/added.

aBUGSworstnightmare-rpi commented 9 months ago

Just confirmed that mipi-dbi-spi is also not starting the display on Bookworm 6.5.7 kernel under Wayland. working during boot/when. booted to CLI, but non-working under Wayland

https://drive.google.com/file/d/1H0mK421wtEtm6LPwuaVfl5ewy0U3f7KS/view https://drive.google.com/file/d/1KhCgEMtNpLK2PM0R7abZGCtfajCSSgte/view

sdhizumi commented 1 month ago

I have same issue. I try to use ILI9341 display on Pi OS bookworm with Raspberry Pi Zero 2 W.

I installed Pi OS Lite bookworm to my microSD. I build my panel.bin using this sample and placed on /lib/firmware

I wired my display and set this on config.txt

dtparam=spi=on

dtoverlay=mipi-dbi-spi,spi0-0,speed=70000000
dtparam=width=320,height=240
dtparam=reset-gpio=25,dc-gpio=24
dtparam=backlight-gpio=23

After reboot, CLI messages are displaying on my display. I found these logs from dmesg

[    1.743999] simple-framebuffer 1ebaf000.framebuffer: fb0: simplefb registered!
[   12.102686] panel-mipi-dbi-spi spi0.0: [drm] fb0: panel-mipi-dbid frame buffer device

It seems my display are recognized fb0 (=first?) flamebuffer device. It looks nothing has problems.

I installed

sudo apt install mate-desktop-environment lightdm lightdm-gtk-greeter

I change login option by raspi-config, from console to graphical, reboot, there is nothing display after console messages.

I tried same steps on Pi OS Lite bullseye (kernel 6.1), It is working. I can see MATE desktop.

Edit: My friend tested with Pi 5, Pi 4, and Pi 3B+. Pi 5 and Pi 4 are working but Pi 3B+ is not.

6by9 commented 1 month ago

Edit: My friend tested with Pi 5, Pi 4, and Pi 3B+. Pi 5 and Pi 4 are working but Pi 3B+ is not.

Pi 4 & 5 on Bookworm default to using Wayfire instead of X. Wayfire supports multiple display devices far better than X, but has a significant overhead in use of 3D hardware for rendering. We are beta testing labwc which has much lower 3D requirements on the lower powered Pis. See https://forums.raspberrypi.com/viewtopic.php?p=2223184#p2223184 for basic install instructions.

As I said in https://github.com/raspberrypi/linux/issues/5615#issuecomment-1735501138 if it works in the console, then it's not a kernel issue.

sdhizumi commented 1 month ago

Pi 4 & 5 on Bookworm default to using Wayfire instead of X.

Thank you! This was really good hint for me!

I change from X to Wayland in raspi-config on Pi Zero 2 W, and then I run sway from CLI, it works with mipi-dbi-spi display! (weston and cage also works) I can't run PIXEL desktop (something problems about OpenGL support on Pi 3/Zero2's SoC?). But it is enough for me at this time.