All of lore.kernel.org
 help / color / mirror / Atom feed
From: Krzysztof Kozlowski <krzk@kernel.org>
To: "James Calligeros" <jcalligeros99@gmail.com>,
	"Martin Povišer" <povik+lin@cutebit.org>,
	"Liam Girdwood" <lgirdwood@gmail.com>,
	"Mark Brown" <broonie@kernel.org>,
	"Rob Herring" <robh@kernel.org>,
	"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
	"Conor Dooley" <conor+dt@kernel.org>,
	"Sven Peter" <sven@kernel.org>, "Janne Grunau" <j@jannau.net>,
	"Neal Gompa" <neal@gompa.dev>,
	"David Rhodes" <david.rhodes@cirrus.com>,
	"Richard Fitzgerald" <rf@opensource.cirrus.com>,
	"Jaroslav Kysela" <perex@perex.cz>,
	"Takashi Iwai" <tiwai@suse.com>, "Ulf Hansson" <ulfh@kernel.org>,
	"Amit Kucheria" <amit.kucheria@linaro.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	"Lars-Peter Clausen" <lars@metafoo.de>,
	"Vinod Koul" <vkoul@kernel.org>,
	"Matthias Brugger" <matthias.bgg@gmail.com>,
	"AngeloGioacchino Del Regno"
	<angelogioacchino.delregno@collabora.com>,
	"Shenghao Ding" <shenghao-ding@ti.com>,
	"Kevin Lu" <kevin-lu@ti.com>, "Baojun Xu" <baojun.xu@ti.com>,
	"Sen Wang" <sen@ti.com>,
	"James Schulman" <james.schulman@cirrus.com>
Cc: asahi@lists.linux.dev, linux-sound@vger.kernel.org,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	patches@opensource.cirrus.com, Takashi Iwai <tiwai@suse.de>,
	linux-mediatek@lists.infradead.org
Subject: Re: [PATCH 01/28] dt-bindings: sound: Add Apple Macs sound peripherals
Date: Wed, 23 Sep 2026 13:35:30 +0200	[thread overview]
Message-ID: <b1cd8166-2ede-4a47-88fe-e9d46f881000@kernel.org> (raw)
In-Reply-To: <20260920-macaudio-v1-1-741cc20a74e5@gmail.com>

On 20/09/2026 06:53, James Calligeros wrote:
> index 000000000000..bd844c9928c9
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/apple,macaudio.yaml
> @@ -0,0 +1,235 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sound/apple,macaudio.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Sound peripheral integration for Apple Silicon Macs
> +
> +description:
> +  This binding represents the overall machine-level integration of sound

Please rephrase to describe not what binding describes (circular) but
just say what this device is.

> +  peripherals on Apple Silicon Macs, starting with the M1 series.
> +
> +maintainers:
> +  - James Calligeros <jcalligeros99@gmail.com>
> +
> +properties:
> +  compatible:
> +    oneOf:
> +      - description: First-of-their-kind machines
> +        items:
> +          - enum:
> +              - apple,j180-macaudio
> +              - apple,j274-macaudio
> +              - apple,j293-macaudio
> +              - apple,j313-macaudio
> +              - apple,j314-macaudio
> +              - apple,j316-macaudio
> +              - apple,j375-macaudio
> +              - apple,j413-macaudio
> +              - apple,j415-macaudio
> +              - apple,j473-macaudio
> +              - apple,j456-macaudio
> +              - apple,j457-macaudio
> +          - const: apple,macaudio

As pointed out by Sven, please use specific compatible as fallback.
Descriptions will be also redundant in such case, since the fllback will
tell what is compatible with what.


