Search this thread on some hints to get I2S working on the Zero. IIRC, depending what version of the Zero you have you might need some extra surgery to enable I2S.
Hi guys.
I’m new to Volumio and new here. First of all thank you all for great job with volumio.
Recently having more spare time because of COVID I was digging in my drawer I found OrangePi One board and WM8804 board from AliExpress. It’s called PiFi v1.0 and is a clone of many similar boards.
I wanted to make it work and found Volumio but I didn’t find any working solution for this pair (Opi+pifi). So I’ve decided to give it a try. Inspired by Alexandre Belloni talk on YouTube about ASOC architecture on Linux I wanted to make it work without special machine driver (anyway all that rasp hats with wm8804 are just PCB with WM8804, power IC, Xtal and toslink interface without any logic), (precisely speaking simple-audio-card is machine driver) and no changes to platform driver. Linux kernel tree wm8804 driver is (as per documentation)for hardware mode meanwhile all that hats set wm8004 in software mode. So it took some minor touches to wm8804 driver to make it more software mode usable with some parameters passed via DT (dts file).
It works in Master mode (WM804 is master) which is better and native audio solution. IMHO it can’t be used in slave mode with OPI One as wm8804 needs external MCLK clock in slave mode for SPDIF transmitter but Opi One doesn’t provide it to outside world. Only wm8804 driver is changed a little bit so it should work with other boards with armbian and i2s platform driver (even in slave mode as my pifi v1.0 board has MCLK pin connected to pad on PCB).
Just remember that Opi One pin header is compatible with raspberry but not in 100% and I2S pins don’t match so layer 1 (hardware layer) requires some modifications which was covered in previous posts.
As I’m new to Volumio I generated platform files with armbian toolchain and used opifam branch of Volumio github to generate image (without digging deeper in Volumio architecture). It’s based on 5.10 kernel.
It works pretty cool for me. At the moment (I hope it’ll change) I’m using Technics DX950 so I’ve tested it to 24bit@48K but it should go up to 24bits@192k. Also testes optical and electrical outputs.
Hi ktoanlba, thank you for all your work!
I uesd your build Volumio-2.834-2020-10-24-orangepizero.img
but the borad does not boot. I connected the TTL serial and find that the message stoped at
“Starting kernel …
Uncompressing Linux… done, booting the kernel.”
In this state I connect the LAN and the yellow and green LED are light but it didn’t respond.
just as the image shows. So did you also meet the same problem?
Did you build the latest image for the orangepizero?
Best Regards!
Hi Giachi, which img you used for your orangepi?
I used Volumio-2.834-2020-10-24-orangepizero.img but it stoped at booting,
can you share which build you are using?
Best regards!
Hi mafiu!Thank you for your work for orangepi one!
Could you please also buil a new img for orangepizero? I used the img build by ktoanlba but it dose not boot. I’ve been confused about this for a week
Bset regards!
It can be seen that the sound is being converted.
I started to find out the reason, after reading the forums, I realized that I needed a patch to the kernel. It was only necessary to fork quirks.
I wrote a patch, compiled the kernel with parameters for E1 DA 9038D, built a Volume image for OrangePi.
I installed and received the native DSD sound:
Hello ! I’m still waiting for the full installation instructions on orange pi if there’s any, I’m in 2weeks no sleep for this project can’t make it work
PS:20x4 LCD Parallel Connections will surely help !