xref: /linux/Documentation/devicetree/bindings/sound/fsl,imx-audio-es8328.yaml (revision 3a39d672e7f48b8d6b91a09afa4b55352773b4b5)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/sound/fsl,imx-audio-es8328.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Freescale i.MX audio complex with ES8328 codec
8
9maintainers:
10  - Shawn Guo <shawnguo@kernel.org>
11  - Sascha Hauer <s.hauer@pengutronix.de>
12
13allOf:
14  - $ref: sound-card-common.yaml#
15
16properties:
17  compatible:
18    const: fsl,imx-audio-es8328
19
20  model:
21    $ref: /schemas/types.yaml#/definitions/string
22    description: The user-visible name of this sound complex
23
24  ssi-controller:
25    $ref: /schemas/types.yaml#/definitions/phandle
26    description: The phandle of the i.MX SSI controller
27
28  jack-gpio:
29    description: Optional GPIO for headphone jack
30    maxItems: 1
31
32  audio-amp-supply:
33    description: Power regulator for speaker amps
34
35  audio-codec:
36    $ref: /schemas/types.yaml#/definitions/phandle
37    description: The phandle to the ES8328 audio codec
38
39  audio-routing:
40    $ref: /schemas/types.yaml#/definitions/non-unique-string-array
41    description: |
42      A list of the connections between audio components. Each entry
43      is a pair of strings, the first being the connection's sink, the second
44      being the connection's source. Valid names could be power supplies,
45      ES8328 pins, and the jacks on the board:
46
47      Power supplies:
48        * audio-amp
49
50      ES8328 pins:
51        * LOUT1
52        * LOUT2
53        * ROUT1
54        * ROUT2
55        * LINPUT1
56        * LINPUT2
57        * RINPUT1
58        * RINPUT2
59        * Mic PGA
60
61      Board connectors:
62        * Headphone
63        * Speaker
64        * Mic Jack
65
66  mux-int-port:
67    $ref: /schemas/types.yaml#/definitions/uint32
68    description: The internal port of the i.MX audio muxer (AUDMUX)
69    enum: [1, 2, 7]
70    default: 1
71
72  mux-ext-port:
73    $ref: /schemas/types.yaml#/definitions/uint32
74    description: The external port of the i.MX audio muxer (AUDMIX)
75    enum: [3, 4, 5, 6]
76    default: 3
77
78required:
79  - compatible
80  - model
81  - ssi-controller
82  - jack-gpio
83  - audio-amp-supply
84  - audio-codec
85  - audio-routing
86  - mux-int-port
87  - mux-ext-port
88
89unevaluatedProperties: false
90
91examples:
92  - |
93    sound {
94        compatible = "fsl,imx-audio-es8328";
95        model = "imx-audio-es8328";
96        ssi-controller = <&ssi1>;
97        audio-codec = <&codec>;
98        jack-gpio = <&gpio5 15 0>;
99        audio-amp-supply = <&reg_audio_amp>;
100        audio-routing =
101            "Speaker", "LOUT2",
102            "Speaker", "ROUT2",
103            "Speaker", "audio-amp",
104            "Headphone", "ROUT1",
105            "Headphone", "LOUT1",
106            "LINPUT1", "Mic Jack",
107            "RINPUT1", "Mic Jack",
108            "Mic Jack", "Mic Bias";
109        mux-int-port = <1>;
110        mux-ext-port = <3>;
111    };
112