Skip to content

Commit 3acbd2d

Browse files
committed
Merge tag 'sound-4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound updates from Takashi Iwai: "There have been little changes in ALSA core stuff, but ASoC core still kept rolling for the continued restructuring. The rest are lots of small driver-specific changes and some minor API updates. Here are highlights: General: - Appropriate fall-through annotations everywhere - Some code cleanup in memalloc code, handling non-cacahed pages more commonly in the helper - Deployment of SNDRV_PCM_INFO_SYNC_APPLPTR flag consistently Drivers: - More HD-audio CA0132 codec improvement for supporting other Creative boards - Plumbing legacy HD-audio codecs as ASoC BE on Intel SST; this will give move support of existing HD-audio devices with DSP - A few device-specific HD-audio quirks as usual - New quirk for RME CC devices and correction for B&W PX for USB-audio - FireWire: code refactoring including devres usages ASoC Core: - Continued componentization works; it's almost done! - A bunch of new for_each_foo macros - Cleanups and fixes in DAPM code ASoC Drivers: - MCLK support for several different devices, including CS42L51, STM32 SAI, and MAX98373 - Support for Allwinner A64 CODEC analog, Intel boards with DA7219 and MAX98927, Meson AXG PDM inputs, Nuvoton NAU8822, Renesas R8A7744 and TI PCM3060" * tag 'sound-4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (299 commits) ASoC: stm32: sai: fix master clock naming ASoC: stm32: add clock dependency for sai ALSA: hda/ca0132 - Actually fix microphone issue ASoC: sun4i-i2s: move code from startup/shutdown hooks into pm_runtime hooks ASoC: wm2000: Remove wm2000_read helper function ASoC: cs42l51: fix mclk support ASoC: wm_adsp: Log addresses as 8 digits in wm_adsp_buffer_populate ASoC: wm_adsp: Rename memory fields in wm_adsp_buffer ASoC: cs42l51: add mclk support ASoC: stm32: sai: set sai as mclk clock provider ASoC: dt-bindings: add mclk support to cs42l51 ASoC: dt-bindings: add mclk provider support to stm32 sai ASoC: soc-core: fix trivial checkpatch issues ASoC: dapm: Add support for hw_free on CODEC to CODEC links ASoC: Intel: kbl_da7219_max98927: minor white space clean up ALSA: i2c/cs8427: Fix int to char conversion ALSA: doc: Brush up the old writing-an-alsa-driver ASoC: rsnd: tidyup SSICR::SWSP for TDM ASoC: rsnd: enable TDM settings for SSI parent ASoC: pcm3168a: add hw constraint for capture channel ...
2 parents d49f8a5 + de7d83d commit 3acbd2d

File tree

244 files changed

+10808
-2656
lines changed

Some content is hidden

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

244 files changed

