VoCore: I2S Sound Card WM8960G 4(End)

Now the tutorial continues, as I promised 🙂

1. use this firmware, download here: Test Firmware
(This firmware is just used to make sure your VoCore do not have other drivers stop you install the new one. It installed enough tools for this tutorial, so you do not have to find it online)

2. flash this firmware to your VoCore.

3. get two files here:package uncompress and upload them to VoCore /tmp/ folder.
“vocore_gdma.ko” is the driver.
“out” is the test data file, just a part of a wav file, 44100Hz, 16bits, stereo.

4. copy and run the following magic command.

i2cset -y 0 0x1a 0x1e 0x00
i2cset -y 0 0x1a 0x0e 0x02
i2cset -y 0 0x1a 0x08 0x05
i2cset -y 0 0x1a 0x68 0x07
i2cset -y 0 0x1a 0x6a 0x86
i2cset -y 0 0x1a 0x6c 0xc2
i2cset -y 0 0x1a 0x6e 0x26
i2cset -y 0 0x1a 0x32 0xc0
i2cset -y 0 0x1a 0x35 0xe1
i2cset -y 0 0x1a 0x5e 0x0c
i2cset -y 0 0x1a 0x45 0x00
i2cset -y 0 0x1a 0x4b 0x00
i2cset -y 0 0x1a 0x0a 0x00
i2cset -y 0 0x1a 0x05 0xff
i2cset -y 0 0x1a 0x07 0xff

4.1. insert driver to kernel.

insmod /tmp/vocore-gdma.ko

4.2. send data to audio buffer.

cat /tmp/out > /sys/devices/10000000.palmbus/10002800.gdma/data

5. now, everything is ready, final command to play “out”.

echo 1 > /sys/devices/10000000.palmbus/10002800.gdma/play

6. After 5, you can heard some “music” output from your headphone, just a 5.9 seconds dead loop. Call this command to stop it.

echo 0 > /sys/devices/10000000.palmbus/10002800.gdma/play

PS: the music slice is from alan, æ‚Čしみはé›Șă«çœ ă‚‹, a lovely music 🙂
PSS: the music is weird somewhere…I think I must make some mistake when setting up the wm8960…(i2cset command)

But anyway, there is some music output at last. 😀
Here is the driver source code:vocore-gdma.c

Here is app from Wutong, did not use DMA interrupts, so you can run it under user mode.
i2swrite.zip

2 thoughts on “VoCore: I2S Sound Card WM8960G 4(End)

  1. nbmaiti

    Hi, It’s useful can u share the dtsi and module config files too?

Comments are closed.