Devicetree
 help / color / mirror / Atom feed
From: Linus Walleij <linusw@kernel.org>
To: 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>, Lee Jones <lee@kernel.org>,
	 Jaroslav Kysela <perex@perex.cz>, Takashi Iwai <tiwai@suse.com>
Cc: linux-sound@vger.kernel.org, devicetree@vger.kernel.org,
	 mfd@lists.linux.dev, Linus Walleij <linusw@kernel.org>
Subject: [PATCH v2 1/9] ASoC: dt-bindings: sound: Prepare Ux500 audio graph links
Date: Fri, 18 Sep 2026 00:50:59 +0200	[thread overview]
Message-ID: <20260918-ux500-simple-sound-v2-1-88d29416e3c3@kernel.org> (raw)
In-Reply-To: <20260918-ux500-simple-sound-v2-0-88d29416e3c3@kernel.org>

Audio graph card drivers parse TDM slot data and continuous clock
selection from endpoint nodes. The audio graph endpoint schema describes
slot count and width directly but does not cover sparse slot masks or
continuous clocking. Reference the common TDM slot schema so TX and RX
masks are documented, and add the continuous-clock flag.

Replace the incomplete Ux500 MSP text binding with a DT schema that
describes the clocks, reset, DMA channels and power supply consumed by
the driver. Define the MSP as a zero-cell sound DAI provider and allow
it to expose an audio graph port.

Assisted-by: LLM
Signed-off-by: Linus Walleij <linusw@kernel.org>
---
 .../bindings/sound/audio-graph-port.yaml           | 10 +--
 .../bindings/sound/stericsson,ux500-msp-i2s.yaml   | 96 ++++++++++++++++++++++
 .../devicetree/bindings/sound/ux500-msp.txt        | 42 ----------
 3 files changed, 100 insertions(+), 48 deletions(-)

diff --git a/Documentation/devicetree/bindings/sound/audio-graph-port.yaml b/Documentation/devicetree/bindings/sound/audio-graph-port.yaml
index d1cbfc5edd3a..565d723d0398 100644
--- a/Documentation/devicetree/bindings/sound/audio-graph-port.yaml
+++ b/Documentation/devicetree/bindings/sound/audio-graph-port.yaml
@@ -39,6 +39,7 @@ definitions:
     allOf:
       - $ref: /schemas/graph.yaml#/$defs/endpoint-base
       - $ref: /schemas/sound/dai-params.yaml#
+      - $ref: /schemas/sound/tdm-slot.yaml#
     properties:
       mclk-fs:
         $ref: simple-card.yaml#/definitions/mclk-fs
@@ -48,6 +49,9 @@ definitions:
       bitclock-inversion:
         description: dai-link uses bit clock inversion
         $ref: /schemas/types.yaml#/definitions/flag
+      continuous-clock:
+        description: dai-link bit clock runs continuously rather than gated
+        $ref: /schemas/types.yaml#/definitions/flag
       frame-master:
         description: Indicates dai-link frame master.
         oneOf:
@@ -82,12 +86,6 @@ definitions:
             - msb
             - lsb
 
-      dai-tdm-slot-num:
-        description: Number of slots in use.
-        $ref: /schemas/types.yaml#/definitions/uint32
-      dai-tdm-slot-width:
-        description: Width in bits for each slot.
-        $ref: /schemas/types.yaml#/definitions/uint32
       dai-tdm-slot-width-map:
         description: Mapping of sample widths to slot widths. For hardware
           that cannot support a fixed slot width or a slot width always
