Skip to content

Commit 76727c2

Browse files
committed
Merge tag 'asoc-v4.15' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
ASoC: Updates for v4.15 The biggest thing this release has been the conversion of the AC98 bus to the driver model, that's been a long time coming so thanks to Robert Jarzmik for his dedication there. Due to there being some AC97 MFD there's a few fairly large changes in input and the MFD layer, mainly to the wm97xx driver. There's also some drivers/drm changes to support the new AMD Stoney platform, these are shared with the DRM subsystem and should be being merged via both. Within the subsystem the overwhelming bulk of the changes is in the Intel drivers which continue to need lots of cleanups and fixes, this release they've also gained support for their open source firmware. There's also some large changs in the core as Morimoto-san continues to mirror operations into the component level in preparation for conversion of drivers to that. - The AC97 bus has finally caught up with the driver model thanks to some dedicated and persistent work from Robert Jarzmik. - Continued work from Morimoto-san on moving us towards being able to use components for everything. - Lots of cleanups for the Intel platform code, including support for their open source audio firmware. - Support for scaling MCLK with sample rate in simple-card. - Support for AMD Stoney platform.
2 parents c429bda + df6a3e2 commit 76727c2

File tree

12,937 files changed

+22379
-3523
lines changed

Some content is hidden

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

12,937 files changed

+22379
-3523
lines changed

.mailmap

+6
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ Adriana Reus <[email protected]> <[email protected]>
1515
1616
1717
Aleksey Gorelov <[email protected]>
18+
Aleksandar Markovic <[email protected]> <[email protected]>
1819
1920
2021
Andreas Herrmann <[email protected]>
@@ -43,6 +44,7 @@ Corey Minyard <[email protected]>
4344
Damian Hobson-Garcia <[email protected]>
4445
David Brownell <[email protected]>
4546
David Woodhouse <[email protected]>
47+
4648
Dmitry Eremin-Solenikov <[email protected]>
4749
Domen Puncer <[email protected]>
4850
Douglas Gilbert <[email protected]>
@@ -100,6 +102,7 @@ Leonid I Ananiev <[email protected]>
100102
Linas Vepstas <[email protected]>
101103
102104
105+
103106
Mark Brown <[email protected]>
104107
105108
@@ -114,9 +117,11 @@ Mauro Carvalho Chehab <[email protected]> <[email protected]>
114117
Matt Ranostay <[email protected]> Matthew Ranostay <[email protected]>
115118
116119
120+
117121
Mayuresh Janorkar <[email protected]>
118122
Michael Buesch <[email protected]>
119123
Michel Dänzer <[email protected]>
124+
120125
Mitesh shah <[email protected]>
121126
122127
Morten Welinder <[email protected]>
@@ -127,6 +132,7 @@ Mythri P K <[email protected]>
127132
Nguyen Anh Quynh <[email protected]>
128133
Paolo 'Blaisorblade' Giarrusso <[email protected]>
129134
Patrick Mochel <[email protected]>
135+
130136
Peter A Jonsson <[email protected]>
131137
Peter Oruba <[email protected]>
132138
Peter Oruba <[email protected]>

Documentation/ABI/testing/sysfs-class-remoteproc

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
What: /sys/class/remoteproc/.../firmware
22
Date: October 2016
3-
Contact: Matt Redfearn <matt.redfearn@imgtec.com>
3+
Contact: Matt Redfearn <matt.redfearn@mips.com>
44
Description: Remote processor firmware
55

66
Reports the name of the firmware currently loaded to the
@@ -11,7 +11,7 @@ Description: Remote processor firmware
1111

1212
What: /sys/class/remoteproc/.../state
1313
Date: October 2016
14-
Contact: Matt Redfearn <matt.redfearn@imgtec.com>
14+
Contact: Matt Redfearn <matt.redfearn@mips.com>
1515
Description: Remote processor state
1616

1717
Reports the state of the remote processor, which will be one of:

Documentation/ABI/testing/sysfs-devices-power

+1-3
Original file line numberDiff line numberDiff line change
@@ -211,9 +211,7 @@ Description:
211211
device, after it has been suspended at run time, from a resume
212212
request to the moment the device will be ready to process I/O,
213213
in microseconds. If it is equal to 0, however, this means that
214-
the PM QoS resume latency may be arbitrary and the special value
215-
"n/a" means that user space cannot accept any resume latency at
216-
all for the given device.
214+
the PM QoS resume latency may be arbitrary.
217215

