summaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-09-04 19:26:56 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2013-09-04 19:26:56 -0400
commit977dbfcf8e9ff1783355b260d93101af315de18a (patch)
treeb586ca678499d1ccc2d199a97d65996c630b25d8 /Documentation
parentaa7054f5a5a9ff728ce291cb103afa19f4f849eb (diff)
parentb054087dbacee30a9dddaef2c9a96312146be04e (diff)
Merge tag 'sound-3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound updates from Takashi Iwai: "Changes are seen in a wide range of codes, mainly due to ASoC DAPM requirements; HD-audio shows a high peak in diffstat, it's just a removal of bunch of old static quirks. Some highlights: - HDPM: Updates for AIO/RayDAT support, TCO/sync support - RME96: Add PCM sync support - HD-audio: * A few HDMI/DP audio updates (CA assignment fix, stream switching fix, Intel DP device list support) * Device specific fixes (ASUS/CXT HP mic support, Thinkpad mic improvements, Chromebook fixes, STAC9228 Dell fixes) * Replace the all static quirks for AD codecs with the generic parser * WAKEEN support for handling irqs in the power saving mode - USB-audio: Clean up implicit fb handling and related codes - DAPM is now mandatory for ASoC CODEC drivers; all existing drivers have had some level of DAPM support added. In addition, a lot of cleanups and improvements in DAPM. - Support for ASoC cross-platform compile test - New drivers and support for Analog Devices ADAU1702 and ADAU1401(a), Asahi Kasei Microdevices AK4554, Atmel AT91ASM9x5 and WM8904 based machines, Freescale S/PDIF and SSI AC'97, Renesas R-Car SoCs, Samsung Exynos5420 SoCs, Texas Instruments PCM1681 and PCM1792A and Wolfson Microelectronics WM8997 - DT bindings for kirkwood and i.MX S/PDIF - Clean up and bug fixes: ssm2602, rt5640 and sgtl5000. - Core helpers for bitbanged AC'97 reset" * tag 'sound-3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (375 commits) ALSA: hda - Re-setup HDMI pin and audio infoframe on stream switches ALSA: hda - hdmi: Fallback to ALSA allocation when selecting CA ASoC: mxs-sgtl5000: Configure the dai_links as unidirectional ASoC: soc-pcm: Allow to specify unidirectional dai_link ASoC: fsl_spdif: Staticse non-exported symbols ASoC: ssm2602: Fix cache sync ASoC: Remove unused sysfs_registered field from snd_soc_codec struct ASoC: Remove unused debugfs_dapm field from snd_soc_{platform,codec} struct ASoC: Remove unused control_type field from snd_soc_codec struct ASoC: fsl: Add one blank space after ':=' in Makefile ASoC: fsl: Add wrapping for dev_dbg() in fsl_spdif.c ASoC: rt5640: change widget sequence for depop ASoC: dapm: Fix auto-disable for inverted controls ASoC: fsl: Drop SND_SOC_FSL_UTILS from SND_SOC_IMX_SPDIF ASoC: Samsung: Do not queue cyclic buffers multiple times ASoC: ep93xx-i2s: Remove unnecessary dev_set_drvdata() ASoC: designware_i2s: Remove unnecessary dev_set_drvdata() ASoC: fsl_spdif: remove redundant dev_err call in fsl_spdif_probe() ASoC: fsl: Add S/PDIF machine driver ASoc: kirkwood: Use the Kirkwood audio driver in Dove boards ...
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/devicetree/bindings/misc/atmel-ssc.txt23
-rw-r--r--Documentation/devicetree/bindings/serial/mrvl,pxa-ssp.txt65
-rw-r--r--Documentation/devicetree/bindings/sound/ak4554.c11
-rw-r--r--Documentation/devicetree/bindings/sound/alc5632.txt19
-rw-r--r--Documentation/devicetree/bindings/sound/atmel-sam9x5-wm8731-audio.txt35
-rw-r--r--Documentation/devicetree/bindings/sound/atmel-wm8904.txt55
-rw-r--r--Documentation/devicetree/bindings/sound/fsl,spdif.txt54
-rw-r--r--Documentation/devicetree/bindings/sound/fsl,ssi.txt (renamed from Documentation/devicetree/bindings/powerpc/fsl/ssi.txt)12
-rw-r--r--Documentation/devicetree/bindings/sound/imx-audio-spdif.txt34
-rw-r--r--Documentation/devicetree/bindings/sound/imx-audmux.txt9
-rw-r--r--Documentation/devicetree/bindings/sound/mrvl,pxa-ssp.txt28
-rw-r--r--Documentation/devicetree/bindings/sound/mrvl,pxa2xx-pcm.txt15
-rw-r--r--Documentation/devicetree/bindings/sound/mvebu-audio.txt29
-rw-r--r--Documentation/devicetree/bindings/sound/nvidia,tegra-audio-alc5632.txt24
-rw-r--r--Documentation/devicetree/bindings/sound/nvidia,tegra-audio-rt5640.txt26
-rw-r--r--Documentation/devicetree/bindings/sound/nvidia,tegra-audio-wm8753.txt27
-rw-r--r--Documentation/devicetree/bindings/sound/nvidia,tegra-audio-wm8903.txt24
-rw-r--r--Documentation/devicetree/bindings/sound/pcm1792a.txt18
-rw-r--r--Documentation/devicetree/bindings/sound/rt5640.txt20
-rw-r--r--Documentation/devicetree/bindings/sound/samsung-i2s.txt22
-rw-r--r--Documentation/devicetree/bindings/sound/soc-ac97link.txt28
-rw-r--r--Documentation/devicetree/bindings/sound/ti,pcm1681.txt15
-rw-r--r--Documentation/devicetree/bindings/sound/tlv320aic3x.txt9
-rw-r--r--Documentation/devicetree/bindings/sound/wm8731.txt9
-rw-r--r--Documentation/devicetree/bindings/sound/wm8753.txt24
-rw-r--r--Documentation/devicetree/bindings/sound/wm8903.txt19
-rw-r--r--Documentation/devicetree/bindings/sound/wm8994.txt4
-rw-r--r--Documentation/sound/alsa/HD-Audio-Models.txt1
-rw-r--r--Documentation/sound/alsa/HD-Audio.txt2
29 files changed, 554 insertions, 107 deletions
diff --git a/Documentation/devicetree/bindings/misc/atmel-ssc.txt b/Documentation/devicetree/bindings/misc/atmel-ssc.txt
index 38e51ad2e07e..a45ae08c8ed1 100644
--- a/Documentation/devicetree/bindings/misc/atmel-ssc.txt
+++ b/Documentation/devicetree/bindings/misc/atmel-ssc.txt
@@ -7,9 +7,30 @@ Required properties:
7- reg: Should contain SSC registers location and length 7- reg: Should contain SSC registers location and length
8- interrupts: Should contain SSC interrupt 8- interrupts: Should contain SSC interrupt
9 9
10Example: 10
11Required properties for devices compatible with "atmel,at91sam9g45-ssc":
12- dmas: DMA specifier, consisting of a phandle to DMA controller node,
13 the memory interface and SSC DMA channel ID (for tx and rx).
14 See Documentation/devicetree/bindings/dma/atmel-dma.txt for details.
15- dma-names: Must be "tx", "rx".
16
17Examples:
18- PDC transfer:
11ssc0: ssc@fffbc000 { 19ssc0: ssc@fffbc000 {
12 compatible = "atmel,at91rm9200-ssc"; 20 compatible = "atmel,at91rm9200-ssc";
13 reg = <0xfffbc000 0x4000>; 21 reg = <0xfffbc000 0x4000>;
14 interrupts = <14 4 5>; 22 interrupts = <14 4 5>;
15}; 23};
24
25- DMA transfer:
26ssc0: ssc@f0010000 {
27 compatible = "atmel,at91sam9g45-ssc";
28 reg = <0xf0010000 0x4000>;
29 interrupts = <28 4 5>;
30 dmas = <&dma0 1 13>,
31 <&dma0 1 14>;
32 dma-names = "tx", "rx";
33 pinctrl-names = "default";
34 pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>;
35 status = "disabled";
36};
diff --git a/Documentation/devicetree/bindings/serial/mrvl,pxa-ssp.txt b/Documentation/devicetree/bindings/serial/mrvl,pxa-ssp.txt
new file mode 100644
index 000000000000..669b8140dd79
--- /dev/null
+++ b/Documentation/devicetree/bindings/serial/mrvl,pxa-ssp.txt
@@ -0,0 +1,65 @@
1Device tree bindings for Marvell PXA SSP ports
2
3Required properties:
4
5 - compatible: Must be one of
6 mrvl,pxa25x-ssp
7 mvrl,pxa25x-nssp
8 mrvl,pxa27x-ssp
9 mrvl,pxa3xx-ssp
10 mvrl,pxa168-ssp
11 mrvl,pxa910-ssp
12 mrvl,ce4100-ssp
13 mrvl,lpss-ssp
14
15 - reg: The memory base
16 - dmas: Two dma phandles, one for rx, one for tx
17 - dma-names: Must be "rx", "tx"
18
19
20Example for PXA3xx:
21
22 ssp0: ssp@41000000 {
23 compatible = "mrvl,pxa3xx-ssp";
24 reg = <0x41000000 0x40>;
25 ssp-id = <1>;
26 interrupts = <24>;
27 clock-names = "pxa27x-ssp.0";
28 dmas = <&dma 13
29 &dma 14>;
30 dma-names = "rx", "tx";
31 };
32
33 ssp1: ssp@41700000 {
34 compatible = "mrvl,pxa3xx-ssp";
35 reg = <0x41700000 0x40>;
36 ssp-id = <2>;
37 interrupts = <16>;
38 clock-names = "pxa27x-ssp.1";
39 dmas = <&dma 15
40 &dma 16>;
41 dma-names = "rx", "tx";
42 };
43
44 ssp2: ssp@41900000 {
45 compatibl3 = "mrvl,pxa3xx-ssp";
46 reg = <0x41900000 0x40>;
47 ssp-id = <3>;
48 interrupts = <0>;
49 clock-names = "pxa27x-ssp.2";
50 dmas = <&dma 66
51 &dma 67>;
52 dma-names = "rx", "tx";
53 };
54
55 ssp3: ssp@41a00000 {
56 compatible = "mrvl,pxa3xx-ssp";
57 reg = <0x41a00000 0x40>;
58 ssp-id = <4>;
59 interrupts = <13>;
60 clock-names = "pxa27x-ssp.3";
61 dmas = <&dma 2
62 &dma 3>;
63 dma-names = "rx", "tx";
64 };
65
diff --git a/Documentation/devicetree/bindings/sound/ak4554.c b/Documentation/devicetree/bindings/sound/ak4554.c
new file mode 100644
index 000000000000..934fa02754b3
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/ak4554.c
@@ -0,0 +1,11 @@
1AK4554 ADC/DAC
2
3Required properties:
4
5 - compatible : "asahi-kasei,ak4554"
6
7Example:
8
9ak4554-adc-dac {
10 compatible = "asahi-kasei,ak4554";
11};
diff --git a/Documentation/devicetree/bindings/sound/alc5632.txt b/Documentation/devicetree/bindings/sound/alc5632.txt
index 8608f747dcfe..ffd886d110bd 100644
--- a/Documentation/devicetree/bindings/sound/alc5632.txt
+++ b/Documentation/devicetree/bindings/sound/alc5632.txt
@@ -13,6 +13,25 @@ Required properties:
13 - #gpio-cells : Should be two. The first cell is the pin number and the 13 - #gpio-cells : Should be two. The first cell is the pin number and the
14 second cell is used to specify optional parameters (currently unused). 14 second cell is used to specify optional parameters (currently unused).
15 15
16Pins on the device (for linking into audio routes):
17
18 * SPK_OUTP
19 * SPK_OUTN
20 * HP_OUT_L
21 * HP_OUT_R
22 * AUX_OUT_P
23 * AUX_OUT_N
24 * LINE_IN_L
25 * LINE_IN_R
26 * PHONE_P
27 * PHONE_N
28 * MIC1_P
29 * MIC1_N
30 * MIC2_P
31 * MIC2_N
32 * MICBIAS1
33 * DMICDAT
34
16Example: 35Example:
17 36
18alc5632: alc5632@1e { 37alc5632: alc5632@1e {
diff --git a/Documentation/devicetree/bindings/sound/atmel-sam9x5-wm8731-audio.txt b/Documentation/devicetree/bindings/sound/atmel-sam9x5-wm8731-audio.txt
new file mode 100644
index 000000000000..0720857089a7
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/atmel-sam9x5-wm8731-audio.txt
@@ -0,0 +1,35 @@
1* Atmel at91sam9x5ek wm8731 audio complex
2
3Required properties:
4 - compatible: "atmel,sam9x5-wm8731-audio"
5 - atmel,model: The user-visible name of this sound complex.
6 - atmel,ssc-controller: The phandle of the SSC controller
7 - atmel,audio-codec: The phandle of the WM8731 audio codec
8 - atmel,audio-routing: A list of the connections between audio components.
9 Each entry is a pair of strings, the first being the connection's sink,
10 the second being the connection's source.
11
12Available audio endpoints for the audio-routing table:
13
14Board connectors:
15 * Headphone Jack
16 * Line In Jack
17
18wm8731 pins:
19cf Documentation/devicetree/bindings/sound/wm8731.txt
20
21Example:
22sound {
23 compatible = "atmel,sam9x5-wm8731-audio";
24
25 atmel,model = "wm8731 @ AT91SAM9X5EK";
26
27 atmel,audio-routing =
28 "Headphone Jack", "RHPOUT",
29 "Headphone Jack", "LHPOUT",
30 "LLINEIN", "Line In Jack",
31 "RLINEIN", "Line In Jack";
32
33 atmel,ssc-controller = <&ssc0>;
34 atmel,audio-codec = <&wm8731>;
35};
diff --git a/Documentation/devicetree/bindings/sound/atmel-wm8904.txt b/Documentation/devicetree/bindings/sound/atmel-wm8904.txt
new file mode 100644
index 000000000000..8bbe50c884b6
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/atmel-wm8904.txt
@@ -0,0 +1,55 @@
1Atmel ASoC driver with wm8904 audio codec complex
2
3Required properties:
4 - compatible: "atmel,asoc-wm8904"
5 - atmel,model: The user-visible name of this sound complex.
6 - atmel,audio-routing: A list of the connections between audio components.
7 Each entry is a pair of strings, the first being the connection's sink,
8 the second being the connection's source. Valid names for sources and
9 sinks are the WM8904's pins, and the jacks on the board:
10
11 WM8904 pins:
12
13 * IN1L
14 * IN1R
15 * IN2L
16 * IN2R
17 * IN3L
18 * IN3R
19 * HPOUTL
20 * HPOUTR
21 * LINEOUTL
22 * LINEOUTR
23 * MICBIAS
24
25 Board connectors:
26
27 * Headphone Jack
28 * Line In Jack
29 * Mic
30
31 - atmel,ssc-controller: The phandle of the SSC controller
32 - atmel,audio-codec: The phandle of the WM8904 audio codec
33
34Optional properties:
35 - pinctrl-names, pinctrl-0: Please refer to pinctrl-bindings.txt
36
37Example:
38sound {
39 compatible = "atmel,asoc-wm8904";
40 pinctrl-names = "default";
41 pinctrl-0 = <&pinctrl_pck0_as_mck>;
42
43 atmel,model = "wm8904 @ AT91SAM9N12EK";
44
45 atmel,audio-routing =
46 "Headphone Jack", "HPOUTL",
47 "Headphone Jack", "HPOUTR",
48 "IN2L", "Line In Jack",
49 "IN2R", "Line In Jack",
50 "Mic", "MICBIAS",
51 "IN1L", "Mic";
52
53 atmel,ssc-controller = <&ssc0>;
54 atmel,audio-codec = <&wm8904>;
55};
diff --git a/Documentation/devicetree/bindings/sound/fsl,spdif.txt b/Documentation/devicetree/bindings/sound/fsl,spdif.txt
new file mode 100644
index 000000000000..f2ae335670f5
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/fsl,spdif.txt
@@ -0,0 +1,54 @@
1Freescale Sony/Philips Digital Interface Format (S/PDIF) Controller
2
3The Freescale S/PDIF audio block is a stereo transceiver that allows the
4processor to receive and transmit digital audio via an coaxial cable or
5a fibre cable.
6
7Required properties:
8
9 - compatible : Compatible list, must contain "fsl,imx35-spdif".
10
11 - reg : Offset and length of the register set for the device.
12
13 - interrupts : Contains the spdif interrupt.
14
15 - dmas : Generic dma devicetree binding as described in
16 Documentation/devicetree/bindings/dma/dma.txt.
17
18 - dma-names : Two dmas have to be defined, "tx" and "rx".
19
20 - clocks : Contains an entry for each entry in clock-names.
21
22 - clock-names : Includes the following entries:
23 "core" The core clock of spdif controller
24 "rxtx<0-7>" Clock source list for tx and rx clock.
25 This clock list should be identical to
26 the source list connecting to the spdif
27 clock mux in "SPDIF Transceiver Clock
28 Diagram" of SoC reference manual. It
29 can also be referred to TxClk_Source
30 bit of register SPDIF_STC.
31
32Example:
33
34spdif: spdif@02004000 {
35 compatible = "fsl,imx35-spdif";
36 reg = <0x02004000 0x4000>;
37 interrupts = <0 52 0x04>;
38 dmas = <&sdma 14 18 0>,
39 <&sdma 15 18 0>;
40 dma-names = "rx", "tx";
41
42 clocks = <&clks 197>, <&clks 3>,
43 <&clks 197>, <&clks 107>,
44 <&clks 0>, <&clks 118>,
45 <&clks 62>, <&clks 139>,
46 <&clks 0>;
47 clock-names = "core", "rxtx0",
48 "rxtx1", "rxtx2",
49 "rxtx3", "rxtx4",
50 "rxtx5", "rxtx6",
51 "rxtx7";
52
53 status = "okay";
54};
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/ssi.txt b/Documentation/devicetree/bindings/sound/fsl,ssi.txt
index 5ff76c9c57d2..4303b6ab6208 100644
--- a/Documentation/devicetree/bindings/powerpc/fsl/ssi.txt
+++ b/Documentation/devicetree/bindings/sound/fsl,ssi.txt
@@ -43,10 +43,22 @@ Required properties:
43 together. This would still allow different sample sizes, 43 together. This would still allow different sample sizes,
44 but not different sample rates. 44 but not different sample rates.
45 45
46Required are also ac97 link bindings if ac97 is used. See
47Documentation/devicetree/bindings/sound/soc-ac97link.txt for the necessary
48bindings.
49
46Optional properties: 50Optional properties:
47- codec-handle: Phandle to a 'codec' node that defines an audio 51- codec-handle: Phandle to a 'codec' node that defines an audio
48 codec connected to this SSI. This node is typically 52 codec connected to this SSI. This node is typically
49 a child of an I2C or other control node. 53 a child of an I2C or other control node.
54- fsl,fiq-stream-filter: Bool property. Disabled DMA and use FIQ instead to
55 filter the codec stream. This is necessary for some boards
56 where an incompatible codec is connected to this SSI, e.g.
57 on pca100 and pcm043.
58- dmas: Generic dma devicetree binding as described in
59 Documentation/devicetree/bindings/dma/dma.txt.
60- dma-names: Two dmas have to be defined, "tx" and "rx", if fsl,imx-fiq
61 is not defined.
50 62
51Child 'codec' node required properties: 63Child 'codec' node required properties:
52- compatible: Compatible list, contains the name of the codec 64- compatible: Compatible list, contains the name of the codec
diff --git a/Documentation/devicetree/bindings/sound/imx-audio-spdif.txt b/Documentation/devicetree/bindings/sound/imx-audio-spdif.txt
new file mode 100644
index 000000000000..7d13479f9c3c
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/imx-audio-spdif.txt
@@ -0,0 +1,34 @@
1Freescale i.MX audio complex with S/PDIF transceiver
2
3Required properties:
4
5 - compatible : "fsl,imx-audio-spdif"
6
7 - model : The user-visible name of this sound complex
8
9 - spdif-controller : The phandle of the i.MX S/PDIF controller
10
11
12Optional properties:
13
14 - spdif-out : This is a boolean property. If present, the transmitting
15 function of S/PDIF will be enabled, indicating there's a physical
16 S/PDIF out connector/jack on the board or it's connecting to some
17 other IP block, such as an HDMI encoder/display-controller.
18
19 - spdif-in : This is a boolean property. If present, the receiving
20 function of S/PDIF will be enabled, indicating there's a physical
21 S/PDIF in connector/jack on the board.
22
23* Note: At least one of these two properties should be set in the DT binding.
24
25
26Example:
27
28sound-spdif {
29 compatible = "fsl,imx-audio-spdif";
30 model = "imx-spdif";
31 spdif-controller = <&spdif>;
32 spdif-out;
33 spdif-in;
34};
diff --git a/Documentation/devicetree/bindings/sound/imx-audmux.txt b/Documentation/devicetree/bindings/sound/imx-audmux.txt
index 215aa9817213..f88a00e54c63 100644
--- a/Documentation/devicetree/bindings/sound/imx-audmux.txt
+++ b/Documentation/devicetree/bindings/sound/imx-audmux.txt
@@ -5,6 +5,15 @@ Required properties:
5 or "fsl,imx31-audmux" for the version firstly used on i.MX31. 5 or "fsl,imx31-audmux" for the version firstly used on i.MX31.
6- reg : Should contain AUDMUX registers location and length 6- reg : Should contain AUDMUX registers location and length
7 7
8An initial configuration can be setup using child nodes.
9
10Required properties of optional child nodes:
11- fsl,audmux-port : Integer of the audmux port that is configured by this
12 child node.
13- fsl,port-config : List of configuration options for the specific port. For
14 imx31-audmux and above, it is a list of tuples <ptcr pdcr>. For
15 imx21-audmux it is a list of pcr values.
16
8Example: 17Example:
9 18
10audmux@021d8000 { 19audmux@021d8000 {
diff --git a/Documentation/devicetree/bindings/sound/mrvl,pxa-ssp.txt b/Documentation/devicetree/bindings/sound/mrvl,pxa-ssp.txt
new file mode 100644
index 000000000000..74c9ba6c2823
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/mrvl,pxa-ssp.txt
@@ -0,0 +1,28 @@
1Marvell PXA SSP CPU DAI bindings
2
3Required properties:
4
5 compatible Must be "mrvl,pxa-ssp-dai"
6 port A phandle reference to a PXA ssp upstream device
7
8Example:
9
10 /* upstream device */
11
12 ssp0: ssp@41000000 {
13 compatible = "mrvl,pxa3xx-ssp";
14 reg = <0x41000000 0x40>;
15 interrupts = <24>;
16 clock-names = "pxa27x-ssp.0";
17 dmas = <&dma 13
18 &dma 14>;
19 dma-names = "rx", "tx";
20 };
21
22 /* DAI as user */
23
24 ssp_dai0: ssp_dai@0 {
25 compatible = "mrvl,pxa-ssp-dai";
26 port = <&ssp0>;
27 };
28
diff --git a/Documentation/devicetree/bindings/sound/mrvl,pxa2xx-pcm.txt b/Documentation/devicetree/bindings/sound/mrvl,pxa2xx-pcm.txt
new file mode 100644
index 000000000000..551fbb8348c2
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/mrvl,pxa2xx-pcm.txt
@@ -0,0 +1,15 @@
1DT bindings for ARM PXA2xx PCM platform driver
2
3This is just a dummy driver that registers the PXA ASoC platform driver.
4It does not have any resources assigned.
5
6Required properties:
7
8 - compatible 'mrvl,pxa-pcm-audio'
9
10Example:
11
12 pxa_pcm_audio: snd_soc_pxa_audio {
13 compatible = "mrvl,pxa-pcm-audio";
14 };
15
diff --git a/Documentation/devicetree/bindings/sound/mvebu-audio.txt b/Documentation/devicetree/bindings/sound/mvebu-audio.txt
new file mode 100644
index 000000000000..7e5fd37c1b3f
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/mvebu-audio.txt
@@ -0,0 +1,29 @@
1* mvebu (Kirkwood, Dove, Armada 370) audio controller
2
3Required properties:
4
5- compatible: "marvell,mvebu-audio"
6
7- reg: physical base address of the controller and length of memory mapped
8 region.
9
10- interrupts: list of two irq numbers.
11 The first irq is used for data flow and the second one is used for errors.
12
13- clocks: one or two phandles.
14 The first one is mandatory and defines the internal clock.
15 The second one is optional and defines an external clock.
16
17- clock-names: names associated to the clocks:
18 "internal" for the internal clock
19 "extclk" for the external clock
20
21Example:
22
23i2s1: audio-controller@b4000 {
24 compatible = "marvell,mvebu-audio";
25 reg = <0xb4000 0x2210>;
26 interrupts = <21>, <22>;
27 clocks = <&gate_clk 13>;
28 clock-names = "internal";
29};
diff --git a/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-alc5632.txt b/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-alc5632.txt
index 05ffecb57103..8b8903ef0800 100644
--- a/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-alc5632.txt
+++ b/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-alc5632.txt
@@ -11,28 +11,8 @@ Required properties:
11- nvidia,audio-routing : A list of the connections between audio components. 11- nvidia,audio-routing : A list of the connections between audio components.
12 Each entry is a pair of strings, the first being the connection's sink, 12 Each entry is a pair of strings, the first being the connection's sink,
13 the second being the connection's source. Valid names for sources and 13 the second being the connection's source. Valid names for sources and
14 sinks are the ALC5632's pins: 14 sinks are the ALC5632's pins as documented in the binding for the device
15 15 and:
16 ALC5632 pins:
17
18 * SPK_OUTP
19 * SPK_OUTN
20 * HP_OUT_L
21 * HP_OUT_R
22 * AUX_OUT_P
23 * AUX_OUT_N
24 * LINE_IN_L
25 * LINE_IN_R
26 * PHONE_P
27 * PHONE_N
28 * MIC1_P
29 * MIC1_N
30 * MIC2_P
31 * MIC2_N
32 * MICBIAS1
33 * DMICDAT
34
35 Board connectors:
36 16
37 * Headset Stereophone 17 * Headset Stereophone
38 * Int Spk 18 * Int Spk
diff --git a/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-rt5640.txt b/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-rt5640.txt
index d130818700b2..dc6224994d69 100644
--- a/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-rt5640.txt
+++ b/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-rt5640.txt
@@ -11,32 +11,12 @@ Required properties:
11- nvidia,audio-routing : A list of the connections between audio components. 11- nvidia,audio-routing : A list of the connections between audio components.
12 Each entry is a pair of strings, the first being the connection's sink, 12 Each entry is a pair of strings, the first being the connection's sink,
13 the second being the connection's source. Valid names for sources and 13 the second being the connection's source. Valid names for sources and
14 sinks are the RT5640's pins, and the jacks on the board: 14 sinks are the RT5640's pins (as documented in its binding), and the jacks
15 15 on the board:
16 RT5640 pins:
17
18 * DMIC1
19 * DMIC2
20 * MICBIAS1
21 * IN1P
22 * IN1R
23 * IN2P
24 * IN2R
25 * HPOL
26 * HPOR
27 * LOUTL
28 * LOUTR
29 * MONOP
30 * MONON
31 * SPOLP
32 * SPOLN
33 * SPORP
34 * SPORN
35
36 Board connectors:
37 16
38 * Headphones 17 * Headphones
39 * Speakers 18 * Speakers
19 * Mic Jack
40 20
41- nvidia,i2s-controller : The phandle of the Tegra I2S controller that's 21- nvidia,i2s-controller : The phandle of the Tegra I2S controller that's
42 connected to the CODEC. 22 connected to the CODEC.
diff --git a/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-wm8753.txt b/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-wm8753.txt
index d14510613a7f..aab6ce0ad2fc 100644
--- a/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-wm8753.txt
+++ b/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-wm8753.txt
@@ -11,31 +11,8 @@ Required properties:
11- nvidia,audio-routing : A list of the connections between audio components. 11- nvidia,audio-routing : A list of the connections between audio components.
12 Each entry is a pair of strings, the first being the connection's sink, 12 Each entry is a pair of strings, the first being the connection's sink,
13 the second being the connection's source. Valid names for sources and 13 the second being the connection's source. Valid names for sources and
14 sinks are the WM8753's pins, and the jacks on the board: 14 sinks are the WM8753's pins as documented in the binding for the WM8753,
15 15 and the jacks on the board:
16 WM8753 pins:
17
18 * LOUT1
19 * LOUT2
20 * ROUT1
21 * ROUT2
22 * MONO1
23 * MONO2
24 * OUT3
25 * OUT4
26 * LINE1
27 * LINE2
28 * RXP
29 * RXN
30 * ACIN
31 * ACOP
32 * MIC1N
33 * MIC1
34 * MIC2N
35 * MIC2
36 * Mic Bias
37
38 Board connectors:
39 16
40 * Headphone Jack 17 * Headphone Jack
41 * Mic Jack 18 * Mic Jack
diff --git a/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-wm8903.txt b/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-wm8903.txt
index 3bf722deb722..4b44dfb6ca0d 100644
--- a/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-wm8903.txt
+++ b/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-wm8903.txt
@@ -11,28 +11,8 @@ Required properties:
11- nvidia,audio-routing : A list of the connections between audio components. 11- nvidia,audio-routing : A list of the connections between audio components.
12 Each entry is a pair of strings, the first being the connection's sink, 12 Each entry is a pair of strings, the first being the connection's sink,
13 the second being the connection's source. Valid names for sources and 13 the second being the connection's source. Valid names for sources and
14 sinks are the WM8903's pins, and the jacks on the board: 14 sinks are the WM8903's pins (documented in the WM8903 binding document),
15 15 and the jacks on the board:
16 WM8903 pins:
17
18 * IN1L
19 * IN1R
20 * IN2L
21 * IN2R
22 * IN3L
23 * IN3R
24 * DMICDAT
25 * HPOUTL
26 * HPOUTR
27 * LINEOUTL
28 * LINEOUTR
29 * LOP
30 * LON
31 * ROP
32 * RON
33 * MICBIAS
34
35 Board connectors:
36 16
37 * Headphone Jack 17 * Headphone Jack
38 * Int Spk 18 * Int Spk
diff --git a/Documentation/devicetree/bindings/sound/pcm1792a.txt b/Documentation/devicetree/bindings/sound/pcm1792a.txt
new file mode 100644
index 000000000000..970ba1ed576f
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/pcm1792a.txt
@@ -0,0 +1,18 @@
1Texas Instruments pcm1792a DT bindings
2
3This driver supports the SPI bus.
4
5Required properties:
6
7 - compatible: "ti,pcm1792a"
8
9For required properties on SPI, please consult
10Documentation/devicetree/bindings/spi/spi-bus.txt
11
12Examples:
13
14 codec_spi: 1792a@0 {
15 compatible = "ti,pcm1792a";
16 spi-max-frequency = <600000>;
17 };
18
diff --git a/Documentation/devicetree/bindings/sound/rt5640.txt b/Documentation/devicetree/bindings/sound/rt5640.txt
index 005bcb24d72d..068a1141b06f 100644
--- a/Documentation/devicetree/bindings/sound/rt5640.txt
+++ b/Documentation/devicetree/bindings/sound/rt5640.txt
@@ -18,6 +18,26 @@ Optional properties:
18 18
19- realtek,ldo1-en-gpios : The GPIO that controls the CODEC's LDO1_EN pin. 19- realtek,ldo1-en-gpios : The GPIO that controls the CODEC's LDO1_EN pin.
20 20
21Pins on the device (for linking into audio routes):
22
23 * DMIC1
24 * DMIC2
25 * MICBIAS1
26 * IN1P
27 * IN1R
28 * IN2P
29 * IN2R
30 * HPOL
31 * HPOR
32 * LOUTL
33 * LOUTR
34 * MONOP
35 * MONON
36 * SPOLP
37 * SPOLN
38 * SPORP
39 * SPORN
40
21Example: 41Example:
22 42
23rt5640 { 43rt5640 {
diff --git a/Documentation/devicetree/bindings/sound/samsung-i2s.txt b/Documentation/devicetree/bindings/sound/samsung-i2s.txt
index 025e66b85a43..7386d444ada1 100644
--- a/Documentation/devicetree/bindings/sound/samsung-i2s.txt
+++ b/Documentation/devicetree/bindings/sound/samsung-i2s.txt
@@ -2,7 +2,15 @@
2 2
3Required SoC Specific Properties: 3Required SoC Specific Properties:
4 4
5- compatible : "samsung,i2s-v5" 5- compatible : should be one of the following.
6 - samsung,s3c6410-i2s: for 8/16/24bit stereo I2S.
7 - samsung,s5pv210-i2s: for 8/16/24bit multichannel(5.1) I2S with
8 secondary fifo, s/w reset control and internal mux for root clk src.
9 - samsung,exynos5420-i2s: for 8/16/24bit multichannel(7.1) I2S with
10 secondary fifo, s/w reset control, internal mux for root clk src and
11 TDM support. TDM (Time division multiplexing) is to allow transfer of
12 multiple channel audio data on single data line.
13
6- reg: physical base address of the controller and length of memory mapped 14- reg: physical base address of the controller and length of memory mapped
7 region. 15 region.
8- dmas: list of DMA controller phandle and DMA request line ordered pairs. 16- dmas: list of DMA controller phandle and DMA request line ordered pairs.
@@ -21,13 +29,6 @@ Required SoC Specific Properties:
21 29
22Optional SoC Specific Properties: 30Optional SoC Specific Properties:
23 31
24- samsung,supports-6ch: If the I2S Primary sound source has 5.1 Channel
25 support, this flag is enabled.
26- samsung,supports-rstclr: This flag should be set if I2S software reset bit
27 control is required. When this flag is set I2S software reset bit will be
28 enabled or disabled based on need.
29- samsung,supports-secdai:If I2S block has a secondary FIFO and internal DMA,
30 then this flag is enabled.
31- samsung,idma-addr: Internal DMA register base address of the audio 32- samsung,idma-addr: Internal DMA register base address of the audio
32 sub system(used in secondary sound source). 33 sub system(used in secondary sound source).
33- pinctrl-0: Should specify pin control groups used for this controller. 34- pinctrl-0: Should specify pin control groups used for this controller.
@@ -36,7 +37,7 @@ Optional SoC Specific Properties:
36Example: 37Example:
37 38
38i2s0: i2s@03830000 { 39i2s0: i2s@03830000 {
39 compatible = "samsung,i2s-v5"; 40 compatible = "samsung,s5pv210-i2s";
40 reg = <0x03830000 0x100>; 41 reg = <0x03830000 0x100>;
41 dmas = <&pdma0 10 42 dmas = <&pdma0 10
42 &pdma0 9 43 &pdma0 9
@@ -46,9 +47,6 @@ i2s0: i2s@03830000 {
46 <&clock_audss EXYNOS_I2S_BUS>, 47 <&clock_audss EXYNOS_I2S_BUS>,
47 <&clock_audss EXYNOS_SCLK_I2S>; 48 <&clock_audss EXYNOS_SCLK_I2S>;
48 clock-names = "iis", "i2s_opclk0", "i2s_opclk1"; 49 clock-names = "iis", "i2s_opclk0", "i2s_opclk1";
49 samsung,supports-6ch;
50 samsung,supports-rstclr;
51 samsung,supports-secdai;
52 samsung,idma-addr = <0x03000000>; 50 samsung,idma-addr = <0x03000000>;
53 pinctrl-names = "default"; 51 pinctrl-names = "default";
54 pinctrl-0 = <&i2s0_bus>; 52 pinctrl-0 = <&i2s0_bus>;
diff --git a/Documentation/devicetree/bindings/sound/soc-ac97link.txt b/Documentation/devicetree/bindings/sound/soc-ac97link.txt
new file mode 100644
index 000000000000..80152a87f239
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/soc-ac97link.txt
@@ -0,0 +1,28 @@
1AC97 link bindings
2
3These bindings can be included within any other device node.
4
5Required properties:
6 - pinctrl-names: Has to contain following states to setup the correct
7 pinmuxing for the used gpios:
8 "ac97-running": AC97-link is active
9 "ac97-reset": AC97-link reset state
10 "ac97-warm-reset": AC97-link warm reset state
11 - ac97-gpios: List of gpio phandles with args in the order ac97-sync,
12 ac97-sdata, ac97-reset
13
14
15Example:
16
17ssi {
18 ...
19
20 pinctrl-names = "default", "ac97-running", "ac97-reset", "ac97-warm-reset";
21 pinctrl-0 = <&ac97link_running>;
22 pinctrl-1 = <&ac97link_running>;
23 pinctrl-2 = <&ac97link_reset>;
24 pinctrl-3 = <&ac97link_warm_reset>;
25 ac97-gpios = <&gpio3 20 0 &gpio3 22 0 &gpio3 28 0>;
26
27 ...
28};
diff --git a/Documentation/devicetree/bindings/sound/ti,pcm1681.txt b/Documentation/devicetree/bindings/sound/ti,pcm1681.txt
new file mode 100644
index 000000000000..4df17185ab80
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/ti,pcm1681.txt
@@ -0,0 +1,15 @@
1Texas Instruments PCM1681 8-channel PWM Processor
2
3Required properties:
4
5 - compatible: Should contain "ti,pcm1681".
6 - reg: The i2c address. Should contain <0x4c>.
7
8Examples:
9
10 i2c_bus {
11 pcm1681@4c {
12 compatible = "ti,pcm1681";
13 reg = <0x4c>;
14 };
15 };
diff --git a/Documentation/devicetree/bindings/sound/tlv320aic3x.txt b/Documentation/devicetree/bindings/sound/tlv320aic3x.txt
index f47c3f589fd0..705a6b156c6c 100644
--- a/Documentation/devicetree/bindings/sound/tlv320aic3x.txt
+++ b/Documentation/devicetree/bindings/sound/tlv320aic3x.txt
@@ -3,7 +3,14 @@ Texas Instruments - tlv320aic3x Codec module
3The tlv320aic3x serial control bus communicates through I2C protocols 3The tlv320aic3x serial control bus communicates through I2C protocols
4 4
5Required properties: 5Required properties:
6- compatible - "string" - "ti,tlv320aic3x" 6
7- compatible - "string" - One of:
8 "ti,tlv320aic3x" - Generic TLV320AIC3x device
9 "ti,tlv320aic33" - TLV320AIC33
10 "ti,tlv320aic3007" - TLV320AIC3007
11 "ti,tlv320aic3106" - TLV320AIC3106
12
13
7- reg - <int> - I2C slave address 14- reg - <int> - I2C slave address
8 15
9 16
diff --git a/Documentation/devicetree/bindings/sound/wm8731.txt b/Documentation/devicetree/bindings/sound/wm8731.txt
index 15f70048469b..236690e99b87 100644
--- a/Documentation/devicetree/bindings/sound/wm8731.txt
+++ b/Documentation/devicetree/bindings/sound/wm8731.txt
@@ -16,3 +16,12 @@ codec: wm8731@1a {
16 compatible = "wlf,wm8731"; 16 compatible = "wlf,wm8731";
17 reg = <0x1a>; 17 reg = <0x1a>;
18}; 18};
19
20Available audio endpoints for an audio-routing table:
21 * LOUT: Left Channel Line Output
22 * ROUT: Right Channel Line Output
23 * LHPOUT: Left Channel Headphone Output
24 * RHPOUT: Right Channel Headphone Output
25 * LLINEIN: Left Channel Line Input
26 * RLINEIN: Right Channel Line Input
27 * MICIN: Microphone Input
diff --git a/Documentation/devicetree/bindings/sound/wm8753.txt b/Documentation/devicetree/bindings/sound/wm8753.txt
index e65277a0fb60..8eee61282105 100644
--- a/Documentation/devicetree/bindings/sound/wm8753.txt
+++ b/Documentation/devicetree/bindings/sound/wm8753.txt
@@ -10,9 +10,31 @@ Required properties:
10 - reg : the I2C address of the device for I2C, the chip select 10 - reg : the I2C address of the device for I2C, the chip select
11 number for SPI. 11 number for SPI.
12 12
13Pins on the device (for linking into audio routes):
14
15 * LOUT1
16 * LOUT2
17 * ROUT1
18 * ROUT2
19 * MONO1
20 * MONO2
21 * OUT3
22 * OUT4
23 * LINE1
24 * LINE2
25 * RXP
26 * RXN
27 * ACIN
28 * ACOP
29 * MIC1N
30 * MIC1
31 * MIC2N
32 * MIC2
33 * Mic Bias
34
13Example: 35Example:
14 36
15codec: wm8737@1a { 37codec: wm8753@1a {
16 compatible = "wlf,wm8753"; 38 compatible = "wlf,wm8753";
17 reg = <0x1a>; 39 reg = <0x1a>;
18}; 40};
diff --git a/Documentation/devicetree/bindings/sound/wm8903.txt b/Documentation/devicetree/bindings/sound/wm8903.txt
index f102cbc42694..94ec32c194bb 100644
--- a/Documentation/devicetree/bindings/sound/wm8903.txt
+++ b/Documentation/devicetree/bindings/sound/wm8903.txt
@@ -28,6 +28,25 @@ Optional properties:
28 performed. If any entry has the value 0xffffffff, that GPIO's 28 performed. If any entry has the value 0xffffffff, that GPIO's
29 configuration will not be modified. 29 configuration will not be modified.
30 30
31Pins on the device (for linking into audio routes):
32
33 * IN1L
34 * IN1R
35 * IN2L
36 * IN2R
37 * IN3L
38 * IN3R
39 * DMICDAT
40 * HPOUTL
41 * HPOUTR
42 * LINEOUTL
43 * LINEOUTR
44 * LOP
45 * LON
46 * ROP
47 * RON
48 * MICBIAS
49
31Example: 50Example:
32 51
33codec: wm8903@1a { 52codec: wm8903@1a {
diff --git a/Documentation/devicetree/bindings/sound/wm8994.txt b/Documentation/devicetree/bindings/sound/wm8994.txt
index f2f3e80934d2..e045e90a0924 100644
--- a/Documentation/devicetree/bindings/sound/wm8994.txt
+++ b/Documentation/devicetree/bindings/sound/wm8994.txt
@@ -32,6 +32,10 @@ Optional properties:
32 The second cell is the flags, encoded as the trigger masks from 32 The second cell is the flags, encoded as the trigger masks from
33 Documentation/devicetree/bindings/interrupts.txt 33 Documentation/devicetree/bindings/interrupts.txt
34 34
35 - clocks : A list of up to two phandle and clock specifier pairs
36 - clock-names : A list of clock names sorted in the same order as clocks.
37 Valid clock names are "MCLK1" and "MCLK2".
38
35 - wlf,gpio-cfg : A list of GPIO configuration register values. If absent, 39 - wlf,gpio-cfg : A list of GPIO configuration register values. If absent,
36 no configuration of these registers is performed. If any value is 40 no configuration of these registers is performed. If any value is
37 over 0xffff then the register will be left as default. If present 11 41 over 0xffff then the register will be left as default. If present 11
diff --git a/Documentation/sound/alsa/HD-Audio-Models.txt b/Documentation/sound/alsa/HD-Audio-Models.txt
index 809d72b8eff1..a46ddb85e83a 100644
--- a/Documentation/sound/alsa/HD-Audio-Models.txt
+++ b/Documentation/sound/alsa/HD-Audio-Models.txt
@@ -244,6 +244,7 @@ STAC9227/9228/9229/927x
244 5stack-no-fp D965 5stack without front panel 244 5stack-no-fp D965 5stack without front panel
245 dell-3stack Dell Dimension E520 245 dell-3stack Dell Dimension E520
246 dell-bios Fixes with Dell BIOS setup 246 dell-bios Fixes with Dell BIOS setup
247 dell-bios-amic Fixes with Dell BIOS setup including analog mic
247 volknob Fixes with volume-knob widget 0x24 248 volknob Fixes with volume-knob widget 0x24
248 auto BIOS setup (default) 249 auto BIOS setup (default)
249 250
diff --git a/Documentation/sound/alsa/HD-Audio.txt b/Documentation/sound/alsa/HD-Audio.txt
index c3c912d023cc..42a0a39b77e6 100644
--- a/Documentation/sound/alsa/HD-Audio.txt
+++ b/Documentation/sound/alsa/HD-Audio.txt
@@ -454,6 +454,8 @@ The generic parser supports the following hints:
454- need_dac_fix (bool): limits the DACs depending on the channel count 454- need_dac_fix (bool): limits the DACs depending on the channel count
455- primary_hp (bool): probe headphone jacks as the primary outputs; 455- primary_hp (bool): probe headphone jacks as the primary outputs;
456 default true 456 default true
457- multi_io (bool): try probing multi-I/O config (e.g. shared
458 line-in/surround, mic/clfe jacks)
457- multi_cap_vol (bool): provide multiple capture volumes 459- multi_cap_vol (bool): provide multiple capture volumes
458- inv_dmic_split (bool): provide split internal mic volume/switch for 460- inv_dmic_split (bool): provide split internal mic volume/switch for
459 phase-inverted digital mics 461 phase-inverted digital mics