From: Rob Herring <robh@kernel.org>
To: James Calligeros <jcalligeros99@gmail.com>
Cc: Liam Girdwood <lgirdwood@gmail.com>,
Mark Brown <broonie@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Shawn Guo <shawnguo@kernel.org>,
Sascha Hauer <s.hauer@pengutronix.de>,
Pengutronix Kernel Team <kernel@pengutronix.de>,
Fabio Estevam <festevam@gmail.com>,
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>,
Shengjiu Wang <shengjiu.wang@nxp.com>,
Jaroslav Kysela <perex@perex.cz>, Takashi Iwai <tiwai@suse.com>,
Shenghao Ding <shenghao-ding@ti.com>, Kevin Lu <kevin-lu@ti.com>,
Baojun Xu <baojun.xu@ti.com>,
linux-sound@vger.kernel.org, devicetree@vger.kernel.org,
imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, asahi@lists.linux.dev
Subject: Re: [PATCH v2 3/7] ASoC: dt-bindings: add TDM slot idle mode properties
Date: Mon, 29 Dec 2025 19:38:07 -0600 [thread overview]
Message-ID: <20251230013807.GA3063323-robh@kernel.org> (raw)
In-Reply-To: <20251221-tdm-idle-slots-v2-3-ed4d96413aec@gmail.com>
On Sun, Dec 21, 2025 at 07:35:59PM +1000, James Calligeros wrote:
> Add properties to describe TDM slot idle behaviour. These properties can
> be used to describe how a DAI is supposed to behave when not active.
>
> For example, Apple Silicon laptops split a single I2S bus between two
> physical lines which are combined at an OR gate in front of the
> receiving port. One codec on each line is expected to transmit zeroes
> during the active TDM slots of the opposite line, or we will have corrupted
> data at the receiver.
>
> Signed-off-by: James Calligeros <jcalligeros99@gmail.com>
> ---
> .../bindings/sound/tdm-slot.yaml | 33 +++++++++++++++++++++++++
> 1 file changed, 33 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/sound/tdm-slot.yaml b/Documentation/devicetree/bindings/sound/tdm-slot.yaml
> index 5bc46048d689..e8b2d35a7c37 100644
> --- a/Documentation/devicetree/bindings/sound/tdm-slot.yaml
> +++ b/Documentation/devicetree/bindings/sound/tdm-slot.yaml
> @@ -33,6 +33,17 @@ $defs:
> $ref: /schemas/types.yaml#/definitions/uint32-array
> description: Receive direction slot mask. Optional. Identical to TX mask.
>
> + dai-tdm-idle-mode:
> + $ref: /schemas/types.yaml#/definitions/string
> + enum:
> + - none
> + - off
> + - zero
> + - pulldown
> + - hiz
> + - pullup
> + - drivehigh
> +
> properties:
> dai-tdm-slot-num:
> $ref: "#/$defs/dai-tdm-slot-num"
> @@ -46,4 +57,26 @@ properties:
> dai-tdm-slot-rx-mask:
> $ref: "#/$defs/dai-tdm-slot-rx-mask"
>
> + dai-tdm-slot-tx-idle-mode:
> + $ref: "#/$defs/dai-tdm-idle-mode"
> + description: Transmit direction idle slot mode. Optional. For hardware
> + that can configure its behaviour during idle TDM slots via
> + .set_tdm_idle(). "None" represents UB/unspecified behaviour and is the
> + same as not setting this property.
> +
> + dai-tdm-slot-rx-idle-mode:
> + $ref: "#/$defs/dai-tdm-idle-mode"
> + description: Receive direction idle slot mode. Optional. Identical to TX
> + idle slot mode.
> +
> + dai-tdm-slot-tx-idle-mask:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description: Transmit direction idle slot mask. Optional. 1 represents
> + an idle slot.
> +
> + dai-tdm-slot-rx-idle-mask:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description: Receive direction idle slot mask. Optional. Identical to
> + TX mask.
These can be under a patternProperties:
patternProperties:
'^dai-tdm-slot-[rt]x-idle-mode$':
...
'^dai-tdm-slot-[rt]x-idle-mask$':
...
And then remove the $defs.
Rob
next prev parent reply other threads:[~2025-12-30 1:38 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-21 9:35 [PATCH v2 0/7] ASoC: basic support for configuring bus keepers James Calligeros
2025-12-21 9:35 ` [PATCH v2 1/7] ASoC: dt-bindings: convert tdm-slot to YAML James Calligeros
2025-12-30 1:35 ` Rob Herring
2025-12-21 9:35 ` [PATCH v2 2/7] ASoC: dt-bindings: update tdm-slot.txt references to tdm-slot.yaml James Calligeros
2025-12-30 1:32 ` Rob Herring
2025-12-21 9:35 ` [PATCH v2 3/7] ASoC: dt-bindings: add TDM slot idle mode properties James Calligeros
2025-12-30 1:38 ` Rob Herring [this message]
2025-12-21 9:36 ` [PATCH v2 4/7] ASoC: soc-dai: define possible idle TDM slot modes James Calligeros
2025-12-21 9:36 ` [PATCH v2 5/7] ASoC: soc-dai: add common operation to set TDM idle mode James Calligeros
2025-12-21 9:36 ` [PATCH v2 6/7] ASoC: tas2764: expose SDOUT bus keeper via set_tdm_idle operation James Calligeros
2025-12-21 9:36 ` [PATCH v2 7/7] ASoC: tas2770: expose SDOUT bus keeper via set_tdm_idle James Calligeros
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=20251230013807.GA3063323-robh@kernel.org \
--to=robh@kernel.org \
--cc=asahi@lists.linux.dev \
--cc=baojun.xu@ti.com \
--cc=broonie@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=festevam@gmail.com \
--cc=imx@lists.linux.dev \
--cc=jcalligeros99@gmail.com \
--cc=kernel@pengutronix.de \
--cc=kevin-lu@ti.com \
--cc=krzk+dt@kernel.org \
--cc=kuninori.morimoto.gx@renesas.com \
--cc=lgirdwood@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=perex@perex.cz \
--cc=s.hauer@pengutronix.de \
--cc=shawnguo@kernel.org \
--cc=shenghao-ding@ti.com \
--cc=shengjiu.wang@nxp.com \
--cc=tiwai@suse.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.