218216
Not all drivers support this attribute. If it isn't supported,
219217
it is not present.

Documentation/devicetree/bindings/mfd/arizona.txt

+1-39
Original file line numberDiff line numberDiff line change
@@ -65,45 +65,6 @@ Optional properties:
6565
a value that is out of range for a 16 bit register then the chip default
6666
will be used. If present exactly five values must be specified.
6767

68-
- wlf,inmode : A list of INn_MODE register values, where n is the number
69-
of input signals. Valid values are 0 (Differential), 1 (Single-ended) and
70-
2 (Digital Microphone). If absent, INn_MODE registers set to 0 by default.
71-
If present, values must be specified less than or equal to the number of
72-
input signals. If values less than the number of input signals, elements
73-
that have not been specified are set to 0 by default. Entries are:
74-
<IN1, IN2, IN3, IN4> (wm5102, wm5110, wm8280, wm8997)
75-
<IN1A, IN2A, IN1B, IN2B> (wm8998, wm1814)
76-
- wlf,out-mono : A list of boolean values indicating whether each output is
77-
mono or stereo. Position within the list indicates the output affected
78-
(eg. First entry in the list corresponds to output 1). A non-zero value
79-
indicates a mono output. If present, the number of values should be less
80-
than or equal to the number of outputs, if less values are supplied the
81-
additional outputs will be treated as stereo.
82-
83-
- wlf,dmic-ref : DMIC reference voltage source for each input, can be
84-
selected from either MICVDD or one of the MICBIAS's, defines
85-
(ARIZONA_DMIC_xxxx) are provided in <dt-bindings/mfd/arizona.txt>. If
86-
present, the number of values should be less than or equal to the
87-
number of inputs, unspecified inputs will use the chip default.
88-
89-
- wlf,max-channels-clocked : The maximum number of channels to be clocked on
90-
each AIF, useful for I2S systems with multiple data lines being mastered.
91-
Specify one cell for each AIF to be configured, specify zero for AIFs that
92-
should be handled normally.
93-
If present, number of cells must be less than or equal to the number of
94-
AIFs. If less than the number of AIFs, for cells that have not been
95-
specified the corresponding AIFs will be treated as default setting.
96-
97-
- wlf,spk-fmt : PDM speaker data format, must contain 2 cells (OUT5 and OUT6).
98-
See the datasheet for values.
99-
The second cell is ignored for codecs that do not have OUT6 (wm5102, wm8997,
100-
wm8998, wm1814)
101-
102-
- wlf,spk-mute : PDM speaker mute setting, must contain 2 cells (OUT5 and OUT6).
103-
See the datasheet for values.
104-
The second cell is ignored for codecs that do not have OUT6 (wm5102, wm8997,
105-
wm8998, wm1814)
106-
10768
- DCVDD-supply, MICVDD-supply : Power supplies, only need to be specified if
10869
they are being externally supplied. As covered in
10970
Documentation/devicetree/bindings/regulator/regulator.txt
@@ -112,6 +73,7 @@ Optional properties:
11273
Also see child specific device properties:
11374
Regulator - ../regulator/arizona-regulator.txt
11475
Extcon - ../extcon/extcon-arizona.txt
76+
Sound - ../sound/arizona.txt
11577

11678
Example:
11779

Documentation/devicetree/bindings/sound/audio-graph-card.txt

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ Below are same as Simple-Card.
1717
- bitclock-master
1818
- bitclock-inversion
1919
- frame-inversion
20+
- mclk-fs
2021
- dai-tdm-slot-num
2122
- dai-tdm-slot-width
2223
- clocks / system-clock-frequency

Documentation/devicetree/bindings/sound/audio-graph-scu-card.txt

+3-2
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ Example 1. Sampling Rate Conversion
4343
label = "sound-card";
4444
prefix = "codec";
4545
routing = "codec Playback", "DAI0 Playback",
46-
"codec Playback", "DAI1 Playback";
46+
"DAI0 Capture", "codec Capture";
4747
convert-rate = <48000>;
4848

4949
dais = <&cpu_port>;
@@ -79,7 +79,8 @@ Example 2. 2 CPU 1 Codec (Mixing)
7979
label = "sound-card";
8080
prefix = "codec";
8181
routing = "codec Playback", "DAI0 Playback",
82-
"codec Playback", "DAI1 Playback";
82+
"codec Playback", "DAI1 Playback",
83+
"DAI0 Capture", "codec Capture";
8384
convert-rate = <48000>;
8485

