xref: /freebsd/sys/contrib/device-tree/Bindings/sound/fsl-asoc-card.yaml (revision 7d0873ebb83b19ba1e8a89e679470d885efe12e3)
1*7d0873ebSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*7d0873ebSEmmanuel Vadot%YAML 1.2
3*7d0873ebSEmmanuel Vadot---
4*7d0873ebSEmmanuel Vadot$id: http://devicetree.org/schemas/sound/fsl-asoc-card.yaml#
5*7d0873ebSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*7d0873ebSEmmanuel Vadot
7*7d0873ebSEmmanuel Vadottitle: Freescale Generic ASoC Sound Card with ASRC support
8*7d0873ebSEmmanuel Vadot
9*7d0873ebSEmmanuel Vadotdescription:
10*7d0873ebSEmmanuel Vadot  The Freescale Generic ASoC Sound Card can be used, ideally,
11*7d0873ebSEmmanuel Vadot  for all Freescale SoCs connecting with external CODECs.
12*7d0873ebSEmmanuel Vadot
13*7d0873ebSEmmanuel Vadot  The idea of this generic sound card is a bit like ASoC Simple Card.
14*7d0873ebSEmmanuel Vadot  However, for Freescale SoCs (especially those released in recent years),
15*7d0873ebSEmmanuel Vadot  most of them have ASRC inside. And this is a specific feature that might
16*7d0873ebSEmmanuel Vadot  be painstakingly controlled and merged into the Simple Card.
17*7d0873ebSEmmanuel Vadot
18*7d0873ebSEmmanuel Vadot  So having this generic sound card allows all Freescale SoC users to
19*7d0873ebSEmmanuel Vadot  benefit from the simplification of a new card support and the capability
20*7d0873ebSEmmanuel Vadot  of the wide sample rates support through ASRC.
21*7d0873ebSEmmanuel Vadot
22*7d0873ebSEmmanuel Vadot  Note, The card is initially designed for those sound cards who use AC'97, I2S
23*7d0873ebSEmmanuel Vadot  and PCM DAI formats. However, it'll be also possible to support those non
24*7d0873ebSEmmanuel Vadot  AC'97/I2S/PCM type sound cards, such as S/PDIF audio and HDMI audio, as
25*7d0873ebSEmmanuel Vadot  long as the driver has been properly upgraded.
26*7d0873ebSEmmanuel Vadot
27*7d0873ebSEmmanuel Vadotmaintainers:
28*7d0873ebSEmmanuel Vadot  - Shengjiu Wang <shengjiu.wang@nxp.com>
29*7d0873ebSEmmanuel Vadot
30*7d0873ebSEmmanuel Vadotproperties:
31*7d0873ebSEmmanuel Vadot  compatible:
32*7d0873ebSEmmanuel Vadot    oneOf:
33*7d0873ebSEmmanuel Vadot      - items:
34*7d0873ebSEmmanuel Vadot          - enum:
35*7d0873ebSEmmanuel Vadot              - fsl,imx-sgtl5000
36*7d0873ebSEmmanuel Vadot              - fsl,imx25-pdk-sgtl5000
37*7d0873ebSEmmanuel Vadot              - fsl,imx53-cpuvo-sgtl5000
38*7d0873ebSEmmanuel Vadot              - fsl,imx51-babbage-sgtl5000
39*7d0873ebSEmmanuel Vadot              - fsl,imx53-m53evk-sgtl5000
40*7d0873ebSEmmanuel Vadot              - fsl,imx53-qsb-sgtl5000
41*7d0873ebSEmmanuel Vadot              - fsl,imx53-voipac-sgtl5000
42*7d0873ebSEmmanuel Vadot              - fsl,imx6-armadeus-sgtl5000
43*7d0873ebSEmmanuel Vadot              - fsl,imx6-rex-sgtl5000
44*7d0873ebSEmmanuel Vadot              - fsl,imx6-sabreauto-cs42888
45*7d0873ebSEmmanuel Vadot              - fsl,imx6-wandboard-sgtl5000
46*7d0873ebSEmmanuel Vadot              - fsl,imx6dl-nit6xlite-sgtl5000
47*7d0873ebSEmmanuel Vadot              - fsl,imx6q-ba16-sgtl5000
48*7d0873ebSEmmanuel Vadot              - fsl,imx6q-nitrogen6_max-sgtl5000
49*7d0873ebSEmmanuel Vadot              - fsl,imx6q-nitrogen6_som2-sgtl5000
50*7d0873ebSEmmanuel Vadot              - fsl,imx6q-nitrogen6x-sgtl5000
51*7d0873ebSEmmanuel Vadot              - fsl,imx6q-sabrelite-sgtl5000
52*7d0873ebSEmmanuel Vadot              - fsl,imx6q-sabresd-wm8962
53*7d0873ebSEmmanuel Vadot              - fsl,imx6q-udoo-ac97
54*7d0873ebSEmmanuel Vadot              - fsl,imx6q-ventana-sgtl5000
55*7d0873ebSEmmanuel Vadot              - fsl,imx6sl-evk-wm8962
56*7d0873ebSEmmanuel Vadot              - fsl,imx6sx-sdb-mqs
57*7d0873ebSEmmanuel Vadot              - fsl,imx6sx-sdb-wm8962
58*7d0873ebSEmmanuel Vadot              - fsl,imx7d-evk-wm8960
59*7d0873ebSEmmanuel Vadot              - karo,tx53-audio-sgtl5000
60*7d0873ebSEmmanuel Vadot              - tq,imx53-mba53-sgtl5000
61*7d0873ebSEmmanuel Vadot          - enum:
62*7d0873ebSEmmanuel Vadot              - fsl,imx-audio-ac97
63*7d0873ebSEmmanuel Vadot              - fsl,imx-audio-cs42888
64*7d0873ebSEmmanuel Vadot              - fsl,imx-audio-mqs
65*7d0873ebSEmmanuel Vadot              - fsl,imx-audio-sgtl5000
66*7d0873ebSEmmanuel Vadot              - fsl,imx-audio-wm8960
67*7d0873ebSEmmanuel Vadot              - fsl,imx-audio-wm8962
68*7d0873ebSEmmanuel Vadot      - items:
69*7d0873ebSEmmanuel Vadot          - enum:
70*7d0873ebSEmmanuel Vadot              - fsl,imx-audio-ac97
71*7d0873ebSEmmanuel Vadot              - fsl,imx-audio-cs42888
72*7d0873ebSEmmanuel Vadot              - fsl,imx-audio-cs427x
73*7d0873ebSEmmanuel Vadot              - fsl,imx-audio-mqs
74*7d0873ebSEmmanuel Vadot              - fsl,imx-audio-nau8822
75*7d0873ebSEmmanuel Vadot              - fsl,imx-audio-sgtl5000
76*7d0873ebSEmmanuel Vadot              - fsl,imx-audio-si476x
77*7d0873ebSEmmanuel Vadot              - fsl,imx-audio-tlv320aic31xx
78*7d0873ebSEmmanuel Vadot              - fsl,imx-audio-tlv320aic32x4
79*7d0873ebSEmmanuel Vadot              - fsl,imx-audio-wm8524
80*7d0873ebSEmmanuel Vadot              - fsl,imx-audio-wm8904
81*7d0873ebSEmmanuel Vadot              - fsl,imx-audio-wm8960
82*7d0873ebSEmmanuel Vadot              - fsl,imx-audio-wm8962
83*7d0873ebSEmmanuel Vadot              - fsl,imx-audio-wm8958
84*7d0873ebSEmmanuel Vadot
85*7d0873ebSEmmanuel Vadot  model:
86*7d0873ebSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/string
87*7d0873ebSEmmanuel Vadot    description: The user-visible name of this sound complex
88*7d0873ebSEmmanuel Vadot
89*7d0873ebSEmmanuel Vadot  audio-asrc:
90*7d0873ebSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle
91*7d0873ebSEmmanuel Vadot    description:
92*7d0873ebSEmmanuel Vadot      The phandle of ASRC. It can be absent if there's no
93*7d0873ebSEmmanuel Vadot      need to add ASRC support via DPCM.
94*7d0873ebSEmmanuel Vadot
95*7d0873ebSEmmanuel Vadot  audio-codec:
96*7d0873ebSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle
97*7d0873ebSEmmanuel Vadot    description: The phandle of an audio codec
98*7d0873ebSEmmanuel Vadot
99*7d0873ebSEmmanuel Vadot  audio-cpu:
100*7d0873ebSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle
101*7d0873ebSEmmanuel Vadot    description: The phandle of an CPU DAI controller
102*7d0873ebSEmmanuel Vadot
103*7d0873ebSEmmanuel Vadot  audio-routing:
104*7d0873ebSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/non-unique-string-array
105*7d0873ebSEmmanuel Vadot    description:
106*7d0873ebSEmmanuel Vadot      A list of the connections between audio components. Each entry is a
107*7d0873ebSEmmanuel Vadot      pair of strings, the first being the connection's sink, the second
108*7d0873ebSEmmanuel Vadot      being the connection's source. There're a few pre-designed board
109*7d0873ebSEmmanuel Vadot      connectors. "AMIC" stands for Analog Microphone Jack.
110*7d0873ebSEmmanuel Vadot      "DMIC" stands for Digital Microphone Jack. The "Mic Jack" and "AMIC"
111*7d0873ebSEmmanuel Vadot      are redundant while coexisting in order to support the old bindings
112*7d0873ebSEmmanuel Vadot      of wm8962 and sgtl5000.
113*7d0873ebSEmmanuel Vadot
114*7d0873ebSEmmanuel Vadot  hp-det-gpio:
115*7d0873ebSEmmanuel Vadot    deprecated: true
116*7d0873ebSEmmanuel Vadot    maxItems: 1
117*7d0873ebSEmmanuel Vadot    description: The GPIO that detect headphones are plugged in
118*7d0873ebSEmmanuel Vadot
119*7d0873ebSEmmanuel Vadot  hp-det-gpios:
120*7d0873ebSEmmanuel Vadot    maxItems: 1
121*7d0873ebSEmmanuel Vadot    description: The GPIO that detect headphones are plugged in
122*7d0873ebSEmmanuel Vadot
123*7d0873ebSEmmanuel Vadot  mic-det-gpio:
124*7d0873ebSEmmanuel Vadot    deprecated: true
125*7d0873ebSEmmanuel Vadot    maxItems: 1
126*7d0873ebSEmmanuel Vadot    description: The GPIO that detect microphones are plugged in
127*7d0873ebSEmmanuel Vadot
128*7d0873ebSEmmanuel Vadot  mic-det-gpios:
129*7d0873ebSEmmanuel Vadot    maxItems: 1
130*7d0873ebSEmmanuel Vadot    description: The GPIO that detect microphones are plugged in
131*7d0873ebSEmmanuel Vadot
132*7d0873ebSEmmanuel Vadot  bitclock-master:
133*7d0873ebSEmmanuel Vadot    $ref: simple-card.yaml#/definitions/bitclock-master
134*7d0873ebSEmmanuel Vadot    description: Indicates dai-link bit clock master.
135*7d0873ebSEmmanuel Vadot
136*7d0873ebSEmmanuel Vadot  frame-master:
137*7d0873ebSEmmanuel Vadot    $ref: simple-card.yaml#/definitions/frame-master
138*7d0873ebSEmmanuel Vadot    description: Indicates dai-link frame master.
139*7d0873ebSEmmanuel Vadot
140*7d0873ebSEmmanuel Vadot  format:
141*7d0873ebSEmmanuel Vadot    $ref: simple-card.yaml#/definitions/format
142*7d0873ebSEmmanuel Vadot    description: audio format.
143*7d0873ebSEmmanuel Vadot
144*7d0873ebSEmmanuel Vadot  frame-inversion:
145*7d0873ebSEmmanuel Vadot    $ref: simple-card.yaml#/definitions/frame-inversion
146*7d0873ebSEmmanuel Vadot    description: dai-link uses frame clock inversion.
147*7d0873ebSEmmanuel Vadot
148*7d0873ebSEmmanuel Vadot  bitclock-inversion:
149*7d0873ebSEmmanuel Vadot    $ref: simple-card.yaml#/definitions/bitclock-inversion
150*7d0873ebSEmmanuel Vadot    description: dai-link uses bit clock inversion.
151*7d0873ebSEmmanuel Vadot
152*7d0873ebSEmmanuel Vadot  mclk-id:
153*7d0873ebSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
154*7d0873ebSEmmanuel Vadot    description: main clock id, specific for each card configuration.
155*7d0873ebSEmmanuel Vadot
156*7d0873ebSEmmanuel Vadot  mux-int-port:
157*7d0873ebSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
158*7d0873ebSEmmanuel Vadot    enum: [1, 2, 7]
159*7d0873ebSEmmanuel Vadot    description: The internal port of the i.MX audio muxer (AUDMUX)
160*7d0873ebSEmmanuel Vadot
161*7d0873ebSEmmanuel Vadot  mux-ext-port:
162*7d0873ebSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
163*7d0873ebSEmmanuel Vadot    enum: [3, 4, 5, 6]
164*7d0873ebSEmmanuel Vadot    description: The external port of the i.MX audio muxer
165*7d0873ebSEmmanuel Vadot
166*7d0873ebSEmmanuel Vadot  ssi-controller:
167*7d0873ebSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle
168*7d0873ebSEmmanuel Vadot    description: The phandle of an CPU DAI controller
169*7d0873ebSEmmanuel Vadot
170*7d0873ebSEmmanuel Vadotrequired:
171*7d0873ebSEmmanuel Vadot  - compatible
172*7d0873ebSEmmanuel Vadot  - model
173*7d0873ebSEmmanuel Vadot
174*7d0873ebSEmmanuel VadotunevaluatedProperties: false
175*7d0873ebSEmmanuel Vadot
176*7d0873ebSEmmanuel Vadotexamples:
177*7d0873ebSEmmanuel Vadot  - |
178*7d0873ebSEmmanuel Vadot    sound-cs42888 {
179*7d0873ebSEmmanuel Vadot        compatible = "fsl,imx-audio-cs42888";
180*7d0873ebSEmmanuel Vadot        model = "cs42888-audio";
181*7d0873ebSEmmanuel Vadot        audio-cpu = <&esai>;
182*7d0873ebSEmmanuel Vadot        audio-asrc = <&asrc>;
183*7d0873ebSEmmanuel Vadot        audio-codec = <&cs42888>;
184*7d0873ebSEmmanuel Vadot        audio-routing =
185*7d0873ebSEmmanuel Vadot             "Line Out Jack", "AOUT1L",
186*7d0873ebSEmmanuel Vadot             "Line Out Jack", "AOUT1R",
187*7d0873ebSEmmanuel Vadot             "Line Out Jack", "AOUT2L",
188*7d0873ebSEmmanuel Vadot             "Line Out Jack", "AOUT2R",
189*7d0873ebSEmmanuel Vadot             "Line Out Jack", "AOUT3L",
190*7d0873ebSEmmanuel Vadot             "Line Out Jack", "AOUT3R",
191*7d0873ebSEmmanuel Vadot             "Line Out Jack", "AOUT4L",
192*7d0873ebSEmmanuel Vadot             "Line Out Jack", "AOUT4R",
193*7d0873ebSEmmanuel Vadot             "AIN1L", "Line In Jack",
194*7d0873ebSEmmanuel Vadot             "AIN1R", "Line In Jack",
195*7d0873ebSEmmanuel Vadot             "AIN2L", "Line In Jack",
196*7d0873ebSEmmanuel Vadot             "AIN2R", "Line In Jack";
197*7d0873ebSEmmanuel Vadot    };
198