Skip to content

Commit 1286da8

Browse files
committed
Merge tag 'sound-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound updates from Takashi Iwai: "A relative calm release at this time with a flat diffstat. The only significant change in the ALSA core side is the support for more than 32 card instances, configurable via kconfig. Other than that, in both ASoC and other parts, mostly some improvements and fixes on the driver side. - hda: More quirks for ALC269-variants on Dell & co, VIA codec fixes - hda: Haswell HDMI audio fixes, runtime PM improvements - hda: Intel BayTrail support, ALC5505 DSP support - es1968: MediaForte M56VAP support - usb-audio: Improved support for Yamaha/Roland devices - usb-audio: M2Tech hiFace, Audio Advantage Micro II support - hdspm: wordclock fixes - ASoC: Pending fixes for WM8962 - ASoC: Cleanups and fixes for Blackfin, SGTL5000 and UX500 - ASoC: Generalisation of the Bluetooth and HDMI stub drivers - ASoC: SSM2518 and RT5640 codec drivers. - ASoC: Tegra CPUs with RT5640 machine driver - ASoC: AC'97 refactoring bug fixes - ASoC: ADAU1701 driver fixes - Clean up of *_set_drvdata() in a wide range of drivers" * tag 'sound-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (284 commits) ALSA: vmaster: Fix the regression of missing vmaster hook call ALSA: hda - Add Dell SSID to support Headset Mic recording ASoC: adau1701: remove control_data assignment ASoC: adau1701: more direct regmap usage ASoC: ac97: fixup multi-platform AC'97 module build failure ASoC: pxa2xx: fixup multi-platform AC'97 build failures ASoC: tegra20-ac97: Remove unused variable ASoC: tegra20-ac97: Remove duplicate error message ALSA: usb-audio: Add Audio Advantage Micro II ASoC: tas5086: fix Mid-Z implementation ASoC: tas5086: fix TAS5086_CLOCK_CONTROL register size ALSA: Replace the magic number 44 with const ALSA: hda - Fix the max length of control name in generic parser ALSA: hda - Guess what, it's two more Dell headset mic quirks ALSA: hda - Yet another Dell headset mic quirk ALSA: hda - Add support for ALC5505 DSP power-save mode ASoC: mfld: Remove unused variable ALSA: usb-audio: add quirks for Roland QUAD/OCTO-CAPTURE ALSA: usb-audio: claim autodetected PCM interfaces all at once ALSA: usb-audio: remove superfluous Roland quirks ...
2 parents 9e22038 + 1ba65ae commit 1286da8

File tree

333 files changed

+12029
-4219
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

333 files changed

