Re: How do I set up multiple codecs on one I2S - without TDM?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 7/26/23 12:48 AM, John Watts wrote:
Hello there!

I have an interesting problem that I'm trying to solve. It will require
writing adding driver support but right now I'm struggling to understand
how I should go about it all.

As a background, this is with the Allwinner D1 or T113. It has a 16
channel I2S controller and each channel can be configured to use a
specific pin and TDM time slice. Even channels are low LRCLK, odd are
high LRCLK.

So for my situation I want to have six channels:

- Channel 0: Timeslot 0, Pin 0, LRCLK 0 -> ADC 1
- Channel 1: Timeslot 0, Pin 0, LRCLK 1 -> ADC 1
- Channel 2: Timeslot 0, Pin 1, LRCLK 0 -> ADC 2
- Channel 3: Timeslot 0, Pin 1, LRCLK 1 -> ADC 2
- Channel 4: Timeslot 0, Pin 2, LRCLK 0 -> ADC 3
- Channel 5: Timeslot 0, Pin 2, LRCLK 1 -> ADC 3

It would help if you described what those different 'channels' are supposed to transmit. Usually channels mean a group of data that is rendered at the same time. It looks like you plan on transmitting independent streams that may be enabled/disabled separately.

Also you should describe if there are independent clocks or if all those 6 'channels' are transmitted with a single pair of bit/frame clocks? That completely changes the model, in the former case you could represent independent DAIs/dailinks but in the latter case you really have a single muxed stream.





[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux