diff mbox series

[v4,13/13] dt-bindings: mediatek: mt8188: add mt8188-mt6359 document

Message ID 20221230055443.16024-14-trevor.wu@mediatek.com
State Superseded
Headers show
Series ASoC: mediatek: Add support for MT8188 SoC | expand

Commit Message

Trevor Wu Dec. 30, 2022, 5:54 a.m. UTC
Add document for mt8188 board with mt6359.

Signed-off-by: Trevor Wu <trevor.wu@mediatek.com>
---
 .../sound/mediatek,mt8188-mt6359.yaml         | 93 +++++++++++++++++++
 1 file changed, 93 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/sound/mediatek,mt8188-mt6359.yaml

Comments

Trevor Wu Jan. 3, 2023, 6:57 a.m. UTC | #1
On Mon, 2023-01-02 at 17:32 +0100, Krzysztof Kozlowski wrote:
> On 30/12/2022 06:54, Trevor Wu wrote:
> > Add document for mt8188 board with mt6359.
> 
> Use subject prefixes matching the subsystem (which you can get for
> example with `git log --oneline -- DIRECTORY_OR_FILE` on the
> directory
> your patch is touching).
> 
Hi Krzysztof,

I'm sorry, and I'll add "ASoC" prefix in v5.

> > 
> > Signed-off-by: Trevor Wu <trevor.wu@mediatek.com>
> > ---
> >  .../sound/mediatek,mt8188-mt6359.yaml         | 93
> > +++++++++++++++++++
> >  1 file changed, 93 insertions(+)
> >  create mode 100644
> > Documentation/devicetree/bindings/sound/mediatek,mt8188-mt6359.yaml
> > 
> > diff --git
> > a/Documentation/devicetree/bindings/sound/mediatek,mt8188-
> > mt6359.yaml
> > b/Documentation/devicetree/bindings/sound/mediatek,mt8188-
> > mt6359.yaml
> > new file mode 100644
> > index 000000000000..5754c1d460db
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/sound/mediatek,mt8188-
> > mt6359.yaml
> > @@ -0,0 +1,93 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: 
> > https://urldefense.com/v3/__http://devicetree.org/schemas/sound/mediatek,mt8188-mt6359.yaml*__;Iw!!CTRNKA9wMg0ARbw!nY7vxevqo8ILGHUn3JesshmMbBP7WhMOLpwDruvd_r_YINu99BUXrajVZU9xY2zEGFUXxtmrBOofaabZqwt22P8zOMZtkA$ 
> >  
> > +$schema: 
> > https://urldefense.com/v3/__http://devicetree.org/meta-schemas/core.yaml*__;Iw!!CTRNKA9wMg0ARbw!nY7vxevqo8ILGHUn3JesshmMbBP7WhMOLpwDruvd_r_YINu99BUXrajVZU9xY2zEGFUXxtmrBOofaabZqwt22P9Ehlwj2w$ 
> >  
> > +
> > +title: MediaTek MT8188 ASoC sound card
> > +
> > +maintainers:
> > +  - Trevor Wu <trevor.wu@mediatek.com>
> > +
> > +properties:
> > +  compatible:
> > +    const: mediatek,mt8188-mt6359-evb
> > +
> > +  model:
> > +    $ref: /schemas/types.yaml#/definitions/string
> > +    description: User specified audio sound card name
> > +
> > +  audio-routing:
> > +    $ref: /schemas/types.yaml#/definitions/non-unique-string-array
> > +    description:
> > +      A list of the connections between audio components. Each
> > entry is a
> > +      sink/source pair of strings. Valid names could be the input
> > or output
> > +      widgets of audio components, power supplies, MicBias of
> > codec and the
> > +      software switch.
> > +
> > +  mediatek,platform:
> > +    $ref: /schemas/types.yaml#/definitions/phandle
> > +    description: The phandle of MT8188 ASoC platform.
> > +
> > +patternProperties:
> > +  "^dai-link-[0-9]+$":
> > +    type: object
> 
> On this level:
> additionalProperties: false
> 
OK. I'll add it.

> > +    description: |
> > +      Container for dai-link level properties and CODEC sub-nodes.
> > +
> > +    properties:
> > +      dai-link-name:
> 
> Instead:
> link-name

OK. I'll replace it in v5.

