im using iMX35 and try to develop an audio device driver for Realtek AC97 Codec (ALC 5611) under Windows CE 6.0. I use a Wavedev2 driver (Freescale iMX35 3-Stack) for SGTL5000 Codec as basis. I changed SSI to operate in AC97 Mode (Fixed Mode of Operation) instead of I2S, changed AUDUX and implemented functions for Realtek Codec. I can read/write register to the codec via AC97 so far. But i cant implement an audiostream in Slot #3/#4 via SDMA.
Our hardware connection is the following: we use 4-wired connection between SSI and the Codec (Clock, Framesync, Tx, Rx). The Clock is coming from the coded to SSI, Framesync is coming from SSI to Codec. My question is: do i have to write to the "SSI Transmit Time Slot Mask Register" or not? No matter what i write into this register, the value differs and changes while transmission (read/write register of codec). If i want to use Slot #3 and Slot #4 to transmit audio data, i would expect to write a ~0x19 to that register, to set Slot #0, Slot #3 and Slot #4 valid. Is that right? If i want to do only read/write operation to codec in slot #2 / slot #3 i guess to write ~0x3 to this register. Please help me to get this figured out!