162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/sound/amlogic,gx-sound-card.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Amlogic GX sound card
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Jerome Brunet <jbrunet@baylibre.com>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ciallOf:
1362306a36Sopenharmony_ci  - $ref: sound-card-common.yaml#
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ciproperties:
1662306a36Sopenharmony_ci  compatible:
1762306a36Sopenharmony_ci    items:
1862306a36Sopenharmony_ci      - const: amlogic,gx-sound-card
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci  audio-aux-devs:
2162306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/phandle-array
2262306a36Sopenharmony_ci    description: list of auxiliary devices
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci  audio-widgets:
2562306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/non-unique-string-array
2662306a36Sopenharmony_ci    minItems: 2
2762306a36Sopenharmony_ci    description: |-
2862306a36Sopenharmony_ci      A list off component DAPM widget. Each entry is a pair of strings,
2962306a36Sopenharmony_ci      the first being the widget type, the second being the widget name
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_cipatternProperties:
3262306a36Sopenharmony_ci  "^dai-link-[0-9]+$":
3362306a36Sopenharmony_ci    type: object
3462306a36Sopenharmony_ci    additionalProperties: false
3562306a36Sopenharmony_ci    description: |-
3662306a36Sopenharmony_ci      dai-link child nodes:
3762306a36Sopenharmony_ci        Container for dai-link level properties and the CODEC sub-nodes.
3862306a36Sopenharmony_ci        There should be at least one (and probably more) subnode of this type
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci    properties:
4162306a36Sopenharmony_ci      dai-format:
4262306a36Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/string
4362306a36Sopenharmony_ci        enum: [ i2s, left-j, dsp_a ]
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci      mclk-fs:
4662306a36Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/uint32
4762306a36Sopenharmony_ci        description: |-
4862306a36Sopenharmony_ci          Multiplication factor between the frame rate and master clock
4962306a36Sopenharmony_ci          rate
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ci      sound-dai:
5262306a36Sopenharmony_ci        maxItems: 1
5362306a36Sopenharmony_ci        description: phandle of the CPU DAI
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci    patternProperties:
5662306a36Sopenharmony_ci      "^codec(-[0-9]+)?$":
5762306a36Sopenharmony_ci        type: object
5862306a36Sopenharmony_ci        additionalProperties: false
5962306a36Sopenharmony_ci        description: |-
6062306a36Sopenharmony_ci          Codecs:
6162306a36Sopenharmony_ci          dai-link representing backend links should have at least one subnode.
6262306a36Sopenharmony_ci          One subnode for each codec of the dai-link. dai-link representing
6362306a36Sopenharmony_ci          frontend links have no codec, therefore have no subnodes
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ci        properties:
6662306a36Sopenharmony_ci          sound-dai:
6762306a36Sopenharmony_ci            maxItems: 1
6862306a36Sopenharmony_ci            description: phandle of the codec DAI
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ci        required:
7162306a36Sopenharmony_ci          - sound-dai
7262306a36Sopenharmony_ci
7362306a36Sopenharmony_ci    required:
7462306a36Sopenharmony_ci      - sound-dai
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_cirequired:
7762306a36Sopenharmony_ci  - model
7862306a36Sopenharmony_ci  - dai-link-0
7962306a36Sopenharmony_ci
8062306a36Sopenharmony_ciunevaluatedProperties: false
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_ciexamples:
8362306a36Sopenharmony_ci  - |
8462306a36Sopenharmony_ci    sound {
8562306a36Sopenharmony_ci        compatible = "amlogic,gx-sound-card";
8662306a36Sopenharmony_ci        model = "GXL-ACME-S905X-FOO";
8762306a36Sopenharmony_ci        audio-aux-devs = <&amp>;
8862306a36Sopenharmony_ci        audio-routing = "I2S ENCODER I2S IN", "I2S FIFO Playback";
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_ci        dai-link-0 {
9162306a36Sopenharmony_ci               sound-dai = <&i2s_fifo>;
9262306a36Sopenharmony_ci        };
9362306a36Sopenharmony_ci
9462306a36Sopenharmony_ci        dai-link-1 {
9562306a36Sopenharmony_ci                sound-dai = <&i2s_encoder>;
9662306a36Sopenharmony_ci                dai-format = "i2s";
9762306a36Sopenharmony_ci                mclk-fs = <256>;
9862306a36Sopenharmony_ci
9962306a36Sopenharmony_ci                codec-0 {
10062306a36Sopenharmony_ci                        sound-dai = <&codec0>;
10162306a36Sopenharmony_ci                };
10262306a36Sopenharmony_ci
10362306a36Sopenharmony_ci                codec-1 {
10462306a36Sopenharmony_ci                        sound-dai = <&codec1>;
10562306a36Sopenharmony_ci                };
10662306a36Sopenharmony_ci        };
10762306a36Sopenharmony_ci    };
108