How to enable 7inch LCD on Pine64

Hi,

Sorry to hijack an existing thread, but I think this is a generic, uboot issue that is hitting at least some allwinner boards, and is related to ROCK(Pro)64 won't boot with Linux 6.12

Some history:

I’m new to the forum, having just migrated to DietPi from Armbian on a Pine64+ (A64 2GB).

The board has been running Armbian since 2017, first on the original “longsleep” kernel, then from 2021 on mainline (Ubuntu Focal), using a reduced footprint. I have been using it as a dedicated squeezebox touch replacement, running squeezelite and jivelite, with fb output to the lcd touchscreen. ref: Pine64 as squeezebox touch replacement

This was working fine, with regular apt updates until some time after kernel v. 6.x broke the display and some other bits of the squeezelite implementation, which I didn’t investigate.

The device did continue to boot, so I tried sporadic updates, hoping they might fix the issue, until last week.

I tried various Armbian releases, and found that somewhere between around 6.6.x and 6.12.x, the 7” lcd goes blank and there are other weird issues including network connectivity and DHCP problems. The latest Arbmian releases and updates also fail to load the 7" screen overlay, no matter what armbianEnv settings I tried. So I found DietPi and can successfully load the dtbo.

Status is that the lcd monitor is picked up at boot, and the backlight works and can be controlled, but neither console, nor random output to /dev/fb0 will display anything.

# dmesg | grep dsi

\[    0.046701\] /soc/lcd-controller@1c0c000: Fixed dependency cycle(s) with /soc/dsi@1ca0000
\[    0.047496\] /soc/dsi@1ca0000: Fixed dependency cycle(s) with /soc/lcd-controller@1c0c000
\[    0.049015\] /soc/lcd-controller@1c0c000: Fixed dependency cycle(s) with /soc/dsi@1ca0000
\[    0.055945\] /soc/lcd-controller@1c0c000: Fixed dependency cycle(s) with /soc/dsi@1ca0000
\[    0.056092\] /soc/dsi@1ca0000: Fixed dependency cycle(s) with /soc/lcd-controller@1c0c000
\[    2.299473\] sun4i-drm display-engine: bound 1ca0000.dsi (ops 0xffff8000811eaaa0)
\[    9.540165\] sun6i-mipi-dsi 1ca0000.dsi: Attached device fy07024di26a30d

ls /proc/device-tree

‘#address-cells’   aliases     compatible       hdmi-connector     model           opp-table-gpu   pmu             soc          thermal-zones
‘#size-cells’      backlight   cpus             interrupt-parent   name            osc24M-clk      psci            sound        timer
**symbols**       chosen      display-engine   memory             opp-table-cpu   osc32k-clk      serial-number   sound_hdmi   wifi_pwrseq

lsmod

Module                  Size  Used by
hci_uart              139264  0
btqca                  24576  1 hci_uart
btrtl                  28672  1 hci_uart
snd_usb_audio         344064  0
btintel                53248  1 hci_uart
snd_hwdep              16384  1 snd_usb_audio
snd_soc_hdmi_codec     20480  1
axp20x_adc             24576  0
snd_usbmidi_lib        36864  1 snd_usb_audio
r8723bs               487424  0
joydev                 28672  0
btbcm                  16384  1 hci_uart
polyval_ce             12288  0
snd_rawmidi            40960  1 snd_usbmidi_lib
snd_soc_simple_card    20480  0
bluetooth             737280  6 btrtl,btqca,btintel,hci_uart,btbcm
snd_seq_device         12288  1 snd_rawmidi
snd_soc_simple_card_utils    24576  1 snd_soc_simple_card
polyval_generic        12288  1 polyval_ce
sun9i_hdmi_audio       12288  0
cfg80211              847872  1 r8723bs
ecdh_generic           12288  1 bluetooth
sunxi_cedrus           49152  0
ecc                    32768  1 ecdh_generic
dw_hdmi_i2s_audio      12288  0
dw_hdmi_cec            12288  0
lima                   65536  0
v4l2_mem2mem           28672  1 sunxi_cedrus
panel_feiyang_fy07024di26a30d    12288  0
rfkill                 28672  3 bluetooth,cfg80211
goodix_ts              28672  0
gpu_sched              49152  1 lima
videobuf2_dma_contig    20480  1 sunxi_cedrus
drm_shmem_helper       24576  1 lima
videobuf2_memops       16384  1 videobuf2_dma_contig
videobuf2_v4l2         20480  2 sunxi_cedrus,v4l2_mem2mem
sun4i_i2s              20480  4
libarc4                12288  1 r8723bs
videodev              253952  3 sunxi_cedrus,videobuf2_v4l2,v4l2_mem2mem
videobuf2_common       53248  5 sunxi_cedrus,videobuf2_dma_contig,videobuf2_v4l2,v4l2_mem2mem,videobuf2_memops
mc                     53248  6 sunxi_cedrus,videodev,snd_usb_audio,videobuf2_v4l2,videobuf2_common,v4l2_mem2mem
display_connector      16384  0
cpufreq_dt             16384  0
fuse                  155648  1
nfnetlink              16384  1
ip_tables              28672  0
axp20x_ac_power        12288  0
axp20x_battery         16384  0
industrialio           86016  3 axp20x_battery,axp20x_ac_power,axp20x_adc
pinctrl_axp209         12288  0
pwm_sun4i              12288  1
realtek                40960  1
sun8i_a33_mbus         16384  0
dwmac_sun8i            24576  0
mdio_mux               12288  1 dwmac_sun8i
pwm_bl                 20480  0

