Thank you. I also can confirm this issue on Armbian 25.5.1 Bookworm, and that the suggest workaround works.
For those interested, here is a more detailed explanation of what @Lars Christian Nygård said.
Create a backup of original DTB.
sudo cp /boot/dtb/allwinner/sun50i-h6-orangepi-3-lts.dts /boot/dtb/allwinner/sun50i-h6-orangepi-3-lts-orig.dts
Decompile the DTB for the Orange Pi 3 LTS.
sudo dtc -I dtb -O dts -o /boot/dtb/allwinner/sun50i-h6-orangepi-3-lts.dts /boot/dtb/allwinner/sun50i-h6-orangepi-3-lts.dtb
Modify the decompiled DTS file according with your favorite editor, e.g. nano or vim.
sudo nano /boot/dtb/allwinner/sun50i-h6-orangepi-3-lts.dts
Navigate to the "spi@5011000" section and modify it. Set "status" to "okay" and add the "spidev@0" section.
spi@5011000 {
compatible = "allwinner,sun50i-h6-spi\0allwinner,sun8i-h3-spi";
reg = <0x5011000 0x1000>;
interrupts = <0x00 0x0b 0x04>;
clocks = <0x06 0x53 0x06 0x51>;
clock-names = "ahb\0mod";
dmas = <0x2e 0x17 0x2e 0x17>;
dma-names = "rx\0tx";
pinctrl-names = "default";
pinctrl-0 = <0x31 0x32>;
resets = <0x06 0x20>;
status = "okay";
#address-cells = <0x01>;
#size-cells = <0x00>;
phandle = <0x78>;
spidev@0 {
compatible = "armbian,spi-dev";
reg = <0x00>;
spi-max-frequency = <0xf4240>;
};
};
Save and compile the modified DTS file.
sudo dtc -I dts -O dtb /boot/dtb/allwinner/sun50i-h6-orangepi-3-lts.dts -o /boot/dtb/allwinner/sun50i-h6-orangepi-3-lts.dtb
Remove any previously configured overlay for SPI using "armbian-config" or editing the "/boot/armbianEnv.txt" file directly. No further modifications are needed to load our new recompiled DTB, since we directly modified the base DTB. Reboot when done.