xref: /freebsd/sys/contrib/device-tree/Bindings/sound/imx-audio-card.yaml (revision aa1a8ff2d6dbc51ef058f46f3db5a8bb77967145)
15956d97fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
25956d97fSEmmanuel Vadot%YAML 1.2
35956d97fSEmmanuel Vadot---
45956d97fSEmmanuel Vadot$id: http://devicetree.org/schemas/sound/imx-audio-card.yaml#
55956d97fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
65956d97fSEmmanuel Vadot
75956d97fSEmmanuel Vadottitle: NXP i.MX audio sound card.
85956d97fSEmmanuel Vadot
95956d97fSEmmanuel Vadotmaintainers:
105956d97fSEmmanuel Vadot  - Shengjiu Wang <shengjiu.wang@nxp.com>
115956d97fSEmmanuel Vadot
12*aa1a8ff2SEmmanuel VadotallOf:
13*aa1a8ff2SEmmanuel Vadot  - $ref: sound-card-common.yaml#
14*aa1a8ff2SEmmanuel Vadot
155956d97fSEmmanuel Vadotproperties:
165956d97fSEmmanuel Vadot  compatible:
175956d97fSEmmanuel Vadot    enum:
185956d97fSEmmanuel Vadot      - fsl,imx-audio-card
195956d97fSEmmanuel Vadot
205956d97fSEmmanuel VadotpatternProperties:
215956d97fSEmmanuel Vadot  ".*-dai-link$":
225956d97fSEmmanuel Vadot    description:
235956d97fSEmmanuel Vadot      Each subnode represents a dai link. Subnodes of each dai links would be
245956d97fSEmmanuel Vadot      cpu/codec dais.
255956d97fSEmmanuel Vadot
265956d97fSEmmanuel Vadot    type: object
275956d97fSEmmanuel Vadot
285956d97fSEmmanuel Vadot    properties:
295956d97fSEmmanuel Vadot      link-name:
305956d97fSEmmanuel Vadot        description: Indicates dai-link name and PCM stream name.
315956d97fSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/string
325956d97fSEmmanuel Vadot        maxItems: 1
335956d97fSEmmanuel Vadot
345956d97fSEmmanuel Vadot      format:
355956d97fSEmmanuel Vadot        description: audio format.
365956d97fSEmmanuel Vadot        items:
375956d97fSEmmanuel Vadot          enum:
385956d97fSEmmanuel Vadot            - i2s
395956d97fSEmmanuel Vadot            - dsp_b
405956d97fSEmmanuel Vadot
415956d97fSEmmanuel Vadot      dai-tdm-slot-num:
425956d97fSEmmanuel Vadot        description: see tdm-slot.txt.
435956d97fSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
445956d97fSEmmanuel Vadot
455956d97fSEmmanuel Vadot      dai-tdm-slot-width:
465956d97fSEmmanuel Vadot        description: see tdm-slot.txt.
475956d97fSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
485956d97fSEmmanuel Vadot
495956d97fSEmmanuel Vadot      cpu:
505956d97fSEmmanuel Vadot        description: Holds subnode which indicates cpu dai.
515956d97fSEmmanuel Vadot        type: object
527ef62cebSEmmanuel Vadot        additionalProperties: false
535956d97fSEmmanuel Vadot        properties:
54c9ccf3a3SEmmanuel Vadot          sound-dai:
55c9ccf3a3SEmmanuel Vadot            maxItems: 1
565956d97fSEmmanuel Vadot
575956d97fSEmmanuel Vadot      codec:
585956d97fSEmmanuel Vadot        description: Holds subnode which indicates codec dai.
595956d97fSEmmanuel Vadot        type: object
607ef62cebSEmmanuel Vadot        additionalProperties: false
615956d97fSEmmanuel Vadot        properties:
62c9ccf3a3SEmmanuel Vadot          sound-dai:
63c9ccf3a3SEmmanuel Vadot            minItems: 1
64c9ccf3a3SEmmanuel Vadot            maxItems: 2
655956d97fSEmmanuel Vadot
665956d97fSEmmanuel Vadot      fsl,mclk-equal-bclk:
675956d97fSEmmanuel Vadot        description: Indicates mclk can be equal to bclk, especially for sai interface
685956d97fSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/flag
695956d97fSEmmanuel Vadot
705956d97fSEmmanuel Vadot    required:
715956d97fSEmmanuel Vadot      - link-name
725956d97fSEmmanuel Vadot      - cpu
735956d97fSEmmanuel Vadot
745956d97fSEmmanuel Vadot    additionalProperties: false
755956d97fSEmmanuel Vadot
765956d97fSEmmanuel Vadotrequired:
775956d97fSEmmanuel Vadot  - compatible
785956d97fSEmmanuel Vadot
79*aa1a8ff2SEmmanuel VadotunevaluatedProperties: false
805956d97fSEmmanuel Vadot
815956d97fSEmmanuel Vadotexamples:
825956d97fSEmmanuel Vadot  - |
835956d97fSEmmanuel Vadot    sound-ak4458 {
845956d97fSEmmanuel Vadot        compatible = "fsl,imx-audio-card";
855956d97fSEmmanuel Vadot        model = "ak4458-audio";
865956d97fSEmmanuel Vadot        pri-dai-link {
875956d97fSEmmanuel Vadot            link-name = "akcodec";
885956d97fSEmmanuel Vadot            format = "i2s";
895956d97fSEmmanuel Vadot            fsl,mclk-equal-bclk;
905956d97fSEmmanuel Vadot            cpu {
915956d97fSEmmanuel Vadot                 sound-dai = <&sai1>;
925956d97fSEmmanuel Vadot            };
935956d97fSEmmanuel Vadot            codec {
945956d97fSEmmanuel Vadot                 sound-dai = <&ak4458_1>, <&ak4458_2>;
955956d97fSEmmanuel Vadot            };
965956d97fSEmmanuel Vadot        };
975956d97fSEmmanuel Vadot        fe-dai-link {
985956d97fSEmmanuel Vadot            link-name = "HiFi-ASRC-FE";
995956d97fSEmmanuel Vadot            format = "i2s";
1005956d97fSEmmanuel Vadot            cpu {
1015956d97fSEmmanuel Vadot                sound-dai = <&easrc>;
1025956d97fSEmmanuel Vadot            };
1035956d97fSEmmanuel Vadot        };
1045956d97fSEmmanuel Vadot        be-dai-link {
1055956d97fSEmmanuel Vadot            link-name = "HiFi-ASRC-BE";
1065956d97fSEmmanuel Vadot            format = "dsp_b";
1075956d97fSEmmanuel Vadot            dai-tdm-slot-num = <8>;
1085956d97fSEmmanuel Vadot            dai-tdm-slot-width = <32>;
1095956d97fSEmmanuel Vadot            fsl,mclk-equal-bclk;
1105956d97fSEmmanuel Vadot            cpu {
1115956d97fSEmmanuel Vadot                sound-dai = <&sai1>;
1125956d97fSEmmanuel Vadot            };
1135956d97fSEmmanuel Vadot            codec {
1145956d97fSEmmanuel Vadot                sound-dai = <&ak4458_1>, <&ak4458_2>;
1155956d97fSEmmanuel Vadot            };
1165956d97fSEmmanuel Vadot        };
1175956d97fSEmmanuel Vadot    };
118