> +      - description: Machines compatible with J293
> +        items:
> +          - enum:
> +              - apple,j493-macaudio
> +          - const: apple,j293-macaudio
> +          - const: apple,macaudio
> +      - description: Machines compatible with J314
> +        items:
> +          - enum:
> +              - apple,j414-macaudio
> +              - apple,j504-macaudio
> +              - apple,j514-macaudio
> +          - const: apple,j314-macaudio
> +          - const: apple,macaudio
> +      - description: Machines compatible with J316
> +        items:
> +          - enum:
> +              - apple,j416-macaudio
> +              - apple,j516-macaudio
> +          - const: apple,j316-macaudio
> +          - const: apple,macaudio
> +      - description: Machines compatible with J375
> +        items:
> +          - enum:
> +              - apple,j475-macaudio
> +              - apple,j575-macaudio
> +          - const: apple,j375-macaudio
> +          - const: apple,macaudio
> +      - description: Machines compatible with J413
> +        items:
> +          - enum:
> +              - apple,j613-macaudio
> +          - const: apple,j413-macaudio
> +          - const: apple,macaudio
> +      - description: Machines compatible with J415
> +        items:
> +          - enum:
> +              - apple,j615-macaudio
> +          - const: apple,j415-macaudio
> +          - const: apple,macaudio
> +      - description: Machines compatible with J473
> +        items:
> +          - enum:
> +              - apple,j474-macaudio
> +          - const: apple,j473-macaudio
> +          - const: apple,macaudio
> +
> +  "#address-cells":
> +    const: 1
> +
> +  "#size-cells":
> +    const: 0
> +
> +  model:
> +    description:
> +      Model name for presentation to users
> +    $ref: /schemas/types.yaml#/definitions/string
> +
> +patternProperties:
> +  "^dai-link(@[0-9a-f]+)?$":
> +    description: |
> +      Node for each sound peripheral such as the speaker array, headphones jack,
> +      or microphone.
> +    type: object
> +    $ref: tdm-slot.yaml#
> +
> +    additionalProperties: false
> +
> +    properties:
> +      reg:
> +        maxItems: 1
> +
> +      link-name:
> +        description: |
> +          Name for the peripheral, expecting 'Speaker' or 'Speakers' if this is
> +          the speaker array.

If there is actual expectation, please encode it as schema, e.g.

enum: [ Speaker, Speakers ]

You can also drop | from description.

> +        $ref: /schemas/types.yaml#/definitions/string
> +
> +      cpu:
> +        type: object
> +
> +        properties:
> +          sound-dai:
> +            description: |
> +              DAI list with CPU-side I2S ports involved in this peripheral.
> +            minItems: 1
> +            maxItems: 2
> +
> +        required:
> +          - sound-dai
> +
> +      codec:
> +        type: object
> +
> +        properties:
> +          sound-dai:
> +            minItems: 1
> +            maxItems: 8
> +            description: |
> +              DAI list with the CODEC-side DAIs connected to the above CPU-side
> +              DAIs and involved in this sound peripheral.
> +
> +              The list is in left/right order if applicable. If there are more
> +              than one CPU-side DAIs (there can be two), the CODECs must be
> +              listed first those connected to the first CPU, then those
> +              connected to the second.
> +
> +              In addition, on some machines with many speaker codecs, the CODECs
> +              are listed in this fixed order:
> +
> +              Four speakers: Left Front, Left Rear, Right Front, Right Rear
> +              Six speakers: Left Woofer 1, Left Tweeter, Left Woofer 2,
> +                            Right Woofer 1, Right Tweeter, Right Woofer 2
> +
> +        required:
> +          - sound-dai
> +
> +    patternProperties:
> +      "^dai-tdm-idle-mode-[0-9]$":
> +        $ref: tdm-slot.yaml#/properties/dai-tdm-idle-mode
> +
> +      "^dai-tdm-slot-tx-idle-mask-[0-9]$":
> +        $ref: /schemas/types.yaml#/definitions/uint32
> +        description: Idle slot mask. A bit being set to 1 indicates
> +          that the corresponding TDM slot is inactive/idle.
> +
> +    required:
> +      - reg
> +      - cpu
> +      - codec
> +
> +required:
> +  - compatible
> +  - model
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    mca: mca@9b600000 {
> +      compatible = "apple,t6000-mca", "apple,mca";
> +      reg = <0x9b600000 0x10000>,
> +            <0x9b500000 0x20000>;
> +
> +      clocks = <&nco 0>, <&nco 1>, <&nco 2>, <&nco 3>;
> +      power-domains = <&ps_audio_p>, <&ps_mca0>, <&ps_mca1>,
> +                      <&ps_mca2>, <&ps_mca3>;
> +      dmas = <&admac 0>, <&admac 1>, <&admac 2>, <&admac 3>,
> +             <&admac 4>, <&admac 5>, <&admac 6>, <&admac 7>,
> +             <&admac 8>, <&admac 9>, <&admac 10>, <&admac 11>,
> +             <&admac 12>, <&admac 13>, <&admac 14>, <&admac 15>;
> +      dma-names = "tx0a", "rx0a", "tx0b", "rx0b",
> +                  "tx1a", "rx1a", "tx1b", "rx1b",
> +                  "tx2a", "rx2a", "tx2b", "rx2b",
> +                  "tx3a", "rx3a", "tx3b", "rx3b";
> +
> +      #sound-dai-cells = <1>;
> +    };
> +

Other nodes rarely need to be in the example. It's not even referenced
(although that also does not matter). Please drop.