> > +        description: |
> > +          This property corresponds to the name of the BE dai-link 
> > to which
> > +          we are going to update parameters in this node.
> > +        items:
> > +          enum:
> > +            - ADDA_BE
> > +            - DPTX_BE
> > +            - ETDM1_IN_BE
> > +            - ETDM2_IN_BE
> > +            - ETDM1_OUT_BE
> > +            - ETDM2_OUT_BE
> > +            - ETDM3_OUT_BE
> > +            - PCM1_BE
> > +
> > +      codec:
> > +        description: Holds subnode which indicates codec dai.
> > +        type: object
> > +        additionalProperties: false
> > +        properties:
> > +          sound-dai:
> > +            minItems: 1
> > +            maxItems: 2
> 
> required sound-dai
> 
Thanks, I will add it in v5.


> > +
> > +    required:
> > +      - dai-link-name
> > +      - codec
> > +
> > +additionalProperties: false
> > +
> > +required:
> > +  - compatible
> > +  - mediatek,platform
> > +
> 
> Your example looks pretty straightforward. Maybe you can use
> simple-card.yaml?	
> 

There is a major difference between simple card and MediaTek sound
card.
In MediaTek sound card, all supported dai-links are listed in the
machine driver, so the dai-link property is only used to introduce the
connected codec nodes. 
On the other hand, we hope to inherit the implementation of mt8195 in
which one machine driver supports both sof and non-sof cards, so we
make use of "mediatek, platform" and "mediatek,adsp" properties.
If I don't misunderstand the implementation of simple card, I have to
specify every platform node by dai-link array in dts file and it's more
complex than the current implementation.

Thanks,
Trevor
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/sound/mediatek,mt8188-mt6359.yaml b/Documentation/devicetree/bindings/sound/mediatek,mt8188-mt6359.yaml
new file mode 100644
index 000000000000..5754c1d460db
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/mediatek,mt8188-mt6359.yaml
@@ -0,0 +1,93 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/mediatek,mt8188-mt6359.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MediaTek MT8188 ASoC sound card
+
+maintainers:
+  - Trevor Wu <trevor.wu@mediatek.com>
+
+properties:
+  compatible:
+    const: mediatek,mt8188-mt6359-evb
+
+  model:
+    $ref: /schemas/types.yaml#/definitions/string
+    description: User specified audio sound card name
+
+  audio-routing:
+    $ref: /schemas/types.yaml#/definitions/non-unique-string-array
+    description:
+      A list of the connections between audio components. Each entry is a
+      sink/source pair of strings. Valid names could be the input or output
+      widgets of audio components, power supplies, MicBias of codec and the
+      software switch.
+
+  mediatek,platform:
+    $ref: /schemas/types.yaml#/definitions/phandle
+    description: The phandle of MT8188 ASoC platform.
+
+patternProperties:
+  "^dai-link-[0-9]+$":
+    type: object
+    description: |
+      Container for dai-link level properties and CODEC sub-nodes.
+
+    properties:
+      dai-link-name:
+        description: |
+          This property corresponds to the name of the BE dai-link to which
+          we are going to update parameters in this node.
+        items:
+          enum:
+            - ADDA_BE
+            - DPTX_BE
+            - ETDM1_IN_BE
+            - ETDM2_IN_BE
+            - ETDM1_OUT_BE
+            - ETDM2_OUT_BE
+            - ETDM3_OUT_BE
+            - PCM1_BE
+
+      codec:
+        description: Holds subnode which indicates codec dai.
+        type: object
+        additionalProperties: false
+        properties:
+          sound-dai:
+            minItems: 1
+            maxItems: 2
+
+    required:
+      - dai-link-name
+      - codec
+
+additionalProperties: false
+
+required:
+  - compatible
+  - mediatek,platform
+
+examples:
+  - |
+    sound {
+        compatible = "mediatek,mt8188-mt6359-evb";
+        mediatek,platform = <&afe>;
+        pinctrl-names = "default";
+        pinctrl-0 = <&aud_pins_default>;
+        audio-routing =
+            "Headphone", "Headphone L",
+            "Headphone", "Headphone R",
+            "AIN1", "Headset Mic";
+        dai-link-0 {
+            dai-link-name = "ETDM3_OUT_BE";
+
+            codec {
+                sound-dai = <&hdmi0>;
+            };
+        };
+    };
+
+...