8586
dais = <&cpu_port0

Documentation/devicetree/bindings/sound/cs42l56.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ Example:
5555
codec: codec@4b {
5656
compatible = "cirrus,cs42l56";
5757
reg = <0x4b>;
58-
gpio-reset = <&gpio 10 0>;
58+
cirrus,gpio-nreset = <&gpio 10 0>;
5959
cirrus,chgfreq-divisor = <0x05>;
6060
cirrus.ain1_ref_cfg;
6161
cirrus,micbias-lvl = <5>;

Documentation/devicetree/bindings/sound/rt5514.txt

+9-4
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,27 @@
11
RT5514 audio CODEC
22

3-
This device supports I2C only.
3+
This device supports both I2C and SPI.
44

55
Required properties:
66

77
- compatible : "realtek,rt5514".
88

9-
- reg : The I2C address of the device.
9+
- reg : the I2C address of the device for I2C, the chip select
10+
number for SPI.
1011

1112
Optional properties:
1213

1314
- clocks: The phandle of the master clock to the CODEC
1415
- clock-names: Should be "mclk"
1516

17+
- interrupt-parent: The phandle for the interrupt controller.
18+
- interrupts: The interrupt number to the cpu. The interrupt specifier format
19+
depends on the interrupt controller.
20+
1621
- realtek,dmic-init-delay-ms
17-
Set the DMIC initial delay (ms) to wait it ready.
22+
Set the DMIC initial delay (ms) to wait it ready for I2C.
1823

19-
Pins on the device (for linking into audio routes) for RT5514:
24+
Pins on the device (for linking into audio routes) for I2C:
2025

2126
* DMIC1L
2227
* DMIC1R

Documentation/devicetree/bindings/sound/rt5663.txt

+16
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,22 @@ Optional properties:
1919
Based on the different PCB layout, add the manual offset value to
2020
compensate the DC offset for each L and R channel, and they are different
2121
between headphone and headset.
22+
- "realtek,impedance_sensing_num"
23+
The matrix row number of the impedance sensing table.
24+
If the value is 0, it means the impedance sensing is not supported.
25+
- "realtek,impedance_sensing_table"
26+
The matrix rows of the impedance sensing table are consisted by impedance
27+
minimum, impedance maximun, volume, DC offset w/o and w/ mic of each L and
28+
R channel accordingly. Example is shown as following.
29+
< 0 300 7 0xffd160 0xffd1c0 0xff8a10 0xff8ab0
30+
301 65535 4 0xffe470 0xffe470 0xffb8e0 0xffb8e0>
31+
The first and second column are defined for the impedance range. If the
32+
detected impedance value is in the range, then the volume value of the
33+
third column will be set to codec. In our codec design, each volume value
34+
should compensate different DC offset to avoid the pop sound, and it is
35+
also different between headphone and headset. In the example, the
36+
"realtek,impedance_sensing_num" is 2. It means that there are 2 ranges of
37+
impedance in the impedance sensing function.
2238

2339
Pins on the device (for linking into audio routes) for RT5663:
2440

Documentation/devicetree/bindings/sound/sgtl5000.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ VDDIO 1.8V 2.5V 3.3V
3737

3838
Example:
3939

40-
codec: sgtl5000@0a {
40+
codec: sgtl5000@a {
4141
compatible = "fsl,sgtl5000";
4242
reg = <0x0a>;
4343
clocks = <&clks 150>;

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

+11-3
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,21 @@ Required properties:
1010
- reg: Base address and size of SAI common register set.
1111
- clocks: Must contain phandle and clock specifier pairs for each entry
1212
in clock-names.
13-
- clock-names: Must contain "x8k" and "x11k"
13+
- clock-names: Must contain "pclk" "x8k" and "x11k"
14+
"pclk": Clock which feeds the peripheral bus interface.
15+
Mandatory for "st,stm32h7-sai" compatible.
16+
Not used for "st,stm32f4-sai" compatible.
1417
"x8k": SAI parent clock for sampling rates multiple of 8kHz.
1518
"x11k": SAI parent clock for sampling rates multiple of 11.025kHz.
1619
- interrupts: cpu DAI interrupt line shared by SAI sub-blocks
1720

1821
Optional properties:
1922
- resets: Reference to a reset controller asserting the SAI
23+
- st,sync: specify synchronization mode.
24+
By default SAI sub-block is in asynchronous mode.
25+
This property sets SAI sub-block as slave of another SAI sub-block.
26+
Must contain the phandle and index of the sai sub-block providing
27+
the synchronization.
2028

2129
SAI subnodes:
2230
Two subnodes corresponding to SAI sub-block instances A et B can be defined.
@@ -52,8 +60,8 @@ sai1: sai1@40015800 {
5260
#size-cells = <1>;
5361
ranges = <0 0x40015800 0x400>;
5462
reg = <0x40015800 0x4>;
55-
clocks = <&rcc PLL1_Q>, <&rcc PLL2_P>;
56-
clock-names = "x8k", "x11k";
63+
clocks = <&rcc SAI1_CK>, <&rcc PLL1_Q>, <&rcc PLL2_P>;
64+
clock-names = "pclk", "x8k", "x11k";
5765
interrupts = <87>;
5866

5967
sai1a: audio-controller@40015804 {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
NXP TFA9879 class-D audio amplifier
2+
3+
Required properties:
4+
5+
- compatible : "nxp,tfa9879"
6+
7+
- reg : the I2C address of the device
8+
9+
Example:
10+
11+
&i2c1 {
12+
clock-frequency = <100000>;
13+
pinctrl-names = "default";
14+
pinctrl-0 = <&pinctrl_i2c1>;
15+
status = "okay";
16+
17+
codec: tfa9879@6c {
18+
#sound-dai-cells = <0>;
19+
compatible = "nxp,tfa9879";
20+
reg = <0x6c>;
21+
};
22+
};
23+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
Cirrus Logic Arizona class audio SoCs
2+
3+
These devices are audio SoCs with extensive digital capabilities and a range
4+
of analogue I/O.
5+
6+
This document lists sound specific bindings, see the primary binding
7+
document:
8+
../mfd/arizona.txt
9+
10+
Optional properties:
11+
12+
- wlf,inmode : A list of INn_MODE register values, where n is the number
13+
of input signals. Valid values are 0 (Differential), 1 (Single-ended) and
14+
2 (Digital Microphone). If absent, INn_MODE registers set to 0 by default.
15+
If present, values must be specified less than or equal to the number of
16+
input signals. If values less than the number of input signals, elements
17+
that have not been specified are set to 0 by default. Entries are:
18+
<IN1, IN2, IN3, IN4> (wm5102, wm5110, wm8280, wm8997)
19+
<IN1A, IN2A, IN1B, IN2B> (wm8998, wm1814)
20+
- wlf,out-mono : A list of boolean values indicating whether each output is
21+
mono or stereo. Position within the list indicates the output affected
22+
(eg. First entry in the list corresponds to output 1). A non-zero value
23+
indicates a mono output. If present, the number of values should be less
24+
than or equal to the number of outputs, if less values are supplied the
25+
additional outputs will be treated as stereo.
26+
27+
- wlf,dmic-ref : DMIC reference voltage source for each input, can be
28+
selected from either MICVDD or one of the MICBIAS's, defines
29+
(ARIZONA_DMIC_xxxx) are provided in <dt-bindings/mfd/arizona.txt>. If
30+
present, the number of values should be less than or equal to the
31+
number of inputs, unspecified inputs will use the chip default.
32+
33+
- wlf,max-channels-clocked : The maximum number of channels to be clocked on
34+
each AIF, useful for I2S systems with multiple data lines being mastered.
35+
Specify one cell for each AIF to be configured, specify zero for AIFs that
36+
should be handled normally.
37+
If present, number of cells must be less than or equal to the number of
38+
AIFs. If less than the number of AIFs, for cells that have not been
39+
specified the corresponding AIFs will be treated as default setting.
40+
41+
- wlf,spk-fmt : PDM speaker data format, must contain 2 cells (OUT5 and OUT6).
42+
See the datasheet for values.
43+
The second cell is ignored for codecs that do not have OUT6 (wm5102, wm8997,
44+
wm8998, wm1814)
45+
46+
- wlf,spk-mute : PDM speaker mute setting, must contain 2 cells (OUT5 and OUT6).
47+
See the datasheet for values.
48+
The second cell is ignored for codecs that do not have OUT6 (wm5102, wm8997,
49+
wm8998, wm1814)
50+
51+
- wlf,out-volume-limit : The volume limit value that should be applied to each
52+
output channel. See the datasheet for exact values. Channels are specified
53+
in the order OUT1L, OUT1R, OUT2L, OUT2R, etc.

0 commit comments

Comments
 (0)