+12029
-4219
lines changed
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
Wolfson Arizona class audio SoCs
2+
3+
These devices are audio SoCs with extensive digital capabilites and a range
4+
of analogue I/O.
5+
6+
Required properties:
7+
8+
- compatible : one of the following chip-specific strings:
9+
"wlf,wm5102"
10+
"wlf,wm5110"
11+
- reg : I2C slave address when connected using I2C, chip select number when
12+
using SPI.
13+
14+
- interrupts : The interrupt line the /IRQ signal for the device is
15+
connected to.
16+
- interrupt-controller : Arizona class devices contain interrupt controllers
17+
and may provide interrupt services to other devices.
18+
- interrupt-parent : The parent interrupt controller.
19+
- #interrupt-cells: the number of cells to describe an IRQ, this should be 2.
20+
The first cell is the IRQ number.
21+
The second cell is the flags, encoded as the trigger masks from
22+
Documentation/devicetree/bindings/interrupts.txt
23+
24+
- gpio-controller : Indicates this device is a GPIO controller.
25+
- #gpio-cells : Must be 2. The first cell is the pin number and the
26+
second cell is used to specify optional parameters (currently unused).
27+
28+
- AVDD1-supply, DBVDD1-supply, DBVDD2-supply, DBVDD3-supply, CPVDD-supply,
29+
SPKVDDL-supply, SPKVDDR-supply : power supplies for the device, as covered
30+
in Documentation/devicetree/bindings/regulator/regulator.txt
31+
32+
Optional properties:
33+
34+
- wlf,reset : GPIO specifier for the GPIO controlling /RESET
35+
- wlf,ldoena : GPIO specifier for the GPIO controlling LDOENA
36+
37+
- wlf,gpio-defaults : A list of GPIO configuration register values. If
38+
absent, no configuration of these registers is performed. If any
39+
entry has a value that is out of range for a 16 bit register then
40+
the chip default will be used. If present exactly five values must
41+
be specified.
42+
43+
Example:
44+
45+
codec: wm5102@1a {
46+
compatible = "wlf,wm5102";
47+
reg = <0x1a>;
48+
interrupts = <347>;
49+
#interrupt-cells = <2>;
50+
interrupt-parent = <&gic>;
51+
52+
gpio-controller;
53+
#gpio-cells = <2>;
54+
55+
wlf,gpio-defaults = <
56+
0x00000000, /* AIF1TXLRCLK */
57+
0xffffffff,
58+
0xffffffff,
59+
0xffffffff,
60+
0xffffffff,
61+
>;
62+
};
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
Analog Devices ADAU1701
2+
3+
Required properties:
4+
5+
- compatible: Should contain "adi,adau1701"
6+
- reg: The i2c address. Value depends on the state of ADDR0
7+
and ADDR1, as wired in hardware.
8+
9+
Optional properties:
10+
11+
- reset-gpio: A GPIO spec to define which pin is connected to the
12+
chip's !RESET pin. If specified, the driver will
13+
assert a hardware reset at probe time.
14+
- adi,pll-mode-gpios: An array of two GPIO specs to describe the GPIOs
15+
the ADAU's PLL config pins are connected to.
16+
The state of the pins are set according to the
17+
configured clock divider on ASoC side before the
18+
firmware is loaded.
19+
- adi,pin-config: An array of 12 numerical values selecting one of the
20+
pin configurations as described in the datasheet,
21+
table 53. Note that the value of this property has
22+
to be prefixed with '/bits/ 8'.
23+
24+
Examples:
25+
26+
i2c_bus {
27+
adau1701@34 {
28+
compatible = "adi,adau1701";
29+
reg = <0x34>;
30+
reset-gpio = <&gpio 23 0>;
31+
adi,pll-mode-gpios = <&gpio 24 0 &gpio 25 0>;
32+
adi,pin-config = /bits/ 8 <0x4 0x7 0x5 0x5 0x4 0x4
33+
0x4 0x4 0x4 0x4 0x4 0x4>;
34+
};
35+
};
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
Freescale i.MX audio complex with WM8962 codec
2+
3+
Required properties:
4+
- compatible : "fsl,imx-audio-wm8962"
5+
- model : The user-visible name of this sound complex
6+
- ssi-controller : The phandle of the i.MX SSI controller
7+
- audio-codec : The phandle of the WM8962 audio codec
8+
- 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. Valid names could be power
11+
supplies, WM8962 pins, and the jacks on the board:
12+
13+
Power supplies:
14+
* Mic Bias
15+
16+
Board connectors:
17+
* Mic Jack
18+
* Headphone Jack
19+
* Ext Spk
20+
21+
- mux-int-port : The internal port of the i.MX audio muxer (AUDMUX)
22+
- mux-ext-port : The external port of the i.MX audio muxer
23+
24+
Note: The AUDMUX port numbering should start at 1, which is consistent with
25+
hardware manual.
26+
27+
Example:
28+
29+
sound {
30+
compatible = "fsl,imx6q-sabresd-wm8962",
31+
"fsl,imx-audio-wm8962";
32+
model = "wm8962-audio";
33+
ssi-controller = <&ssi2>;
34+
audio-codec = <&codec>;
35+
audio-routing =
36+
"Headphone Jack", "HPOUTL",
37+
"Headphone Jack", "HPOUTR",
38+
"Ext Spk", "SPKOUTL",
39+
"Ext Spk", "SPKOUTR",
40+
"MICBIAS", "AMIC",
41+
"IN3R", "MICBIAS",
42+
"DMIC", "MICBIAS",
43+
"DMICDAT", "DMIC";
44+
mux-int-port = <2>;
45+
mux-ext-port = <3>;
46+
};

