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

Trevor Wu posted 13 patches 1 year, 10 months ago
There is a newer version of this series
[PATCH v4 13/13] dt-bindings: mediatek: mt8188: add mt8188-mt6359 document
Posted by Trevor Wu 1 year, 10 months ago
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

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>;
+            };
+        };
+    };
+
+...
-- 
2.18.0
Re: [PATCH v4 13/13] dt-bindings: mediatek: mt8188: add mt8188-mt6359 document
Posted by Krzysztof Kozlowski 1 year, 10 months ago
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).

> 
> 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: 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

On this level:
additionalProperties: false

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

Instead:
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 sound-dai

> +
> +    required:
> +      - dai-link-name
> +      - codec
> +
> +additionalProperties: false
> +
> +required:
> +  - compatible
> +  - mediatek,platform
> +

Your example looks pretty straightforward. Maybe you can use
simple-card.yaml?	


Best regards,
Krzysztof
Re: [PATCH v4 13/13] dt-bindings: mediatek: mt8188: add mt8188-mt6359 document
Posted by Trevor Wu (吳文良) 1 year, 10 months ago
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