xref: /linux/Documentation/devicetree/bindings/sound/amlogic,gx-sound-card.yaml (revision 3a39d672e7f48b8d6b91a09afa4b55352773b4b5)
1fd00366bSJerome Brunet# SPDX-License-Identifier: GPL-2.0
2fd00366bSJerome Brunet%YAML 1.2
3fd00366bSJerome Brunet---
4fd00366bSJerome Brunet$id: http://devicetree.org/schemas/sound/amlogic,gx-sound-card.yaml#
5fd00366bSJerome Brunet$schema: http://devicetree.org/meta-schemas/core.yaml#
6fd00366bSJerome Brunet
7fd00366bSJerome Brunettitle: Amlogic GX sound card
8fd00366bSJerome Brunet
9fd00366bSJerome Brunetmaintainers:
10fd00366bSJerome Brunet  - Jerome Brunet <jbrunet@baylibre.com>
11fd00366bSJerome Brunet
12a06ce12eSKrzysztof KozlowskiallOf:
13a06ce12eSKrzysztof Kozlowski  - $ref: sound-card-common.yaml#
14a06ce12eSKrzysztof Kozlowski
15fd00366bSJerome Brunetproperties:
16fd00366bSJerome Brunet  compatible:
17fd00366bSJerome Brunet    items:
18fd00366bSJerome Brunet      - const: amlogic,gx-sound-card
19fd00366bSJerome Brunet
20fd00366bSJerome Brunet  audio-aux-devs:
21fd00366bSJerome Brunet    $ref: /schemas/types.yaml#/definitions/phandle-array
22fd00366bSJerome Brunet    description: list of auxiliary devices
23fd00366bSJerome Brunet
24fd00366bSJerome Brunet  audio-widgets:
25fd00366bSJerome Brunet    $ref: /schemas/types.yaml#/definitions/non-unique-string-array
26fd00366bSJerome Brunet    description: |-
27fd00366bSJerome Brunet      A list off component DAPM widget. Each entry is a pair of strings,
28fd00366bSJerome Brunet      the first being the widget type, the second being the widget name
29fd00366bSJerome Brunet
30*f189c972SNeil Armstrong  clocks:
31*f189c972SNeil Armstrong    minItems: 1
32*f189c972SNeil Armstrong    maxItems: 3
33*f189c972SNeil Armstrong    description:
34*f189c972SNeil Armstrong      Base PLL clocks of audio susbsytem, used to configure base clock
35*f189c972SNeil Armstrong      frequencies for different audio use-cases.
36*f189c972SNeil Armstrong
37fd00366bSJerome BrunetpatternProperties:
38fd00366bSJerome Brunet  "^dai-link-[0-9]+$":
39fd00366bSJerome Brunet    type: object
409e10a1deSRob Herring    additionalProperties: false
41fd00366bSJerome Brunet    description: |-
42fd00366bSJerome Brunet      dai-link child nodes:
43fd00366bSJerome Brunet        Container for dai-link level properties and the CODEC sub-nodes.
44fd00366bSJerome Brunet        There should be at least one (and probably more) subnode of this type
45fd00366bSJerome Brunet
46fd00366bSJerome Brunet    properties:
47fd00366bSJerome Brunet      dai-format:
48fd00366bSJerome Brunet        $ref: /schemas/types.yaml#/definitions/string
49fd00366bSJerome Brunet        enum: [ i2s, left-j, dsp_a ]
50fd00366bSJerome Brunet
51fd00366bSJerome Brunet      mclk-fs:
52fd00366bSJerome Brunet        $ref: /schemas/types.yaml#/definitions/uint32
53fd00366bSJerome Brunet        description: |-
54fd00366bSJerome Brunet          Multiplication factor between the frame rate and master clock
55fd00366bSJerome Brunet          rate
56fd00366bSJerome Brunet
57fd00366bSJerome Brunet      sound-dai:
5897709d36SRob Herring        maxItems: 1
59fd00366bSJerome Brunet        description: phandle of the CPU DAI
60fd00366bSJerome Brunet
61fd00366bSJerome Brunet    patternProperties:
62480b2622SJerome Brunet      "^codec(-[0-9]+)?$":
63fd00366bSJerome Brunet        type: object
649e10a1deSRob Herring        additionalProperties: false
65fd00366bSJerome Brunet        description: |-
66fd00366bSJerome Brunet          Codecs:
67fd00366bSJerome Brunet          dai-link representing backend links should have at least one subnode.
68fd00366bSJerome Brunet          One subnode for each codec of the dai-link. dai-link representing
69fd00366bSJerome Brunet          frontend links have no codec, therefore have no subnodes
70fd00366bSJerome Brunet
71fd00366bSJerome Brunet        properties:
72fd00366bSJerome Brunet          sound-dai:
7397709d36SRob Herring            maxItems: 1
74fd00366bSJerome Brunet            description: phandle of the codec DAI
75fd00366bSJerome Brunet
76fd00366bSJerome Brunet        required:
77fd00366bSJerome Brunet          - sound-dai
78fd00366bSJerome Brunet
79fd00366bSJerome Brunet    required:
80fd00366bSJerome Brunet      - sound-dai
81fd00366bSJerome Brunet
82fd00366bSJerome Brunetrequired:
83fd00366bSJerome Brunet  - model
84fd00366bSJerome Brunet  - dai-link-0
85fd00366bSJerome Brunet
86a06ce12eSKrzysztof KozlowskiunevaluatedProperties: false
875be478f9SRob Herring
88fd00366bSJerome Brunetexamples:
89fd00366bSJerome Brunet  - |
90fd00366bSJerome Brunet    sound {
91fd00366bSJerome Brunet        compatible = "amlogic,gx-sound-card";
92fd00366bSJerome Brunet        model = "GXL-ACME-S905X-FOO";
93fd00366bSJerome Brunet        audio-aux-devs = <&amp>;
94fd00366bSJerome Brunet        audio-routing = "I2S ENCODER I2S IN", "I2S FIFO Playback";
95fd00366bSJerome Brunet
96fd00366bSJerome Brunet        dai-link-0 {
97fd00366bSJerome Brunet               sound-dai = <&i2s_fifo>;
98fd00366bSJerome Brunet        };
99fd00366bSJerome Brunet
100fd00366bSJerome Brunet        dai-link-1 {
101fd00366bSJerome Brunet                sound-dai = <&i2s_encoder>;
102fd00366bSJerome Brunet                dai-format = "i2s";
103fd00366bSJerome Brunet                mclk-fs = <256>;
104fd00366bSJerome Brunet
105fd00366bSJerome Brunet                codec-0 {
106fd00366bSJerome Brunet                        sound-dai = <&codec0>;
107fd00366bSJerome Brunet                };
108fd00366bSJerome Brunet
109fd00366bSJerome Brunet                codec-1 {
110fd00366bSJerome Brunet                        sound-dai = <&codec1>;
111fd00366bSJerome Brunet                };
112fd00366bSJerome Brunet        };
113fd00366bSJerome Brunet    };
114