> +    sound {
> +      compatible = "apple,j416-macaudio", "apple,j316-macaudio", "apple,macaudio";
> +      model = "MacBook Pro J416";
> +
> +      #address-cells = <1>;
> +      #size-cells = <0>;
> +
> +      dai-link@0 {
> +        reg = <0>;
> +        link-name = "Speakers";
> +
> +        dai-tdm-idle-mode-0 = "zero";
> +        dai-tdm-idle-mode-3 = "zero";
> +        dai-tdm-slot-tx-idle-mask-0 = <0xf0f0f0>;
> +        dai-tdm-slot-tx-idle-mask-3 = <0x0f0f0f>;
> +
> +        cpu {
> +          sound-dai = <&mca 0>, <&mca 1>;
> +        };
> +
> +        codec {
> +          sound-dai = <&speaker_left_woof1>,
> +                      <&speaker_left_tweet>,
> +                      <&speaker_left_woof2>,
> +                      <&speaker_right_woof1>,
> +                      <&speaker_right_tweet>,
> +                      <&speaker_right_woof2>;
> +        };
> +      };
> +
> +      dai-link@1 {
> +        reg = <1>;
> +        link-name = "Headphones Jack";
> +
> +        cpu {
> +          sound-dai = <&mca 2>;
> +        };
> +        codec {
> +          sound-dai = <&jack_codec>;
> +        };
> +      };
> +    };
> 


Best regards,
Krzysztof


  parent reply	other threads:[~2026-09-23 11:35 UTC|newest]

