Skip to content

Commit 28cbc33

Browse files
committed
Merge tag 'sound-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound updates from Takashi Iwai: "Here is the update of sound bits for 4.11: again at this time, no big changes in ALSA and ASoC core but only cosmetic changes like consitifaction. Meanwhile, quite a lot of developments are seen in a few driver side. ALSA Core: - Clean up, consitification of some ops HD-audio: - A slight behavior change of single_cmd option - Quirks for AmigaOne X1000, Samsung Ativ Book 8, Dell AiO, ALC221 HP, and fixes for Lewisburg controller - Realtek ALC299, ALC1220 codecs Others: - USB-audio: Tascam US-16x08 DSP mixer quirk - Intel HDMI LPE audio support for Baytrail / Cherrytrail; this contains some updates in drm/i915 for the new platform binding ASoC: - Lots of updates in Intel drivers, mostly for DisplayPort and HDMI on Skylake and onwards, as well as more Baytrail / Cherrytrail boards support - Channel mapping support for HDMI - Support for AllWinner A31 and A33, Everest Semiconductor ES8328, Nuvoton NAU8540. * tag 'sound-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (323 commits) ALSA: usb-audio: Tidy up mixer_us16x08.c ALSA: usb-audio: Fix memory leak and corruption in mixer_us16x08.c ALSA: usb-audio: purge needless variable length array ALSA: x86: hdmi: select CONFIG_SND_PCM ALSA: x86: Don't enable runtime PM as default ALSA: x86: Use runtime PM autosuspend ALSA: usb-audio: localize function without external linkage ALSA: usb-audio: localize one-referrer variable ALSA: usb-audio: Tascam US-16x08 DSP mixer quirk ALSA: emu10k1: constify snd_emux_operators structure ASoC: sun4i-spdif: drop unnessary snd_soc_unregister_component() ASoC: Intel: bxt: Add jack port initialize in bxt_rt298 machine ASoC: nau8825: automatic BCLK and LRC divde in master mode ASoC: hdac_hdmi: Add device id for Geminilake ASoC: Intel: Skylake: Add Geminlake IDs ASoC: rt298: Add DMI match for Geminilake reference platform ASoC: Intel: Skylake: Check device type to get endpoint configuration ASoC: Intel: bxt: Add jack port initialize in da7219_max98357a machine ASoC: Intel: Skylake: Add jack port initialize in nau88l25_ssm4567 machine ASoC: Intel: Skylake: Add jack port initialize in nau88l25_max98357a machine ...
2 parents 1ec5c18 + 7086b7b commit 28cbc33

File tree

234 files changed

+10428
-1916
lines changed

Some content is hidden

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

234 files changed

+10428
-1916
lines changed

Documentation/devicetree/bindings/misc/atmel-ssc.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ Optional properties:
2424
this parameter to choose where the clock from.
2525
- By default the clock is from TK pin, if the clock from RK pin, this
2626
property is needed.
27+
- #sound-dai-cells: Should contain <0>.
28+
- This property makes the SSC into an automatically registered DAI.
2729

2830
Examples:
2931
- PDC transfer:

Documentation/devicetree/bindings/sound/axentia,tse850-pcm5142.txt

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@ Devicetree bindings for the Axentia TSE-850 audio complex
22

33
Required properties:
44
- compatible: "axentia,tse850-pcm5142"
5-
- axentia,ssc-controller: The phandle of the atmel SSC controller used as
6-
cpu dai.
5+
- axentia,cpu-dai: The phandle of the cpu dai.
76
- axentia,audio-codec: The phandle of the PCM5142 codec.
87
- axentia,add-gpios: gpio specifier that controls the mixer.
98
- axentia,loop1-gpios: gpio specifier that controls loop relays on channel 1.
@@ -43,6 +42,12 @@ the PCM5142 codec.
4342

4443
Example:
4544

