Merge tag 'drm-next-2020-12-24' of git://anongit.freedesktop.org/drm/drm
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / sound / fsl-asoc-card.txt
1 Freescale Generic ASoC Sound Card with ASRC support
2
3 The Freescale Generic ASoC Sound Card can be used, ideally, for all Freescale
4 SoCs connecting with external CODECs.
5
6 The idea of this generic sound card is a bit like ASoC Simple Card. However,
7 for Freescale SoCs (especially those released in recent years), most of them
8 have ASRC (Documentation/devicetree/bindings/sound/fsl,asrc.txt) inside. And
9 this is a specific feature that might be painstakingly controlled and merged
10 into the Simple Card.
11
12 So having this generic sound card allows all Freescale SoC users to benefit
13 from the simplification of a new card support and the capability of the wide
14 sample rates support through ASRC.
15
16 Note: The card is initially designed for those sound cards who use AC'97, I2S
17       and PCM DAI formats. However, it'll be also possible to support those non
18       AC'97/I2S/PCM type sound cards, such as S/PDIF audio and HDMI audio, as
19       long as the driver has been properly upgraded.
20
21
22 The compatible list for this generic sound card currently:
23  "fsl,imx-audio-ac97"
24
25  "fsl,imx-audio-cs42888"
26
27  "fsl,imx-audio-cs427x"
28  (compatible with CS4271 and CS4272)
29
30  "fsl,imx-audio-wm8962"
31
32  "fsl,imx-audio-sgtl5000"
33  (compatible with Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt)
34
35  "fsl,imx-audio-wm8960"
36
37  "fsl,imx-audio-mqs"
38
39  "fsl,imx-audio-wm8524"
40
41  "fsl,imx-audio-tlv320aic32x4"
42
43  "fsl,imx-audio-si476x"
44
45 Required properties:
46
47   - compatible          : Contains one of entries in the compatible list.
48
49   - model               : The user-visible name of this sound complex
50
51   - audio-cpu           : The phandle of an CPU DAI controller
52
53   - audio-codec         : The phandle of an audio codec
54
55 Optional properties:
56
57   - audio-asrc          : The phandle of ASRC. It can be absent if there's no
58                           need to add ASRC support via DPCM.
59
60   - audio-routing       : A list of the connections between audio components.
61                           Each entry is a pair of strings, the first being the
62                           connection's sink, the second being the connection's
63                           source. There're a few pre-designed board connectors:
64                            * Line Out Jack
65                            * Line In Jack
66                            * Headphone Jack
67                            * Mic Jack
68                            * Ext Spk
69                            * AMIC (stands for Analog Microphone Jack)
70                            * DMIC (stands for Digital Microphone Jack)
71
72                           Note: The "Mic Jack" and "AMIC" are redundant while
73                                 coexisting in order to support the old bindings
74                                 of wm8962 and sgtl5000.
75
76   - hp-det-gpio         : The GPIO that detect headphones are plugged in
77   - mic-det-gpio        : The GPIO that detect microphones are plugged in
78   - bitclock-master     : Indicates dai-link bit clock master; for details see simple-card.yaml.
79   - frame-master        : Indicates dai-link frame master; for details see simple-card.yaml.
80   - dai-format          : audio format, for details see simple-card.yaml.
81   - frame-inversion     : dai-link uses frame clock inversion, for details see simple-card.yaml.
82   - bitclock-inversion  : dai-link uses bit clock inversion, for details see simple-card.yaml.
83
84 Optional unless SSI is selected as a CPU DAI:
85
86   - mux-int-port        : The internal port of the i.MX audio muxer (AUDMUX)
87
88   - mux-ext-port        : The external port of the i.MX audio muxer
89
90 Example:
91 sound-cs42888 {
92         compatible = "fsl,imx-audio-cs42888";
93         model = "cs42888-audio";
94         audio-cpu = <&esai>;
95         audio-asrc = <&asrc>;
96         audio-codec = <&cs42888>;
97         audio-routing =
98                 "Line Out Jack", "AOUT1L",
99                 "Line Out Jack", "AOUT1R",
100                 "Line Out Jack", "AOUT2L",
101                 "Line Out Jack", "AOUT2R",
102                 "Line Out Jack", "AOUT3L",
103                 "Line Out Jack", "AOUT3R",
104                 "Line Out Jack", "AOUT4L",
105                 "Line Out Jack", "AOUT4R",
106                 "AIN1L", "Line In Jack",
107                 "AIN1R", "Line In Jack",
108                 "AIN2L", "Line In Jack",
109                 "AIN2R", "Line In Jack";
110 };