What driver to use for that "custom" DAC

Hi there,

I’m working on a Raspberry Pi (B+) project that should output audio through an FM transmitter IC. Right now I’m using the analog input, but I’d like to switch over to I2S, as the transmitter IC features a “digital mode”.

The mentioned IC is a 4713 by Silicon Labs. Their datasheet gives a minimal example how to use the digital mode:

I left out the resistors and connected DCLK, DIN, DFS directly to the Raspberry PCM_CLK, PCM_DOUT, PCM_FS.

It’s unclear to me, how to output the I2S to the transmitter IC? Which driver to use? I’m running latest and up to date Rasbian image on the Pi. I tried to load drivers for the HifiBerry, etc. and thought the might work with my IC, too. — no result.

The datasheet (silabs.com/Support%20Documen … 13-B30.pdf, P.23) says not much about the digital mode — mainly:

— and:

Can someone push me in the right direction, what software/drivers I need to install/use? The described I2S mode in the datasheet — is it “standard” and compatible with the Raspberry, or some proprietary thingi?

Thanks in advance & Regards,
Hans

Hello,

Hifiberry and generic should work without any changes

But for now I2S output doesnt work correctly on B+ … (some changes have to be made in the kernel)

Take a look at tjaekel website about that

Thank you so much — This information helps a lot! So i don’t have to try further for now… :slight_smile:

I think the model naming of the Raspberries is a bit problematic. There was the B in two revisions, and now there is the B+. This makes searching forums and the internet hard. I could not find clear information about I2S on the B+ in all places I looked for it.

Again — thank you! I’ll have a look at tjaekels site

Hi there — good news: my transmitter was playing I2s today!

Here is what I did:

  • Flashed SD card with newest raspbian image, 2014-09-09
  • To be save: rpi-update
  • Tweaked modules and rpi-blacklist files, created asound.conf

This is what my /etc/modules looks like

[code]#enable i2c
i2c-bcm2708
i2c-dev

disable analog audio

#snd-bcm2835

#enable dac+ hifiberry i2s output
snd_soc_core
snd_soc_bcm2708_i2s
bcm2708_dmaengine
snd_soc_pcm1794a
snd_soc_rpi_dac[/code]

This is my /etc/modprobe.d/raspi-blacklist.conf

blacklist spi-bcm2708 #blacklist i2c-bcm2708 #blacklist snd-soc-pcm512x #blacklist snd-soc-wm8804

Now I can play using aplay or mplayer. I just need to find out how to keep the PCM_DCLK and PCM_FS clocks up, when I don’t play any sound. My radio transmitter IC will leave I2S mode, when the clock signals are dead.

Thanks for your help!