+10808
-2656
lines changed
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
Analog Devices ADAU1977/ADAU1978/ADAU1979
2+
3+
Datasheets:
4+
http://www.analog.com/media/en/technical-documentation/data-sheets/ADAU1977.pdf
5+
http://www.analog.com/media/en/technical-documentation/data-sheets/ADAU1978.pdf
6+
http://www.analog.com/media/en/technical-documentation/data-sheets/ADAU1979.pdf
7+
8+
This driver supports both the I2C and SPI bus.
9+
10+
Required properties:
11+
- compatible: Should contain one of the following:
12+
"adi,adau1977"
13+
"adi,adau1978"
14+
"adi,adau1979"
15+
16+
- AVDD-supply: analog power supply for the device, please consult
17+
Documentation/devicetree/bindings/regulator/regulator.txt
18+
19+
Optional properties:
20+
- reset-gpio: the reset pin for the chip, for more details consult
21+
Documentation/devicetree/bindings/gpio/gpio.txt
22+
23+
- DVDD-supply: supply voltage for the digital core, please consult
24+
Documentation/devicetree/bindings/regulator/regulator.txt
25+
26+
For required properties on SPI, please consult
27+
Documentation/devicetree/bindings/spi/spi-bus.txt
28+
29+
Required properties on I2C:
30+
31+
- reg: The i2c address. Value depends on the state of ADDR0
32+
and ADDR1, as wired in hardware.
33+
34+
Examples:
35+
36+
adau1977_spi: adau1977@0 {
37+
compatible = "adi,adau1977";
38+
spi-max-frequency = <600000>;
39+
40+
AVDD-supply = <&regulator>;
41+
DVDD-supply = <&regulator_digital>;
42+
43+
reset_gpio = <&gpio 10 GPIO_ACTIVE_LOW>;
44+
};
45+
46+
adau1977_i2c: adau1977@11 {
47+
compatible = "adi,adau1977";
48+
reg = <0x11>;
49+
50+
AVDD-supply = <&regulator>;
51+
DVDD-supply = <&regulator_digital>;
52+
53+
reset_gpio = <&gpio 10 GPIO_ACTIVE_LOW>;
54+
};
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
* Amlogic Audio PDM input
2+
3+
Required properties:
4+
- compatible: 'amlogic,axg-pdm'
5+
- reg: physical base address of the controller and length of memory
6+
mapped region.
7+
- clocks: list of clock phandle, one for each entry clock-names.
8+
- clock-names: should contain the following:
9+
* "pclk" : peripheral clock.
10+
* "dclk" : pdm digital clock
11+
* "sysclk" : dsp system clock
12+
- #sound-dai-cells: must be 0.
13+
14+
Example of PDM on the A113 SoC:
15+
16+
pdm: audio-controller@ff632000 {
17+
compatible = "amlogic,axg-pdm";
18+
reg = <0x0 0xff632000 0x0 0x34>;
19+
#sound-dai-cells = <0>;
20+
clocks = <&clkc_audio AUD_CLKID_PDM>,
21+
<&clkc_audio AUD_CLKID_PDM_DCLK>,
22+
<&clkc_audio AUD_CLKID_PDM_SYSCLK>;
23+
clock-names = "pclk", "dclk", "sysclk";
24+
};
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
CS42L51 audio CODEC
2+
3+
Optional properties:
4+
5+
- clocks : a list of phandles + clock-specifiers, one for each entry in
6+
clock-names
7+
8+
- clock-names : must contain "MCLK"
9+
10+
Example:
11+
12+
cs42l51: cs42l51@4a {
13+
compatible = "cirrus,cs42l51";
14+
reg = <0x4a>;
15+
clocks = <&mclk_prov>;
16+
clock-names = "MCLK";
17+
};
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
MAX98088 audio CODEC
2+
3+
This device supports I2C only.
4+
5+
Required properties:
6+
7+
- compatible: "maxim,max98088" or "maxim,max98089".
8+
- reg: The I2C address of the device.
9+
10+
Optional properties:
11+
12+
- clocks: the clock provider of MCLK, see ../clock/clock-bindings.txt section
13+
"consumer" for more information.
14+
- clock-names: must be set to "mclk"
15+
16+
Example:
17+
18+
max98089: codec@10 {
19+
compatible = "maxim,max98089";
20+
reg = <0x10>;
21+
clocks = <&clks IMX6QDL_CLK_CKO2>;
22+
clock-names = "mclk";
23+
};
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
Mikroe-PROTO audio board
2+
3+
Required properties:
4+
- compatible: "mikroe,mikroe-proto"
5+
- dai-format: Must be "i2s".
6+
- i2s-controller: The phandle of the I2S controller.
7+
- audio-codec: The phandle of the WM8731 audio codec.
8+
Optional properties:
9+
- model: The user-visible name of this sound complex.
10+
- bitclock-master: Indicates dai-link bit clock master; for details see simple-card.txt (1).
11+
- frame-master: Indicates dai-link frame master; for details see simple-card.txt (1).
12+
13+
(1) : There must be the same master for both bit and frame clocks.
14+
15+
Example:
16+
sound {
17+
compatible = "mikroe,mikroe-proto";
18+
model = "wm8731 @ sama5d2_xplained";
19+
i2s-controller = <&i2s0>;
20+
audio-codec = <&wm8731>;
21+
dai-format = "i2s";
22+
};
23+
};
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
NAU8822 audio CODEC
2+
3+
This device supports I2C only.
4+
5+
Required properties:
6+
7+
- compatible : "nuvoton,nau8822"
8+
9+
- reg : the I2C address of the device.
10+
11+
Example:
12+
13+
codec: nau8822@1a {
14+
compatible = "nuvoton,nau8822";
15+
reg = <0x1a>;
16+
};
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
PCM3060 audio CODEC
2+
3+
This driver supports both I2C and SPI.
4+
5+
Required properties:
6+
7+
- compatible: "ti,pcm3060"
8+
9+
- reg : the I2C address of the device for I2C, the chip select
10+
number for SPI.
11+
12+
Examples:
13+
14+
pcm3060: pcm3060@46 {
15+
compatible = "ti,pcm3060";
16+
reg = <0x46>;
17+
};