Thread overview: 73+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-20  4:53 [PATCH 00/28] Add speaker and headset jack support for Apple Silicon Macs James Calligeros
2026-09-20  4:53 ` [PATCH 01/28] dt-bindings: sound: Add Apple Macs sound peripherals James Calligeros
2026-09-20  5:06   ` sashiko-bot
2026-09-20 18:45   ` Sven Peter
2026-09-21 15:02   ` Mark Brown
2026-09-21 15:22   ` Mark Brown
2026-09-23 11:35   ` Krzysztof Kozlowski [this message]
2026-09-20  4:53 ` [PATCH 02/28] ASoC: cs42l42: Fix typo James Calligeros
2026-09-21 15:25   ` Mark Brown
2026-09-20  4:53 ` [PATCH 03/28] ASoC: cs42l42: Set a faster digital ramp-up rate James Calligeros
2026-09-20  4:53 ` [PATCH 04/28] ASoC: apple: mca: Fix PD link double-frees James Calligeros
2026-09-20  4:53 ` [PATCH 05/28] alsa: pcm: Remove the qos request only if active James Calligeros
2026-09-21 15:03   ` Mark Brown
2026-09-22  8:09   ` Mark Brown
2026-09-20  4:53 ` [PATCH 06/28] ALSA: dmaengine: Always terminate DMA when a PCM is closed James Calligeros
2026-09-20  5:05   ` sashiko-bot
2026-09-22 10:12   ` Mark Brown
2026-09-20  4:53 ` [PATCH 07/28] ALSA: Support nonatomic dmaengine PCMs James Calligeros
2026-09-20  5:09   ` sashiko-bot
2026-09-21 15:32   ` Mark Brown
2026-09-20  4:53 ` [PATCH 08/28] ALSA: control: Add kcontrol callbacks for lock/unlock James Calligeros
2026-09-20  5:11   ` sashiko-bot
2026-09-29  9:52   ` Takashi Iwai
2026-10-03  1:34     ` James Calligeros
2026-10-03  6:39       ` Takashi Iwai
2026-10-03  9:22         ` Takashi Iwai
2026-09-20  4:53 ` [PATCH 09/28] ASoC: ops: Move guts out of snd_soc_limit_volume James Calligeros
2026-09-20  4:53 ` [PATCH 10/28] ASoC: ops: Accept patterns in snd_soc_limit_volume James Calligeros
2026-09-20  5:12   ` sashiko-bot
2026-09-21 15:27   ` Mark Brown
2026-09-21 16:27     ` Charles Keepax
2026-09-23 11:12       ` James Calligeros
2026-09-20  4:53 ` [PATCH 11/28] ASoC: ops: Introduce 'snd_soc_deactivate_kctl' James Calligeros
2026-09-20  5:09   ` sashiko-bot
2026-09-22  9:53   ` Mark Brown
2026-09-20  4:53 ` [PATCH 12/28] ASoC: ops: Introduce 'soc_set_enum_kctl' James Calligeros
2026-09-20  5:10   ` sashiko-bot
2026-09-22  9:50   ` Mark Brown
2026-09-20  4:53 ` [PATCH 13/28] ASoC: card: Let 'fixup_controls' return errors James Calligeros
2026-09-20  4:53 ` [PATCH 14/28] ASoC: ops: Export snd_soc_control_matches() James Calligeros
2026-09-22  9:43   ` Mark Brown
2026-09-20  4:53 ` [PATCH 15/28] ASoC: tas2764: Set up V/ISENSE on codec probe James Calligeros
2026-09-20  5:10   ` sashiko-bot
2026-09-22  9:40   ` Mark Brown
2026-09-20  4:53 ` [PATCH 16/28] ASoC: apple: Add macaudio machine driver James Calligeros
2026-09-20  5:14   ` sashiko-bot
2026-09-22  9:38   ` Mark Brown
2026-09-26  1:06     ` James Calligeros
2026-09-28 11:03       ` Mark Brown
2026-09-30  7:36         ` James Calligeros
2026-09-30 11:17           ` Mark Brown
2026-09-20  4:53 ` [PATCH 17/28] arm64: dts: apple: t8103-j274: Add speaker/headset jack nodes James Calligeros
2026-09-20  5:14   ` sashiko-bot
2026-09-20  4:53 ` [PATCH 18/28] arm64: dts: apple: t8103-j313: " James Calligeros
2026-09-20  4:53 ` [PATCH 19/28] arm64: dts: apple: t8103-j293: " James Calligeros
2026-09-20  5:19   ` sashiko-bot
2026-09-20  4:53 ` [PATCH 20/28] arm64: dts: apple: t8103-j45x: Add headset " James Calligeros
2026-09-20  5:16   ` sashiko-bot
2026-09-20  4:54 ` [PATCH 21/28] arm64: dts: apple: t8112-j413: Add speaker/headset " James Calligeros
2026-09-20  5:14   ` sashiko-bot
2026-09-20  4:54 ` [PATCH 22/28] arm64: dts: apple: t8112-j415: " James Calligeros
2026-09-20  4:54 ` [PATCH 23/28] arm64: dts: apple: t8112-j473: " James Calligeros
2026-09-20  5:19   ` sashiko-bot
2026-09-20  4:54 ` [PATCH 24/28] arm64: dts: apple: t8112-j493: " James Calligeros
2026-09-20  5:17   ` sashiko-bot
2026-09-20  4:54 ` [PATCH 25/28] arm64: dts: apple: t600x-j31x: " James Calligeros
2026-09-20  5:17   ` sashiko-bot
2026-09-20  4:54 ` [PATCH 26/28] arm64: dts: apple: t600x-j375: " James Calligeros
2026-09-20  5:16   ` sashiko-bot
2026-09-20  4:54 ` [PATCH 27/28] arm64: dts: apple: t602x-j41x: " James Calligeros
2026-09-20  4:54 ` [PATCH 28/28] arm64: dts: apple: t602x-j47x: " James Calligeros
2026-09-20  5:15   ` sashiko-bot
2026-09-21 15:14 ` [PATCH 00/28] Add speaker and headset jack support for Apple Silicon Macs Mark Brown

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=b1cd8166-2ede-4a47-88fe-e9d46f881000@kernel.org \
    --to=krzk@kernel.org \
    --cc=amit.kucheria@linaro.org \
    --cc=angelogioacchino.delregno@collabora.com \
    --cc=asahi@lists.linux.dev \
    --cc=baojun.xu@ti.com \
    --cc=broonie@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=david.rhodes@cirrus.com \
    --cc=devicetree@vger.kernel.org \
    --cc=j@jannau.net \
    --cc=james.schulman@cirrus.com \
    --cc=jcalligeros99@gmail.com \
    --cc=kevin-lu@ti.com \
    --cc=krzk+dt@kernel.org \
    --cc=lars@metafoo.de \
    --cc=lgirdwood@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=linux-sound@vger.kernel.org \
    --cc=matthias.bgg@gmail.com \
    --cc=neal@gompa.dev \
    --cc=patches@opensource.cirrus.com \
    --cc=perex@perex.cz \
    --cc=povik+lin@cutebit.org \
    --cc=rafael.j.wysocki@intel.com \
    --cc=rf@opensource.cirrus.com \
    --cc=robh@kernel.org \
    --cc=sen@ti.com \
    --cc=shenghao-ding@ti.com \
    --cc=sven@kernel.org \
    --cc=tiwai@suse.com \
    --cc=tiwai@suse.de \
    --cc=ulfh@kernel.org \
    --cc=vkoul@kernel.org \
    /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.