45+
&ssc0 {
46+
#sound-dai-cells = <0>;
47+
48+
status = "okay";
49+
};
50+
4651
&i2c {
4752
codec: pcm5142@4c {
4853
compatible = "ti,pcm5142";
@@ -77,7 +82,7 @@ Example:
7782
sound {
7883
compatible = "axentia,tse850-pcm5142";
7984

80-
axentia,ssc-controller = <&ssc0>;
85+
axentia,cpu-dai = <&ssc0>;
8186
axentia,audio-codec = <&codec>;
8287

8388
axentia,add-gpios = <&pioA 8 GPIO_ACTIVE_LOW>;

Documentation/devicetree/bindings/sound/es8328.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ This device supports both I2C and SPI.
44

55
Required properties:
66

7-
- compatible : "everest,es8328"
7+
- compatible : Should be "everest,es8328" or "everest,es8388"
88
- DVDD-supply : Regulator providing digital core supply voltage 1.8 - 3.6V
99
- AVDD-supply : Regulator providing analog supply voltage 3.3V
1010
- PVDD-supply : Regulator providing digital IO supply voltage 1.8 - 3.6V

Documentation/devicetree/bindings/sound/mt2701-afe-pcm.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ Required properties:
44
- compatible = "mediatek,mt2701-audio";
55
- reg: register location and size
66
- interrupts: Should contain AFE interrupt
7+
- power-domains: should define the power domain
78
- clock-names: should have these clock names:
89
"infra_sys_audio_clk",
910
"top_audio_mux1_sel",
@@ -58,6 +59,7 @@ Example:
5859
<0 0x112A0000 0 0x20000>;
5960
interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_LOW>,
6061
<GIC_SPI 132 IRQ_TYPE_LEVEL_LOW>;
62+
power-domains = <&scpsys MT2701_POWER_DOMAIN_IFR_MSC>;
6163
clocks = <&infracfg CLK_INFRA_AUDIO>,
6264
<&topckgen CLK_TOP_AUD_MUX1_SEL>,
6365
<&topckgen CLK_TOP_AUD_MUX2_SEL>,
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
NAU85L40 audio CODEC
2+
3+
This device supports I2C only.
4+
5+
Required properties:
6+
7+
- compatible : "nuvoton,nau8540"
8+
9+
- reg : the I2C address of the device.
10+
11+
Example:
12+
13+
codec: nau8540@1c {
14+
compatible = "nuvoton,nau8540";
15+
reg = <0x1c>;
16+
};
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
ROCKCHIP RK3288 with HDMI and analog audio
2+
3+
Required properties:
4+
- compatible: "rockchip,rk3288-hdmi-analog"
5+
- rockchip,model: The user-visible name of this sound complex
6+
- rockchip,i2s-controller: The phandle of the Rockchip I2S controller that's
7+
connected to the CODEC
8+
- rockchip,audio-codec: The phandle of the analog audio codec.
9+
- rockchip,routing: A list of the connections between audio components.
10+
Each entry is a pair of strings, the first being the
11+
connection's sink, the second being the connection's
12+
source. For this driver the first string should always be
13+
"Analog".
14+
15+
Optionnal properties:
16+
- rockchip,hp-en-gpios = The phandle of the GPIO that power up/down the
17+
headphone (when the analog output is an headphone).
18+
- rockchip,hp-det-gpios = The phandle of the GPIO that detects the headphone
19+
(when the analog output is an headphone).
20+
- pinctrl-names, pinctrl-0: Please refer to pinctrl-bindings.txt
21+
22+
Example:
23+
24+
sound {
25+
compatible = "rockchip,rockchip-audio-es8388";
26+
rockchip,model = "Analog audio output";
27+
rockchip,i2s-controller = <&i2s>;
28+
rockchip,audio-codec = <&es8388>;
29+
rockchip,routing = "Analog", "LOUT2",
30+
"Analog", "ROUT2";
31+
rockchip,hp-en-gpios = <&gpio8 0 GPIO_ACTIVE_HIGH>;
32+
rockchip,hp-det-gpios = <&gpio7 7 GPIO_ACTIVE_HIGH>;
33+
pinctrl-names = "default";
34+
pinctrl-0 = <&headphone>;
35+
};
36+

Documentation/devicetree/bindings/sound/sun4i-i2s.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ Required properties:
77

88
- compatible: should be one of the followings
99
- "allwinner,sun4i-a10-i2s"
10+
- "allwinner,sun6i-a31-i2s"
1011
- reg: physical base address of the controller and length of memory mapped
1112
region.
1213
- interrupts: should contain the I2S interrupt.
@@ -19,6 +20,10 @@ Required properties:
1920
- "mod" : module clock for the I2S controller
2021
- #sound-dai-cells : Must be equal to 0
2122

23+
Required properties for the following compatibles:
24+
- "allwinner,sun6i-a31-i2s"
25+
- resets: phandle to the reset line for this codec
26+
2227
Example:
2328

2429
i2s0: i2s@01c22400 {
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
Allwinner SUN8I audio codec
2+
------------------------------------
3+
4+
On Sun8i-A33 SoCs, the audio is separated in different parts:
5+
- A DAI driver. It uses the "sun4i-i2s" driver which is
6+
documented here:
7+
Documentation/devicetree/bindings/sound/sun4i-i2s.txt
8+
- An analog part of the codec which is handled as PRCM registers.
9+
See Documentation/devicetree/bindings/sound/sun8i-codec-analog.txt
10+
- An digital part of the codec which is documented in this current
11+
binding documentation.
12+
- And finally, an audio card which links all the above components.
13+
The simple-audio card will be used.
14+
See Documentation/devicetree/bindings/sound/simple-card.txt
15+
16+
This bindings documentation exposes Sun8i codec (digital part).
17+
18+
Required properties:
19+
- compatible: must be "allwinner,sun8i-a33-codec"
20+
- reg: must contain the registers location and length
21+
- interrupts: must contain the codec interrupt
22+
- clocks: a list of phandle + clock-specifer pairs, one for each entry
23+
in clock-names.
24+
- clock-names: should contain followings:
25+
- "bus": the parent APB clock for this controller
26+
- "mod": the parent module clock
27+
28+
Here is an example to add a sound card and the codec binding on sun8i SoCs that
29+
are similar to A33 using simple-card:
30+
31+
sound {
32+
compatible = "simple-audio-card";
33+
simple-audio-card,name = "sun8i-a33-audio";
34+
simple-audio-card,format = "i2s";
35+
simple-audio-card,frame-master = <&link_codec>;
36+
simple-audio-card,bitclock-master = <&link_codec>;
37+
simple-audio-card,mclk-fs = <512>;
38+
simple-audio-card,aux-devs = <&codec_analog>;
39+
simple-audio-card,routing =
40+
"Left DAC", "Digital Left DAC",
41+
"Right DAC", "Digital Right DAC";
42+
43+
simple-audio-card,cpu {
44+
sound-dai = <&dai>;
45+
};
46+
47+
link_codec: simple-audio-card,codec {
48+
sound-dai = <&codec>;
49+
};
50+
51+
soc@01c00000 {
52+
[...]
53+
54+
audio-codec@1c22e00 {
55+
#sound-dai-cells = <0>;
56+
compatible = "allwinner,sun8i-a33-codec";
57+
reg = <0x01c22e00 0x400>;
58+
interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
59+
clocks = <&ccu CLK_BUS_CODEC>, <&ccu CLK_AC_DIG>;
60+
clock-names = "bus", "mod";
61+
};
62+
};
63+

Documentation/devicetree/bindings/sound/sunxi,sun4i-spdif.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ Required properties:
1010
- compatible : should be one of the following:
1111
- "allwinner,sun4i-a10-spdif": for the Allwinner A10 SoC
1212
- "allwinner,sun6i-a31-spdif": for the Allwinner A31 SoC
13+
- "allwinner,sun8i-h3-spdif": for the Allwinner H3 SoC
1314

1415
- reg : Offset and length of the register set for the device.
1516

Documentation/devicetree/bindings/sound/zte,zx-i2s.txt

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
ZTE ZX296702 I2S controller
22

33
Required properties:
4-
- compatible : Must be "zte,zx296702-i2s"
4+
- compatible : Must be one of:
5+
"zte,zx296718-i2s", "zte,zx296702-i2s"
6+
"zte,zx296702-i2s"
57
- reg : Must contain I2S core's registers location and length
68
- clocks : Pairs of phandle and specifier referencing the controller's clocks.
7-
- clock-names: "tx" for the clock to the I2S interface.
9+
- clock-names: "wclk" for the wclk, "pclk" for the pclk to the I2S interface.
810
- dmas: Pairs of phandle and specifier for the DMA channel that is used by
911
the core. The core expects two dma channels for transmit.
1012
- dma-names : Must be "tx" and "rx"
@@ -16,12 +18,12 @@ please check:
1618
* dma/dma.txt
1719

1820
Example:
19-
i2s0: i2s0@0b005000 {
21+
i2s0: i2s@b005000 {
2022
#sound-dai-cells = <0>;
21-
compatible = "zte,zx296702-i2s";
23+
compatible = "zte,zx296718-i2s", "zte,zx296702-i2s";
2224
reg = <0x0b005000 0x1000>;
23-
clocks = <&lsp0clk ZX296702_I2S0_DIV>;
24-
clock-names = "tx";
25+
clocks = <&audiocrm AUDIO_I2S0_WCLK>, <&audiocrm AUDIO_I2S0_PCLK>;
26+
clock-names = "wclk", "pclk";
2527
interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
2628
dmas = <&dma 5>, <&dma 6>;
2729
dma-names = "tx", "rx";

0 commit comments

Comments
 (0)