Documentation/devicetree/bindings/sound/qcom,q6afe.txt

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ configuration of each dai. Must contain the following properties.
4949
Usage: required for mi2s interface
5050
Value type: <prop-encoded-array>
5151
Definition: Must be list of serial data lines used by this dai.
52-
should be one or more of the 1-4 sd lines.
52+
should be one or more of the 0-3 sd lines.
5353

5454
- qcom,tdm-sync-mode:
5555
Usage: required for tdm interface
@@ -137,42 +137,42 @@ q6afe@4 {
137137

138138
prim-mi2s-rx@16 {
139139
reg = <16>;
140-
qcom,sd-lines = <1 3>;
140+
qcom,sd-lines = <0 2>;
141141
};
142142

143143
prim-mi2s-tx@17 {
144144
reg = <17>;
145-
qcom,sd-lines = <2>;
145+
qcom,sd-lines = <1>;
146146
};
147147

148148
sec-mi2s-rx@18 {
149149
reg = <18>;
150-
qcom,sd-lines = <1 4>;
150+
qcom,sd-lines = <0 3>;
151151
};
152152

153153
sec-mi2s-tx@19 {
154154
reg = <19>;
155-
qcom,sd-lines = <2>;
155+
qcom,sd-lines = <1>;
156156
};
157157

158158
tert-mi2s-rx@20 {
159159
reg = <20>;
160-
qcom,sd-lines = <2 4>;
160+
qcom,sd-lines = <1 3>;
161161
};
162162

163163
tert-mi2s-tx@21 {
164164
reg = <21>;
165-
qcom,sd-lines = <1>;
165+
qcom,sd-lines = <0>;
166166
};
167167

168168
quat-mi2s-rx@22 {
169169
reg = <22>;
170-
qcom,sd-lines = <1>;
170+
qcom,sd-lines = <0>;
171171
};
172172

173173
quat-mi2s-tx@23 {
174174
reg = <23>;
175-
qcom,sd-lines = <2>;
175+
qcom,sd-lines = <1>;
176176
};
177177
};
178178
};