Documentation/devicetree/bindings/sound/mxs-saif.txt

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,11 @@
33
Required properties:
44
- compatible: Should be "fsl,<chip>-saif"
55
- reg: Should contain registers location and length
6-
- interrupts: Should contain ERROR and DMA interrupts
7-
- fsl,saif-dma-channel: APBX DMA channel for the SAIF
6+
- interrupts: Should contain ERROR interrupt number
7+
- dmas: DMA specifier, consisting of a phandle to DMA controller node
8+
and SAIF DMA channel ID.
9+
Refer to dma.txt and fsl-mxs-dma.txt for details.
10+
- dma-names: Must be "rx-tx".
811

912
Optional properties:
1013
- fsl,saif-master: phandle to the master SAIF. It's only required for
@@ -23,14 +26,16 @@ aliases {
2326
saif0: saif@80042000 {
2427
compatible = "fsl,imx28-saif";
2528
reg = <0x80042000 2000>;
26-
interrupts = <59 80>;
27-
fsl,saif-dma-channel = <4>;
29+
interrupts = <59>;
30+
dmas = <&dma_apbx 4>;
31+
dma-names = "rx-tx";
2832
};
2933

3034
saif1: saif@80046000 {
3135
compatible = "fsl,imx28-saif";
3236
reg = <0x80046000 2000>;
33-
interrupts = <58 81>;
34-
fsl,saif-dma-channel = <5>;
37+
interrupts = <58>;
38+
dmas = <&dma_apbx 5>;
39+
dma-names = "rx-tx";
3540
fsl,saif-master = <&saif0>;
3641
};
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
NVIDIA Tegra audio complex, with RT5640 CODEC
2+
3+
Required properties:
4+
- compatible : "nvidia,tegra-audio-rt5640"
5+
- clocks : Must contain an entry for each entry in clock-names.
6+
- clock-names : Must include the following entries:
7+
"pll_a" (The Tegra clock of that name),
8+
"pll_a_out0" (The Tegra clock of that name),
9+
"mclk" (The Tegra cdev1/extern1 clock, which feeds the CODEC's mclk)
10+
- nvidia,model : The user-visible name of this sound complex.
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,
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:
15+
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+
38+
* Headphones
39+
* Speakers
40+
41+
- nvidia,i2s-controller : The phandle of the Tegra I2S controller that's
42+
connected to the CODEC.
43+
- nvidia,audio-codec : The phandle of the RT5640 audio codec. This binding
44+
assumes that AIF1 on the CODEC is connected to Tegra.
45+
46+
Optional properties:
47+
- nvidia,hp-det-gpios : The GPIO that detects headphones are plugged in
48+
49+
Example:
50+
51+
sound {
52+
compatible = "nvidia,tegra-audio-rt5640-dalmore",
53+
"nvidia,tegra-audio-rt5640";
54+
nvidia,model = "NVIDIA Tegra Dalmore";
55+
56+
nvidia,audio-routing =
57+
"Headphones", "HPOR",
58+
"Headphones", "HPOL",
59+
"Speakers", "SPORP",
60+
"Speakers", "SPORN",
61+
"Speakers", "SPOLP",
62+
"Speakers", "SPOLN";
63+
64+
nvidia,i2s-controller = <&tegra_i2s1>;
65+
nvidia,audio-codec = <&rt5640>;
66+
67+
nvidia,hp-det-gpios = <&gpio 143 0>; /* GPIO PR7 */
68+
69+
clocks = <&tegra_car 216>, <&tegra_car 217>, <&tegra_car 120>;
70+
clock-names = "pll_a", "pll_a_out0", "mclk";
71+
};
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
RT5640 audio CODEC
2+
3+
This device supports I2C only.
4+
5+
Required properties:
6+
7+
- compatible : "realtek,rt5640".
8+
9+
- reg : The I2C address of the device.
10+
11+
- interrupts : The CODEC's interrupt output.
12+
13+
Optional properties:
14+
15+
- realtek,in1-differential
16+
- realtek,in2-differential
17+
Boolean. Indicate MIC1/2 input are differential, rather than single-ended.
18+
19+
- realtek,ldo1-en-gpios : The GPIO that controls the CODEC's LDO1_EN pin.
20+
21+
Example:
22+
23+
rt5640 {
24+
compatible = "realtek,rt5640";
25+
reg = <0x1c>;
26+
interrupt-parent = <&gpio>;
27+
interrupts = <TEGRA_GPIO(W, 3) GPIO_ACTIVE_HIGH>;
28+
realtek,ldo1-en-gpios =
29+
<&gpio TEGRA_GPIO(V, 3) GPIO_ACTIVE_HIGH>;
30+
};

Documentation/devicetree/bindings/sound/sgtl5000.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,12 @@ Required properties:
55

66
- reg : the I2C address of the device
77

8+
- clocks : the clock provider of SYS_MCLK
9+
810
Example:
911

1012
codec: sgtl5000@0a {
1113
compatible = "fsl,sgtl5000";
1214
reg = <0x0a>;
15+
clocks = <&clks 150>;
1316
};
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
Device-Tree bindings for dummy spdif receiver
2+
3+
Required properties:
4+
- compatible: should be "linux,spdif-dir".
5+
6+
Example node:
7+
8+
codec: spdif-receiver {
9+
compatible = "linux,spdif-dir";
10+
};
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
Device-Tree bindings for dummy spdif transmitter
2+
3+
Required properties:
4+
- compatible: should be "linux,spdif-dit".
5+
6+
Example node:
7+
8+
codec: spdif-transmitter {
9+
compatible = "linux,spdif-dit";
10+
};
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
SSM2518 audio amplifier
2+
3+
This device supports I2C only.
4+
5+
Required properties:
6+
- compatible : Must be "adi,ssm2518"
7+
- reg : the I2C address of the device. This will either be 0x34 (ADDR pin low)
8+
or 0x35 (ADDR pin high)
9+
10+
Optional properties:
11+
- gpios : GPIO connected to the nSD pin. If the property is not present it is
12+
assumed that the nSD pin is hardwired to always on.
13+
14+
Example:
15+
16+
ssm2518: ssm2518@34 {
17+
compatible = "adi,ssm2518";
18+
reg = <0x34>;
19+
gpios = <&gpio 5 0>;
20+
};

Documentation/devicetree/bindings/sound/ti,tas5086.txt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,17 @@ Optional properties:
2020
When not specified, the hardware default of 1300ms
2121
is retained.
2222

23+
- ti,mid-z-channel-X: Boolean properties, X being a number from 1 to 6.
24+
If given, channel X will start with the Mid-Z start
25+
sequence, otherwise the default Low-Z scheme is used.
26+
27+
The correct configuration depends on how the power
28+
stages connected to the PWM output pins work. Not all
29+
power stages are compatible to Mid-Z - please refer
30+
to the datasheets for more details.
31+
32+
Most systems should not set any of these properties.
33+
2334
Examples:
2435

2536
i2c_bus {

Documentation/devicetree/bindings/sound/wm8962.txt

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,32 @@ Required properties:
88

99
- reg : the I2C address of the device.
1010

11+
Optional properties:
12+
- spk-mono: This is a boolean property. If present, the SPK_MONO bit
13+
of R51 (Class D Control 2) gets set, indicating that the speaker is
14+
in mono mode.
15+
16+
- mic-cfg : Default register value for R48 (Additional Control 4).
17+
If absent, the default should be the register default.
18+
19+
- gpio-cfg : A list of GPIO configuration register values. The list must
20+
be 6 entries long. If absent, no configuration of these registers is
21+
performed. And note that only the value within [0x0, 0xffff] is valid.
22+
Any other value is regarded as setting the GPIO register by its reset
23+
value 0x0.
24+
1125
Example:
1226

1327
codec: wm8962@1a {
1428
compatible = "wlf,wm8962";
1529
reg = <0x1a>;
30+
31+
gpio-cfg = <
32+
0x0000 /* 0:Default */
33+
0x0000 /* 1:Default */
34+
0x0013 /* 2:FN_DMICCLK */
35+
0x0000 /* 3:Default */
36+
0x8014 /* 4:FN_DMICCDAT */
37+
0x0000 /* 5:Default */
38+
>;
1639
};

0 commit comments

Comments
 (0)