From: Nicolas Frattaroli <firstname.lastname@example.org>
To: Mark Brown <email@example.com>
Cc: Liam Girdwood <firstname.lastname@example.org>,
Rob Herring <email@example.com>,
Heiko Stuebner <firstname.lastname@example.org>,
Subject: Re: [PATCH v4 2/4] dt-bindings: sound: add rockchip i2s-tdm binding
Date: Wed, 15 Sep 2021 19:06:14 +0200 [thread overview]
Message-ID: <42974939.Tn3hggVSkZ@archbook> (raw)
On Mittwoch, 15. September 2021 16:10:12 CEST Mark Brown wrote:
> On Sat, Sep 04, 2021 at 01:15:34AM +0200, Nicolas Frattaroli wrote:
> > + rockchip,tdm-fsync-half-frame:
> > + description: Whether to use half frame fsync.
> > + type: boolean
> > +
> Why is this not part of the normal bus format configuration? I don't
> know what this is but it sounds a lot like I2S mode...
This affects all TDM I2S modes, i.e. TDM Normal, TDM Left Justified and TDM
Without tdm-fsync-half-frame, we purportedly get the following output in TDM
Normal Mode (I2S Format):
(ch0l = channel 0 left, ch0r = channel 0 right)
sdi/sdo: ch0l, ch0r, ..., ch3l, ch3r, ch0l, ch0r, ...
With tdm-fsync-half-frame, we purportedly get the following:
sdi/sdo: ch0l, ch1l, ch2l, ch3l, ch0r, ch1r, ch2r, ch3r
At least, according to the TRM. I do not have an oscilloscope to verify this
myself, and in the following paragraphs, I will elaborate why this seems
confusing to me.
The comment block "DAI hardware signal polarity" in soc-dai.h seems to imply
that what the TRM says the tdm-fsync-half-frame mode is (if one inverts fsync
polarity of those waveforms), is what is expected:
> * FSYNC "normal" polarity depends on the frame format:
> * - I2S: frame consists of left then right channel data. Left channel starts
> * with falling FSYNC edge, right channel starts with rising FSYNC edge.
> * - Left/Right Justified: frame consists of left then right channel data.
> * Left channel starts with rising FSYNC edge, right channel starts with
> * falling FSYNC edge.
I don't know if this is only applicable to non-TDM I2S, and whether it's
normal to have the channels interleaved like that in TDM.
I don't see any DAIFMT that does what this does in any case.
So to answer the question, it's not part of the bus format because it applies
to three bus formats, and I'm completely out of my depth here and wouldn't
define three separate bus formats based on my own speculation of how this
next prev parent reply other threads:[~2021-09-15 17:06 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-03 23:15 [PATCH v4 0/4] Rockchip I2S/TDM controller Nicolas Frattaroli
2021-09-03 23:15 ` [PATCH v4 1/4] ASoC: rockchip: add support for i2s-tdm controller Nicolas Frattaroli
2021-09-15 14:05 ` Mark Brown
2021-09-15 14:12 ` Mark Brown
2021-09-03 23:15 ` [PATCH v4 2/4] dt-bindings: sound: add rockchip i2s-tdm binding Nicolas Frattaroli
2021-09-08 12:08 ` Rob Herring
2021-09-15 14:10 ` Mark Brown
2021-09-15 17:06 ` Nicolas Frattaroli [this message]
2021-09-16 12:25 ` Mark Brown
2021-09-19 17:38 ` Nicolas Frattaroli
2021-09-20 11:49 ` Mark Brown
2021-09-03 23:15 ` [PATCH v4 3/4] arm64: dts: rockchip: add i2s1 on rk356x Nicolas Frattaroli
2021-09-03 23:15 ` [PATCH v4 4/4] arm64: dts: rockchip: add analog audio on Quartz64 Nicolas Frattaroli
2021-09-07 13:40 ` Chris Morgan
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:
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
* 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).