Documentation/devicetree/bindings/sound/renesas,rsnd.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -340,10 +340,12 @@ Required properties:
340340
- compatible : "renesas,rcar_sound-<soctype>", fallbacks
341341
"renesas,rcar_sound-gen1" if generation1, and
342342
"renesas,rcar_sound-gen2" if generation2 (or RZ/G1)
343-
"renesas,rcar_sound-gen3" if generation3
343+
"renesas,rcar_sound-gen3" if generation3 (or RZ/G2)
344344
Examples with soctypes are:
345345
- "renesas,rcar_sound-r8a7743" (RZ/G1M)
346+
- "renesas,rcar_sound-r8a7744" (RZ/G1N)
346347
- "renesas,rcar_sound-r8a7745" (RZ/G1E)
348+
- "renesas,rcar_sound-r8a774a1" (RZ/G2M)
347349
- "renesas,rcar_sound-r8a7778" (R-Car M1A)
348350
- "renesas,rcar_sound-r8a7779" (R-Car H1)
349351
- "renesas,rcar_sound-r8a7790" (R-Car H2)
@@ -353,6 +355,7 @@ Required properties:
353355
- "renesas,rcar_sound-r8a7795" (R-Car H3)
354356
- "renesas,rcar_sound-r8a7796" (R-Car M3-W)
355357
- "renesas,rcar_sound-r8a77965" (R-Car M3-N)
358+
- "renesas,rcar_sound-r8a77990" (R-Car E3)
356359
- reg : Should contain the register physical address.
357360
required register is
358361
SRU/ADG/SSI if generation1

Documentation/devicetree/bindings/sound/st,sta32x.txt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@ Required properties:
1919

2020
Optional properties:
2121

22+
- clocks, clock-names: Clock specifier for XTI input clock.
23+
If specified, the clock will be enabled when the codec is probed,
24+
and disabled when it is removed. The 'clock-names' must be set to 'xti'.
25+
2226
- st,output-conf: number, Selects the output configuration:
2327
0: 2-channel (full-bridge) power, 2-channel data-out
2428
1: 2 (half-bridge). 1 (full-bridge) on-board power
@@ -39,6 +43,9 @@ Optional properties:
3943
- st,thermal-warning-recover:
4044
If present, thermal warning recovery is enabled.
4145

46+
- st,fault-detect-recovery:
47+
If present, fault detect recovery is enabled.
48+
4249
- st,thermal-warning-adjustment:
4350
If present, thermal warning adjustment is enabled.
4451

