iMX35 SSI in AC97 Mode: how to set STMSK

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

iMX35 SSI in AC97 Mode: how to set STMSK

693 Views
martinburkhardt
Contributor I

Hello,

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!

Kind regards,

Martin

Labels (1)
0 Kudos
1 Reply

371 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Audio feature incorporates several modules to work together, they are DMA, SSI, AUDMUX, and audio CODEC


For AC97 codec

Registers setting

Functionality

SCR: TE =1, RE = 1 , SSIEN=1

Transmit/receive enable, SSI enable

STCCR : WL =16

16 bit word length

SRCCR : WL =16

16 bit word length

SACNT : AC97EN=1, TIF =0, FV = 0

Enable AC97 mode, fixed mode

SFCSR : TFWM0 = 4, RFWM0 = 6

Set Transmit/receive buffer depth

SIER : RDMAE=1, TDMAE=1

Enable DMA interrupt for transmit and receive

Hope this helps

0 Kudos