18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/sound/amlogic,gx-sound-card.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: Amlogic GX sound card
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimaintainers:
108c2ecf20Sopenharmony_ci  - Jerome Brunet <jbrunet@baylibre.com>
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ciproperties:
138c2ecf20Sopenharmony_ci  compatible:
148c2ecf20Sopenharmony_ci    items:
158c2ecf20Sopenharmony_ci      - const: amlogic,gx-sound-card
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ci  audio-aux-devs:
188c2ecf20Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/phandle-array
198c2ecf20Sopenharmony_ci    description: list of auxiliary devices
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ci  audio-routing:
228c2ecf20Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/non-unique-string-array
238c2ecf20Sopenharmony_ci    minItems: 2
248c2ecf20Sopenharmony_ci    description: |-
258c2ecf20Sopenharmony_ci      A list of the connections between audio components. Each entry is a
268c2ecf20Sopenharmony_ci      pair of strings, the first being the connection's sink, the second
278c2ecf20Sopenharmony_ci      being the connection's source.
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci  audio-widgets:
308c2ecf20Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/non-unique-string-array
318c2ecf20Sopenharmony_ci    minItems: 2
328c2ecf20Sopenharmony_ci    description: |-
338c2ecf20Sopenharmony_ci      A list off component DAPM widget. Each entry is a pair of strings,
348c2ecf20Sopenharmony_ci      the first being the widget type, the second being the widget name
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ci  model:
378c2ecf20Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/string
388c2ecf20Sopenharmony_ci    description: User specified audio sound card name
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_cipatternProperties:
418c2ecf20Sopenharmony_ci  "^dai-link-[0-9]+$":
428c2ecf20Sopenharmony_ci    type: object
438c2ecf20Sopenharmony_ci    description: |-
448c2ecf20Sopenharmony_ci      dai-link child nodes:
458c2ecf20Sopenharmony_ci        Container for dai-link level properties and the CODEC sub-nodes.
468c2ecf20Sopenharmony_ci        There should be at least one (and probably more) subnode of this type
478c2ecf20Sopenharmony_ci
488c2ecf20Sopenharmony_ci    properties:
498c2ecf20Sopenharmony_ci      dai-format:
508c2ecf20Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/string
518c2ecf20Sopenharmony_ci        enum: [ i2s, left-j, dsp_a ]
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_ci      mclk-fs:
548c2ecf20Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/uint32
558c2ecf20Sopenharmony_ci        description: |-
568c2ecf20Sopenharmony_ci          Multiplication factor between the frame rate and master clock
578c2ecf20Sopenharmony_ci          rate
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_ci      sound-dai:
608c2ecf20Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/phandle-array
618c2ecf20Sopenharmony_ci        description: phandle of the CPU DAI
628c2ecf20Sopenharmony_ci
638c2ecf20Sopenharmony_ci    patternProperties:
648c2ecf20Sopenharmony_ci      "^codec(-[0-9]+)?$":
658c2ecf20Sopenharmony_ci        type: object
668c2ecf20Sopenharmony_ci        description: |-
678c2ecf20Sopenharmony_ci          Codecs:
688c2ecf20Sopenharmony_ci          dai-link representing backend links should have at least one subnode.
698c2ecf20Sopenharmony_ci          One subnode for each codec of the dai-link. dai-link representing
708c2ecf20Sopenharmony_ci          frontend links have no codec, therefore have no subnodes
718c2ecf20Sopenharmony_ci
728c2ecf20Sopenharmony_ci        properties:
738c2ecf20Sopenharmony_ci          sound-dai:
748c2ecf20Sopenharmony_ci            $ref: /schemas/types.yaml#/definitions/phandle-array
758c2ecf20Sopenharmony_ci            description: phandle of the codec DAI
768c2ecf20Sopenharmony_ci
778c2ecf20Sopenharmony_ci        required:
788c2ecf20Sopenharmony_ci          - sound-dai
798c2ecf20Sopenharmony_ci
808c2ecf20Sopenharmony_ci    required:
818c2ecf20Sopenharmony_ci      - sound-dai
828c2ecf20Sopenharmony_ci
838c2ecf20Sopenharmony_cirequired:
848c2ecf20Sopenharmony_ci  - model
858c2ecf20Sopenharmony_ci  - dai-link-0
868c2ecf20Sopenharmony_ci
878c2ecf20Sopenharmony_ciadditionalProperties: false
888c2ecf20Sopenharmony_ci
898c2ecf20Sopenharmony_ciexamples:
908c2ecf20Sopenharmony_ci  - |
918c2ecf20Sopenharmony_ci    sound {
928c2ecf20Sopenharmony_ci        compatible = "amlogic,gx-sound-card";
938c2ecf20Sopenharmony_ci        model = "GXL-ACME-S905X-FOO";
948c2ecf20Sopenharmony_ci        audio-aux-devs = <&amp>;
958c2ecf20Sopenharmony_ci        audio-routing = "I2S ENCODER I2S IN", "I2S FIFO Playback";
968c2ecf20Sopenharmony_ci
978c2ecf20Sopenharmony_ci        dai-link-0 {
988c2ecf20Sopenharmony_ci               sound-dai = <&i2s_fifo>;
998c2ecf20Sopenharmony_ci        };
1008c2ecf20Sopenharmony_ci
1018c2ecf20Sopenharmony_ci        dai-link-1 {
1028c2ecf20Sopenharmony_ci                sound-dai = <&i2s_encoder>;
1038c2ecf20Sopenharmony_ci                dai-format = "i2s";
1048c2ecf20Sopenharmony_ci                mclk-fs = <256>;
1058c2ecf20Sopenharmony_ci
1068c2ecf20Sopenharmony_ci                codec-0 {
1078c2ecf20Sopenharmony_ci                        sound-dai = <&codec0>;
1088c2ecf20Sopenharmony_ci                };
1098c2ecf20Sopenharmony_ci
1108c2ecf20Sopenharmony_ci                codec-1 {
1118c2ecf20Sopenharmony_ci                        sound-dai = <&codec1>;
1128c2ecf20Sopenharmony_ci                };
1138c2ecf20Sopenharmony_ci        };
1148c2ecf20Sopenharmony_ci    };
1158c2ecf20Sopenharmony_ci
116