@@ -76,6 +83,8 @@ Example:
7683
codec: sta32x@38 {
7784
compatible = "st,sta32x";
7885
reg = <0x1c>;
86+
clocks = <&clock>;
87+
clock-names = "xti";
7988
reset-gpios = <&gpio1 19 0>;
8089
power-down-gpios = <&gpio1 16 0>;
8190
st,output-conf = /bits/ 8 <0x3>; // set output to 2-channel

Documentation/devicetree/bindings/sound/st,stm32-sai.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,11 @@ SAI subnodes required properties:
3131
- reg: Base address and size of SAI sub-block register set.
3232
- clocks: Must contain one phandle and clock specifier pair
3333
for sai_ck which feeds the internal clock generator.
34+
If the SAI shares a master clock, with another SAI set as MCLK
35+
clock provider, SAI provider phandle must be specified here.
3436
- clock-names: Must contain "sai_ck".
37+
Must also contain "MCLK", if SAI shares a master clock,
38+
with a SAI set as MCLK clock provider.
3539
- dmas: see Documentation/devicetree/bindings/dma/stm32-dma.txt
3640
- dma-names: identifier string for each DMA request line
3741
"tx": if sai sub-block is configured as playback DAI
@@ -51,6 +55,9 @@ SAI subnodes Optional properties:
5155
configured according to protocol defined in related DAI link node,
5256
such as i2s, left justified, right justified, dsp and pdm protocols.
5357
Note: ac97 protocol is not supported by SAI driver
58+
- #clock-cells: should be 0. This property must be present if the SAI device
59+
is a master clock provider, according to clocks bindings, described in
60+
Documentation/devicetree/bindings/clock/clock-bindings.txt.
5461

5562
The device node should contain one 'port' child node with one child 'endpoint'
5663
node, according to the bindings defined in Documentation/devicetree/bindings/

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ Required properties:
1010
- "allwinner,sun6i-a31-i2s"
1111
- "allwinner,sun8i-a83t-i2s"
1212
- "allwinner,sun8i-h3-i2s"
13+
- "allwinner,sun50i-a64-codec-i2s"
1314
- reg: physical base address of the controller and length of memory mapped
1415
region.
1516
- interrupts: should contain the I2S interrupt.
@@ -26,6 +27,7 @@ Required properties for the following compatibles:
2627
- "allwinner,sun6i-a31-i2s"
2728
- "allwinner,sun8i-a83t-i2s"
2829
- "allwinner,sun8i-h3-i2s"
30+
- "allwinner,sun50i-a64-codec-i2s"
2931
- resets: phandle to the reset line for this codec
3032

3133
Example:
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
* Allwinner A64 Codec Analog Controls
2+
3+
Required properties:
4+
- compatible: must be one of the following compatibles:
5+
- "allwinner,sun50i-a64-codec-analog"
6+
- reg: must contain the registers location and length
7+
8+
Example:
9+
codec_analog: codec-analog@1f015c0 {
10+
compatible = "allwinner,sun50i-a64-codec-analog";
11+
reg = <0x01f015c0 0x4>;
12+
};

Documentation/devicetree/bindings/sound/ts3a227e.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Required properties:
1414

1515
Optional properies:
1616
- ti,micbias: Intended MICBIAS voltage (datasheet section 9.6.7).
17-
Select 0/1/2/3/4/5/6/7 to specify MACBIAS voltage
17+
Select 0/1/2/3/4/5/6/7 to specify MICBIAS voltage
1818
2.1V/2.2V/2.3V/2.4V/2.5V/2.6V/2.7V/2.8V
1919
Default value is "1" (2.2V).
2020

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
WM8782 stereo ADC
2+
3+
This device does not have any control interface or reset pins.
4+
5+
Required properties:
6+
7+
- compatible : "wlf,wm8782"
8+
- Vdda-supply : phandle to a regulator for the analog power supply (2.7V - 5.5V)
9+
- Vdd-supply : phandle to a regulator for the digital power supply (2.7V - 3.6V)
10+
11+
Example:
12+
13+
wm8782: stereo-adc {
14+
compatible = "wlf,wm8782";
15+
Vdda-supply = <&vdda_supply>;
16+
Vdd-supply = <&vdd_supply>;
17+
};

Documentation/devicetree/bindings/trivial-devices.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ at,24c08 i2c serial eeprom (24cxx)
3535
atmel,at97sc3204t i2c trusted platform module (TPM)
3636
capella,cm32181 CM32181: Ambient Light Sensor
3737
capella,cm3232 CM3232: Ambient Light Sensor
38-
cirrus,cs42l51 Cirrus Logic CS42L51 audio codec
3938
dallas,ds1374 I2C, 32-Bit Binary Counter Watchdog RTC with Trickle Charger and Reset Input/Output
4039
dallas,ds1631 High-Precision Digital Thermometer
4140
dallas,ds1672 Dallas DS1672 Real-time Clock

Documentation/devicetree/bindings/vendor-prefixes.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,7 @@ micrel Micrel Inc.
235235
microchip Microchip Technology Inc.
236236
microcrystal Micro Crystal AG
237237
micron Micron Technology Inc.
238+
mikroe MikroElektronika d.o.o.
238239
minix MINIX Technology Ltd.
239240
miramems MiraMEMS Sensing Technology Co., Ltd.
240241
mitsubishi Mitsubishi Electric Corporation

Documentation/sound/hd-audio/models.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -309,6 +309,8 @@ asus-nx50
309309
ASUS Nx50 fixups
310310
asus-nx51
311311
ASUS Nx51 fixups
312+
asus-g751
313+
ASUS G751 fixups
312314
alc891-headset
313315
Headset mode support on ALC891
314316
alc891-headset-multi

0 commit comments

Comments
 (0)