Hi Timur,
On Sat, Feb 28, 2009 at 10:32:30AM -0600, Timur Tabi wrote:
On Sat, Feb 28, 2009 at 6:13 AM, Daniel Mack daniel@caiaq.de wrote:
Hmm - mclk bits are set with 'reg |= cs4270_mode_ratios[i].mclk;' unconditionally, and both speed flags are used when in slave mode. Don't see where you suspect a flaw here?
I think the code is fine, my question is more about the behavior of the hardware. We were never able to get our board to run reliably with the cs4270 in slave mode, so I never gave it much thought. I was hoping you could explain why you still need to set the mclk bits in the mode register when you're in slave mode.
We use the CS4270 in many projects (external soundcards) and in some of them, we even link up to four of them together and put them all to slave mode which works perfectly fine. It's just the first time I use it on a Linux based board, though.
Setting the MCLKs for slave mode is probably not necessary (the datesheet says so, too), but it doesn't harm either. We're doing that for our other applications, so I copied the behaviour. In general, I can says that this codec is a very smoothly working piece of hardware, we never had any hazzle with it and use it for years now - what are the effects that you see?
Daniel