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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.