I am using a custom board based on imx28 with the SAIF interface connected directly with the PCM output of a modem. I have written a dummy codec (with a line discipline that controls the modem), integrate it with mxs-devb.c. I am able to receive DMA irq but when __readl(SAIF0_DATA) i always receive 0x0. Even if i manualy write (__raw_writel(0x2131231, SAIF0_DATA_SET)) and then read the data i still get 0.
Do you have any ideeas?
Thanks for the reply.
Yes, it is true. If you write data to SAIF0_DATA it will be written to FIFO and when you read from SAIF0 it returns 0x0.
I tried to not activate (write(0, SAIF0_DATA)) the transmission in the trigger function and the transmission doesn't do anything so that proves the fact that the writings do happen.
Note the SAIF's FIFO. Data written to SAIF0_DATA will be transmitted to FIFO immediately.