cat /boot/dietpiEnv.txt
rootdev=UUID=3f264847-38ca-436a-9941-7a5fb1b49b4b
rootfstype=ext4
# The init system logs to the console defined last.
consoleargs=console=tty1
extraargs=fsck.repair=yes net.ifnames=0
docker_optimizations=off
overlay_path=allwinner
# Multiple prefixes are supported separated by space
overlay_prefix=sun50i-a64
overlays=pine64-7inch-lcd
user_overlay
# dmesg | grep console

\[    0.000000\] Kernel command line: root=UUID=3f264847-38ca-436a-9941-7a5fb1b49b4b rootfstype=ext4 rootwait console=tty1 consoleblank=0 coherent_pool=2M ubootpart=16714d40-01 fsck.repair=yes net.ifnames=0
\[    0.000993\] printk: legacy console \[tty1\] enabled
\[    6.315213\] systemd\[1\]: Started systemd-ask-password-console.path - Dispatch Password Requests to Console Directory Watch.
\[    6.408450\] systemd\[1\]: Starting keyboard-setup.service - Set the console keyboard layout…
root@Squeezebox:\~# dmesg | grep tty
\[    0.000000\] Kernel command line: root=UUID=3f264847-38ca-436a-9941-7a5fb1b49b4b rootfstype=ext4 rootwait console=tty1 consoleblank=0 coherent_pool=2M ubootpart=16714d40-01 fsck.repair=yes net.ifnames=0
\[    0.000993\] printk: legacy console \[tty1\] enabled
\[    1.886997\] 1c28000.serial: ttyS0 at MMIO 0x1c28000 (irq = 155, base_baud = 1500000) is a 16550A
\[    1.888996\] 1c28400.serial: ttyS1 at MMIO 0x1c28400 (irq = 156, base_baud = 1500000) is a 16550A
\[    1.889257\] serial serial0: tty port ttyS1 registered
\[    6.310995\] systemd\[1\]: Created slice system-getty.slice - Slice /system/getty.
# dmesg | grep display
\[    2.296544\] sun4i-drm display-engine: bound 1100000.mixer (ops 0xffff8000811ebfc8)
\[    2.298400\] sun4i-drm display-engine: bound 1200000.mixer (ops 0xffff8000811ebfc8)
\[    2.299033\] sun4i-drm display-engine: No panel or bridge found… RGB output disabled
\[    2.299063\] sun4i-drm display-engine: bound 1c0c000.lcd-controller (ops 0xffff8000811e8be8)
\[    2.299416\] sun4i-drm display-engine: bound 1c0d000.lcd-controller (ops 0xffff8000811e8be8)
\[    2.299473\] sun4i-drm display-engine: bound 1ca0000.dsi (ops 0xffff8000811eaaa0)
\[    2.301772\] sun4i-drm display-engine: bound 1ee0000.hdmi (ops 0xffff8000811eb090)
\[    2.302754\] \[drm\] Initialized sun4i-drm 1.0.0 for display-engine on minor 0
\[    2.302867\] sun4i-drm display-engine: \[drm\] Cannot find any crtc or sizes
\[    2.304974\] sun4i-drm display-engine: \[drm\] Cannot find any crtc or sizes
\[    9.496709\] sun4i-drm display-engine: \[drm\] fb0: sun4i-drmdrmfb frame buffer device

Unfortunately I don’t have a serial console cable to debug the boot loader process.

If this looks like part of the memory space issue that was discussed in the ROCK(Pro)64 won’t boot with Linux 6.12 thread, was there an experimental uboot patch that I might try for the Pine64?

Update:
More info:

DietPi v9.19.2 : 08:31 - Sat 11/29/25
─────────────────────────────────────────────────────

* Device model : PINE A64 (aarch64)
* CPU temp : 34 °C / 93 °F

I have nothing connected to hdmi, so if this can be completely disabled as part of the debugging process, that would be fine for me

uname -a
Linux Squeezebox 6.12.57-current-sunxi64 #1 SMP Sun Nov  2 13:15:23 UTC 2025 aarch64 GNU/Linux

Powered via the Euler GPIO header