bsrobot Posted Wednesday at 02:22 PM Posted Wednesday at 02:22 PM Hello everyone, I'm trying to get an ST7735S LCD display working with my Orange Pi Zero 2 (H616). This setup was working correctly with older Armbian kernels, but after a recent update, I can no longer get the SPI device to appear. I have already tried a couple of different configuration methods without success. System Information: Board: Orange Pi Zero 2 (H616) Display: ST7735S (SPI) Kernel Version: Linux orangepizero2 6.12.43-current-sunxi64 #2 SMP Wed Aug 20 16:30:58 UTC 2025 aarch64 GNU/Linux I have recently updated armbian-config by running the update from the script itself. Attempt 1: Using armbianEnv.txt My first attempt was to edit /boot/armbianEnv.txt and add the required overlays. Here is my configuration: verbosity=1 bootlogo=false console=both disp_mode=1920x1080p60 rootdev=UUID=aef396b8-ac79-477c-b797-466fc4d881a6 rootfstype=ext4 overlays=sun50ih616spidev1_0 sun50ih616spidev1_1 sun50ih616spispidev sun50ih616tft35_spi usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u After rebooting with this configuration, the device nodes are not created. The output of ls /dev/spidev* is empty. Attempt 2: Using a custom user overlay Next, I tried creating a custom Device Tree Overlay. I created the file /boot/overlay-user/sp1-spidev.dts with the following content: /dts-v1/; /plugin/; / { compatible = "allwinner,sun50i-h616"; fragment@0 { target = <&spi1>; __overlay__ { status = "okay"; pinctrl-names = "default"; #address-cells = <1>; #size-cells = <0>; spidev@0 { compatible = "spidev"; reg = <0>; spi-max-frequency = <50000000>; }; }; }; }; I then added sp1-spidev to the overlays line in armbianEnv.txt. This method seems to be partially working. After a reboot, I can see the SPI master controller: $ ls /sys/class/spi_master/ spi0 spi1 However, the spidev device is still missing. ls /dev/spidev* is still empty. Diagnostic Information Here is the output of dmesg filtered for "spi". It seems to refer to spi0, not spi1 which I am trying to configure, but I'm including it for completeness. $ dmesg | grep -i spi [ 2.821043] spi-nor spi0.0: supply vdd not found, using dummy regulator My Question I don't understand why the /dev/spidev* device is not being created, even when the spi1 master appears to be correctly enabled via the overlay. It seems like the spidev driver is not binding to the device. Since this worked on older kernels, has the method for enabling SPI devices changed? What is the correct procedure now? Is there something I'm missing in my overlay file or configuration? Thank you for your help 0 Quote
robertoj Posted Thursday at 05:46 PM Posted Thursday at 05:46 PM Is it the 128x160 1.8" red screen? Combine the knowledge of https://forums.raspberrypi.com/viewtopic.php?t=380704&hilit=ST7735S#p2275556 and https://forum.armbian.com/topic/47971-driving-the-ili9488-lcd-40-inch-cheap-chinese-clone/ To use the panel-mipi-dbi-spi driver, which is more universal for SPI screens Warning: you will not get the spidev, and the linux OS will handle all the rendering. Also, X11 may have a problem with Linux 6.14, unless someone fixes a bug 0 Quote
bsrobot Posted 3 hours ago Author Posted 3 hours ago Hello, and thank you for the suggestions. Just to clarify, I am not using an ILI9341 or ST7789 display. My display is a ST7735S (1.8", 128x160), a generic model purchased from AliExpress. The main issue is that while this setup worked perfectly on older Armbian kernels, it's no longer working with the current Kernel 6.12.x. It seems like the necessary module might have been removed or changed in the newer versions. I am not using a desktop environment; my goal is to use the display directly from the console/framebuffer (no X11). I’ve made some progress, but now I’m stuck. Here’s what I'm observing: The system does create a framebuffer device at /dev/fb0. When I use a tool like fbi to show an image, it runs without any errors. If I try to dump the framebuffer device (e.g., cat /dev/fb0), it outputs data, which suggests something is being written to the buffer. The problem is on the physical display itself: the screen's backlight turns on, but it remains completely blank (white). No image is ever displayed. I'm unfortunately not sure how to proceed from here. It feels like the display is being initialized enough to turn on the backlight, but the actual image data isn't being displayed correctly. I suspect the driver is not sending the right commands. Does anyone have an idea what I could try next? Thank you! 0 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.