From: John Watts <contact@jookia.org>
To: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Cc: alsa-devel@alsa-project.org
Subject: Re: How do I set up multiple codecs on one I2S - without TDM?
Date: Thu, 27 Jul 2023 19:50:36 +1000 [thread overview]
Message-ID: <ZMI97Pk0giYpLFdv@titan> (raw)
In-Reply-To: <c2f5a9ec-2927-f9bf-86a1-3388d0bac015@linux.intel.com>
On Thu, Jul 27, 2023 at 11:45:01AM +0200, Pierre-Louis Bossart wrote:
> 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.
Hello,
These channels are intended for measuring vibration at various points in a
vehicle. Each channel is a vibration measurement.
These all use the same I2S clock, multiplexing is handled by having each ADC
connected to a different I2S pin.
John.
next prev parent reply other threads:[~2023-07-27 15:54 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-25 22:48 How do I set up multiple codecs on one I2S - without TDM? John Watts
2023-07-27 9:45 ` Pierre-Louis Bossart
2023-07-27 9:50 ` John Watts [this message]
2023-08-01 17:55 ` John Watts
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZMI97Pk0giYpLFdv@titan \
--to=contact@jookia.org \
--cc=alsa-devel@alsa-project.org \
--cc=pierre-louis.bossart@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).