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