kiffie / rpi-i2s-spdif Goto Github PK
View Code? Open in Web Editor NEWSoftware S/PDIF audio output for Raspberry Pi using the I2S interface
License: GNU General Public License v2.0
Software S/PDIF audio output for Raspberry Pi using the I2S interface
License: GNU General Public License v2.0
Hi, I like this idea of having SPDIF Output directly over GPIO but since I'm rather a noob I got stuck - Can you please tell me whats wrong? Changed the line in make file to:
#MY_BUILDDIR=/lib/modules/$(shell uname -r)/build
MY_BUILDDIR=/usr/src/linux-headers-6.1.19-v7+/
Also unsure why there are three versions of Kernel Headers:
This is what happens running the make file:
root@moodeTest:~/rpi-i2s-spdif# make
make -C /usr/src/linux-headers-6.1.19-v7+/ M=/root/rpi-i2s-spdif EXTRA_CFLAGS+=-I/root/rpi-i2s-spdif/include modules
make[1]: Entering directory '/usr/src/linux-headers-6.1.19-v7+'
CC [M] /root/rpi-i2s-spdif/bcm2708-i2s-spdif-driver.o
/root/rpi-i2s-spdif/bcm2708-i2s-spdif-driver.c: In function ‘bcm2708_i2s_setup_gpio’:
/root/rpi-i2s-spdif/bcm2708-i2s-spdif-driver.c:571:17: error: ‘GPIO_BASE’ undeclared (first use in this function)
571 | gpio = ioremap(GPIO_BASE, SZ_16K);
| ^~~~~~~~~
/root/rpi-i2s-spdif/bcm2708-i2s-spdif-driver.c:571:17: note: each undeclared identifier is reported only once for each function it appears in
/root/rpi-i2s-spdif/bcm2708-i2s-spdif-driver.c: In function ‘bcm2708_i2s_probe’:
/root/rpi-i2s-spdif/bcm2708-i2s-spdif-driver.c:718:14: error: ‘struct dma_slave_config’ has no member named ‘slave_id’
718 | slave_config.slave_id= BCM2708_DMA_DREQ_PCM_TX;
| ^
/root/rpi-i2s-spdif/bcm2708-i2s-spdif-driver.c:759:3: error: implicit declaration of function ‘snd_dma_continuous_data’ [-Werror=implicit-function-declaration]
759 | snd_dma_continuous_data(GFP_KERNEL),
| ^~~~~~~~~~~~~~~~~~~~~~~
/root/rpi-i2s-spdif/bcm2708-i2s-spdif-driver.c:759:3: warning: passing argument 3 of ‘snd_pcm_lib_preallocate_pages_for_all’ makes pointer from integer without a cast [-Wint-conversion]
759 | snd_dma_continuous_data(GFP_KERNEL),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| int
In file included from /root/rpi-i2s-spdif/bcm2708-i2s-spdif-driver.c:49:
./include/sound/pcm.h:1272:24: note: expected ‘void *’ but argument is of type ‘int’
1272 | int type, void *data,
| ~~~~~~^~~~
/root/rpi-i2s-spdif/bcm2708-i2s-spdif-driver.c:756:5: error: void value not ignored as it ought to be
756 | ret= snd_pcm_lib_preallocate_pages_for_all(
| ^
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:250: /root/rpi-i2s-spdif/bcm2708-i2s-spdif-driver.o] Error 1
make[1]: *** [Makefile:2012: /root/rpi-i2s-spdif] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-6.1.19-v7+'
make: *** [Makefile:9: all] Error 2
Any help? :)
Hi, this project is amazing, good job!
I am curious why don't support these sample rate, the original I2S output is support it.
I tried to add them into the configs code and install it, but seems not work.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.