IMX6SL and SSI2

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

IMX6SL and SSI2

Jump to solution
951 Views
nickstoughton
Contributor II

Has anyone had any successful experience using SSI2 as an I2S slave with a microphone codec connected to it?

I have an experimental driver for a microphone codec that appears to be doing all the right things electrically ... it is an I2S master, it is producing the bit clock and frame sync clocks at the right rate, is supplying data aligned to the rising edge of the bit clock, etc. It is connected to AUDMUX port 5. I have the AUDMUX setup like this:

PTCR5 = 0

PDCR5 = 0x00002000

PTCR2 = 0x0039C000

PDCR2 = 0x00008000

(note the codec signals are connected to RxC, RxFs and RxD, so we are in async mode).

SSI2 is setup like this:

stx0 = 0x00000000

srx0 = 0x00000000

scr = 0x00000445

sisr = 0x00001001

stcr = 0x0000028d

srcr = 0x0000028d

stccr = 0x00040000

srccr = 0x00016100

sfcsr = 0x000000dd

However, no interrupt or DMA event is ever generated. Anyone got any ideas what I'm doing wrong?

Labels (3)
0 Kudos
1 Solution
585 Views
nickstoughton
Contributor II

I ultimately found two answers to this question:

ANSWER 1: the configuration given will work if the SSI is I2S master and the external device is I2S slave. I never managed to make it work with this configuration the other way round.

ANSWER 2: With the external device as I2S master and the SSI in I2S slave mode, the Frame Sync and Bit  Clock MUST come in through the TxFs and TxClk pads, NOT the RxFS and RxClk. The AUDMUX should be in SYNC mode.

View solution in original post

0 Kudos
1 Reply
586 Views
nickstoughton
Contributor II

I ultimately found two answers to this question:

ANSWER 1: the configuration given will work if the SSI is I2S master and the external device is I2S slave. I never managed to make it work with this configuration the other way round.

ANSWER 2: With the external device as I2S master and the SSI in I2S slave mode, the Frame Sync and Bit  Clock MUST come in through the TxFs and TxClk pads, NOT the RxFS and RxClk. The AUDMUX should be in SYNC mode.

0 Kudos