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