I have been looking at the Wolfson card, specifically the Digital IO (SPDIF) functionality.
Having had problems attempting to use the card in 'External loopback' (i.e. SPDIF Output connected to Input), to test my temp fix for the Coherant DMA problems, I thought I would document my findings here (or to encourage others to shout, if I am wrong).
1. The SPDIF interface will work as a simplex Transmitter - the required frequency will be set from ALSA etc, and internal PLL will be configured correctly.
2. The SPDIF interface will work as a simplex Receiver -
3. The card will NOT work if you want to set a fixed Tx sample rate and also receive data at that rate.
Reasoning: (Looking at the datasheet, schematic and code) - When the wm8804 receiver is enabled, the internal PLL is configured automatically by the chip to lock to incoming data rate. The Transmitter is clocked from the internally generated (PLL) clock - no matter what the system sample rate is set to. Hence, you cannot say set the Transmitter frequency (e.g. to be 96kHz), and receive any data.
This means the card CANNOT be used;
a) as sample rate Master, if you want to receive data (even at the same, system frequency)
b) looping back it's output to input (e.g. for test)
(In theory, the WM8804 could be set into SLAVE mode, to use the MCLK pin as an INPUT. However, the datasheet suggests that Min 128Fs clock is required. Wiring across BCLK would not be fast enough. I cannot see where a 128Fs clock could be generated on the board. There is a DNP R43 that connects the WM8804 MCLK pin to GCLK (PIn7 of P1), but that seems to be the Master clock for the WM5102. )
4. The SPDIF interface can be used for Duplex Tx/Rx, iff it is a sample rate SLAVE to an external device.
Please comment if any of this is wrong. (I am about to stop my Wolfson Audio card ideas because of this).
Kind regards
Matt Willis
Oxford Creative Technology Ltd