diff --git a/Documentation/devicetree/bindings/sound/stericsson,ux500-msp-i2s.yaml b/Documentation/devicetree/bindings/sound/stericsson,ux500-msp-i2s.yaml
new file mode 100644
index 000000000000..bdfcd5376cfe
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/stericsson,ux500-msp-i2s.yaml
@@ -0,0 +1,96 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/stericsson,ux500-msp-i2s.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: ST-Ericsson Ux500 Multichannel Serial Port
+
+maintainers:
+  - Linus Walleij <linusw@kernel.org>
+
+description:
+  The Ux500 Multichannel Serial Port (MSP) is a synchronous serial audio
+  interface supporting I2S and PCM/TDM protocols. Data is transferred to and
+  from memory using the Ux500 DMA controller.
+
+allOf:
+  - $ref: dai-common.yaml#
+
+properties:
+  compatible:
+    const: stericsson,ux500-msp-i2s
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  v-ape-supply:
+    description: Analog power engine supply
+
+  dmas:
+    minItems: 1
+    maxItems: 2
+
+  dma-names:
+    minItems: 1
+    maxItems: 2
+    items:
+      enum: [ rx, tx ]
+
+  clocks:
+    items:
+      - description: MSP functional clock
+      - description: MSP APB bus clock
+
+  clock-names:
+    items:
+      - const: msp
+      - const: apb_pclk
+
+  resets:
+    maxItems: 1
+
+  '#sound-dai-cells':
+    const: 0
+
+  port:
+    $ref: audio-graph-port.yaml#
+    unevaluatedProperties: false
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - v-ape-supply
+  - dmas
+  - dma-names
+  - clocks
+  - clock-names
+  - resets
+  - '#sound-dai-cells'
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+    #include <dt-bindings/interrupt-controller/irq.h>
+    #include <dt-bindings/reset/stericsson,db8500-prcc-reset.h>
+
+    msp@80123000 {
+        compatible = "stericsson,ux500-msp-i2s";
+        reg = <0x80123000 0x1000>;
+        interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
+        v-ape-supply = <&db8500_vape_reg>;
+        dmas = <&dma 31 0 0x12>, <&dma 31 0 0x10>;
+        dma-names = "rx", "tx";
+        clocks = <&prcc_kclk 1 3>, <&prcc_pclk 1 3>;
+        clock-names = "msp", "apb_pclk";
+        resets = <&prcc_reset DB8500_PRCC_1 DB8500_PRCC_1_RESET_MSP0>;
+        #sound-dai-cells = <0>;
+    };
+
+...
diff --git a/Documentation/devicetree/bindings/sound/ux500-msp.txt b/Documentation/devicetree/bindings/sound/ux500-msp.txt
deleted file mode 100644
index 7dd1b96160f5..000000000000
--- a/Documentation/devicetree/bindings/sound/ux500-msp.txt
+++ /dev/null
@@ -1,42 +0,0 @@
-* ux500 MSP (CPU-side Digital Audio Interface)
-
-Required properties:
- - compatible       :"stericsson,ux500-msp-i2s"
- - reg              : Physical base address and length of the device's registers.
-
-Optional properties:
- - interrupts       : The interrupt output from the device.
- - <name>-supply    : Phandle to the regulator <name> supply
-
-Example:
-
-	sound {
-		compatible = "stericsson,snd-soc-mop500";
-
-		stericsson,platform-pcm-dma = <&pcm>;
-		stericsson,cpu-dai = <&msp1 &msp3>;
-		stericsson,audio-codec = <&codec>;
-	};
-
-	pcm: ux500-pcm {
-		compatible = "stericsson,ux500-pcm";
-	};
-
-	msp1: msp@80124000 {
-		compatible = "stericsson,ux500-msp-i2s";
-		reg = <0x80124000 0x1000>;
-		interrupts = <0 62 0x4>;
-		v-ape-supply = <&db8500_vape_reg>;
-	};
-
-	msp3: msp@80125000 {
-		compatible = "stericsson,ux500-msp-i2s";
-		reg = <0x80125000 0x1000>;
-		interrupts = <0 62 0x4>;
-		v-ape-supply = <&db8500_vape_reg>;
-	};
-
-	codec: ab8500-codec {
-		compatible = "stericsson,ab8500-codec";
-		stericsson,earpeice-cmv = <950>; /* Units in mV. */
-	};

-- 
2.55.0


  reply	other threads:[~2026-09-17 22:51 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-17 22:50 [PATCH v2 0/9] ASoC: ux500: Migrate HREF and Samsung audio to audio-graph-card2 Linus Walleij
2026-09-17 22:50 ` Linus Walleij [this message]
2026-09-17 22:59   ` [PATCH v2 1/9] ASoC: dt-bindings: sound: Prepare Ux500 audio graph links sashiko-bot
2026-09-17 22:51 ` [PATCH v2 2/9] mfd: dt-bindings: ab8500: Describe codec graph and microphone wiring Linus Walleij
2026-09-17 22:57   ` sashiko-bot
2026-09-24 14:21   ` (subset) " Lee Jones
2026-09-17 22:51 ` [PATCH v2 3/9] ASoC: dt-bindings: ux500: Remove MOP500 sound card binding Linus Walleij
2026-09-17 22:56   ` sashiko-bot
2026-09-17 22:51 ` [PATCH v2 4/9] ASoC: ab8500: Skip digital microphone support on AB8505 Linus Walleij
2026-09-17 23:07   ` sashiko-bot
2026-09-17 22:51 ` [PATCH v2 5/9] ASoC: ux500: Remove the MOP500 machine driver Linus Walleij
2026-09-17 23:03   ` sashiko-bot
2026-09-18  8:36     ` Linus Walleij
2026-09-17 22:51 ` [PATCH v2 6/9] ARM: dts: ux500: Add sound DAI provider cells Linus Walleij
2026-09-17 22:55   ` sashiko-bot
2026-09-23 17:27   ` Linus Walleij
2026-09-24  6:54     ` Lee Jones
2026-09-24  7:00       ` Linus Walleij
2026-09-24  9:44         ` Lee Jones
2026-09-24 11:04           ` Linus Walleij
2026-09-24 14:22             ` Lee Jones
2026-09-17 22:51 ` [PATCH v2 7/9] ARM: dts: ux500: Convert HREF audio to audio-graph-card2 Linus Walleij
2026-09-17 23:06   ` sashiko-bot
2026-09-18  8:37     ` Linus Walleij
2026-09-17 22:51 ` [PATCH v2 8/9] ARM: dts: ux500: Add Samsung phone audio graphs Linus Walleij
2026-09-17 23:06   ` sashiko-bot
2026-09-17 22:51 ` [PATCH v2 9/9] ARM: config: u8500: Enable audio graph card2 Linus Walleij
2026-09-17 22:57   ` sashiko-bot
2026-09-18 17:17 ` (subset) [PATCH v2 0/9] ASoC: ux500: Migrate HREF and Samsung audio to audio-graph-card2 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=20260918-ux500-simple-sound-v2-1-88d29416e3c3@kernel.org \
    --to=linusw@kernel.org \
    --cc=broonie@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=lee@kernel.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-sound@vger.kernel.org \
    --cc=mfd@lists.linux.dev \
    --cc=perex@perex.cz \
    --cc=robh@kernel.org \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox