[linux-cirrus] Re: 2.6.20-rcX kernel status
- From: Chase Douglas <cndougla@xxxxxxxxxx>
- To: linux-cirrus@xxxxxxxxxxxxx
- Date: Fri, 29 Dec 2006 16:02:49 -0500
* sound i2s
???
I've been working on this recently in conjunction with a new
project.
Given some of the requirements, it was easier for me to start from
scratch in this instance than attempt to port the older Cirrus I2S
driver. I would like to go back at some point and either a)
forward
port the older Cirrus driver, or b) use what I've started on as a
basis for an ALSA driver going forward.
To do this right will probably require DMA, SSP, and FIQ support.
Why FIQ support?
Because I've run into instances where I've been unable to service a
regular (RX-only for now) IRQ in an adequate amount of time. This
includes setting the FIFO to interrupt at "half-full" rather than
"full", (note that at "full" the first L/R data sample must be read
within ~21 usec to avoid overflow).
Right, but you only have this problem if you run in PIO mode. If you
let the DMA controller do the work for you (which is what my driver
does), you don't have this problem.
BTW, I posted my driver to linux-arm-kernel@ for review the other day.
As I said before, it's fairly easy to add I2S support, I'll probably
have a try at that when I get bored.
I've been trying to work on the I2S support, but I can't seem to find
any basic documentation on this series of chips. Where can you find
all the register definitions and documentation of how to set up and
use the different onboard peripherals of the ep93xx chips?
Thanks
- Follow-Ups:
- [linux-cirrus] Re: 2.6.20-rcX kernel status
- From: Lennert Buytenhek
- References:
- [linux-cirrus] 2.6.20-rcX kernel status
- From: Manfred Gruber
- [linux-cirrus] Re: 2.6.20-rcX kernel status
- From: Cory T. Tusar
- [linux-cirrus] Re: 2.6.20-rcX kernel status
- From: Lennert Buytenhek
- [linux-cirrus] Re: 2.6.20-rcX kernel status
- From: Cory T. Tusar
- [linux-cirrus] Re: 2.6.20-rcX kernel status
- From: Lennert Buytenhek
Other related posts:
- » [linux-cirrus] 2.6.20-rcX kernel status
- » [linux-cirrus] Re: 2.6.20-rcX kernel status
- » [linux-cirrus] Re: 2.6.20-rcX kernel status
- » [linux-cirrus] Re: 2.6.20-rcX kernel status
- » [linux-cirrus] Re: 2.6.20-rcX kernel status
- » [linux-cirrus] Re: 2.6.20-rcX kernel status
- » [linux-cirrus] Re: 2.6.20-rcX kernel status
- » [linux-cirrus] Re: 2.6.20-rcX kernel status
- » [linux-cirrus] Re: 2.6.20-rcX kernel status
- » [linux-cirrus] Re: 2.6.20-rcX kernel status
- » [linux-cirrus] Re: 2.6.20-rcX kernel status
- » [linux-cirrus] Re: 2.6.20-rcX kernel status
- » [linux-cirrus] Re: 2.6.20-rcX kernel status
- » [linux-cirrus] Re: 2.6.20-rcX kernel status
- » [linux-cirrus] Re: 2.6.20-rcX kernel status
I've been working on this recently in conjunction with a new project.* sound i2s ???Given some of the requirements, it was easier for me to start from scratch in this instance than attempt to port the older Cirrus I2Sdriver. I would like to go back at some point and either a) forwardport the older Cirrus driver, or b) use what I've started on as a basis for an ALSA driver going forward. To do this right will probably require DMA, SSP, and FIQ support.Why FIQ support?Because I've run into instances where I've been unable to service a regular (RX-only for now) IRQ in an adequate amount of time. This includes setting the FIFO to interrupt at "half-full" rather than "full", (note that at "full" the first L/R data sample must be read within ~21 usec to avoid overflow).
Right, but you only have this problem if you run in PIO mode. If you let the DMA controller do the work for you (which is what my driver does), you don't have this problem. BTW, I posted my driver to linux-arm-kernel@ for review the other day. As I said before, it's fairly easy to add I2S support, I'll probably have a try at that when I get bored.
- [linux-cirrus] Re: 2.6.20-rcX kernel status
- From: Lennert Buytenhek
- [linux-cirrus] 2.6.20-rcX kernel status
- From: Manfred Gruber
- [linux-cirrus] Re: 2.6.20-rcX kernel status
- From: Cory T. Tusar
- [linux-cirrus] Re: 2.6.20-rcX kernel status
- From: Lennert Buytenhek
- [linux-cirrus] Re: 2.6.20-rcX kernel status
- From: Cory T. Tusar
- [linux-cirrus] Re: 2.6.20-rcX kernel status
- From: Lennert Buytenhek