Skip to content

Commit 3ceff4e

Browse files
committed
Merge tag 'sound-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound updates from Takashi Iwai: "It's a relatively calm development cycle, but still lots of updates in the driver side like Intel SOF. Below are some highlights: ALSA / ASoC core: - A new kselftest for ALSA control API - PCM NO_REWINDS support - Potential race fixes around control removals - Unify x86 SG-buffer memory allocation code - Cleanups and race fixes for ASoC DPCM locking ASoC: - Refinements and cleanups around the delay() APIs - Wider use of dev_err_probe(). - Continuing cleanups and improvements to the SOF code - Support for pin switches in simple-card derived cards - Support for AMD Renoir ACP, Asahi Kasei Microdevices AKM4375, Intel systems using NAU8825 and MAX98390, Mediatek MT8915, nVidia Tegra20 S/PDIF, Qualcomm systems using ALC5682I-VS and Texas Instruments TLV320ADC3xxx HD-audio / USB-audio: - Fix deadlock at HD-audio codec unbinding - Fixes for Tegra194 HD-audio, new HDA support for CS35L41 codec - Quirks for Lenovo and HP machines, Gigabyte mobo, Bose device Misc: - Fix virmidi drain behavior Note that the merge of CS35L41 codec support is still half-baked, and at least one ACPI change is missing. Although this won't hinder the kernel build itself, we're going to catch up before RC1" * tag 'sound-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (415 commits) ALSA: hda: intel-dsp-config: reorder the config table ALSA: hda: intel-dsp-config: add JasperLake support ALSA: hda: cs35l41: fix double free on error in probe() ALSA: hda: Fix dependencies of CS35L41 on SPI/I2C buses ALSA: hda: Fix dependency on ASoC cs35l41 codec ASoC: cs35l41: Add support for hibernate memory retention mode ASoC: cs35l41: Update handling of test key registers ALSA: intel_hdmi: Check for error num after setting mask ASoC: wcd9335: Keep a RX port value for each SLIM RX mux ASoC: amd: acp: acp-mach: Change default RT1019 amp dev id ALSA: virmidi: Remove duplicated code ALSA: seq: virmidi: Add a drain operation ASoC: topology: Fix typo ASoC: fsl_asrc: refine the check of available clock divider ASoC: Intel: bytcr_rt5640: Add support for external GPIO jack-detect ASoC: Intel: bytcr_rt5640: Support retrieving the codec IRQ from the AMCR0F28 ACPI dev ASoC: rt5640: Add support for boards with an external jack-detect GPIO ASoC: rt5640: Allow snd_soc_component_set_jack() to override the codec IRQ ASoC: rt5640: Change jack_work to a delayed_work ASoC: rt5640: Fix possible NULL pointer deref on resume ...
2 parents e1a7aa2 + 081c737 commit 3ceff4e

File tree

414 files changed

+17555
-5674
lines changed

Some content is hidden

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

414 files changed

+17555
-5674
lines changed
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/sound/ak4375.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: AK4375 DAC and headphones amplifier Device Tree Bindings
8+
9+
maintainers:
10+
- Vincent Knecht <[email protected]>
11+
12+
properties:
13+
compatible:
14+
const: asahi-kasei,ak4375
15+
16+
reg:
17+
maxItems: 1
18+
19+
'#sound-dai-cells':
20+
const: 0
21+
22+
avdd-supply:
23+
description: regulator phandle for the AVDD power supply.
24+
25+
tvdd-supply:
26+
description: regulator phandle for the TVDD power supply.
27+
28+
pdn-gpios:
29+
description: optional GPIO to set the PDN pin.
30+
31+
required:
32+
- compatible
33+
- reg
34+
- '#sound-dai-cells'
35+
- avdd-supply
36+
- tvdd-supply
37+
38+
additionalProperties: false
39+
40+
examples:
41+
- |
42+
#include <dt-bindings/gpio/gpio.h>
43+
i2c {
44+
#address-cells = <1>;
45+
#size-cells = <0>;
46+
47+
headphones: audio-codec@10 {
48+
compatible = "asahi-kasei,ak4375";
49+
reg = <0x10>;
50+
avdd-supply = <&reg_headphones_avdd>;
51+
tvdd-supply = <&pm8916_l6>;
52+
pdn-gpios = <&msmgpio 114 GPIO_ACTIVE_HIGH>;
53+
pinctrl-names = "default";
54+
pinctrl-0 = <&headphones_pdn_default>;
55+
#sound-dai-cells = <0>;
56+
};
57+
};

Documentation/devicetree/bindings/sound/amlogic,aiu.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ title: Amlogic AIU audio output controller
99
maintainers:
1010
- Jerome Brunet <[email protected]>
1111

12+
allOf:
13+
- $ref: name-prefix.yaml#
14+
1215
properties:
1316
$nodename:
1417
pattern: "^audio-controller@.*"
@@ -65,6 +68,8 @@ properties:
6568
resets:
6669
maxItems: 1
6770

71+
sound-name-prefix: true
72+
6873
required:
6974
- "#sound-dai-cells"
7075
- compatible

Documentation/devicetree/bindings/sound/amlogic,g12a-toacodec.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ title: Amlogic G12a Internal DAC Control Glue
99
maintainers:
1010
- Jerome Brunet <[email protected]>
1111

12+
allOf:
13+
- $ref: name-prefix.yaml#
14+
1215
properties:
1316
$nodename:
1417
pattern: "^audio-controller@.*"
@@ -31,6 +34,8 @@ properties:
3134
resets:
3235
maxItems: 1
3336

37+
sound-name-prefix: true
38+
3439
required:
3540
- "#sound-dai-cells"
3641
- compatible

Documentation/devicetree/bindings/sound/amlogic,t9015.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ title: Amlogic T9015 Internal Audio DAC
99
maintainers:
1010
- Jerome Brunet <[email protected]>
1111

12+
allOf:
13+
- $ref: name-prefix.yaml#
14+
1215
properties:
1316
$nodename:
1417
pattern: "^audio-controller@.*"
@@ -38,6 +41,8 @@ properties:
3841
description:
3942
Analogue power supply.
4043

44+
sound-name-prefix: true
45+
4146
required:
4247
- "#sound-dai-cells"
4348
- compatible

Documentation/devicetree/bindings/sound/audio-graph-port.yaml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,15 @@ patternProperties:
4242
$ref: /schemas/types.yaml#/definitions/flag
4343
frame-master:
4444
description: Indicates dai-link frame master.
45-
$ref: /schemas/types.yaml#/definitions/phandle
45+
oneOf:
46+
- $ref: /schemas/types.yaml#/definitions/flag
47+
- $ref: /schemas/types.yaml#/definitions/phandle
4648
bitclock-master:
4749
description: Indicates dai-link bit clock master
48-
$ref: /schemas/types.yaml#/definitions/phandle
50+
oneOf:
51+
- $ref: /schemas/types.yaml#/definitions/flag
52+
- $ref: /schemas/types.yaml#/definitions/phandle
53+
4954
dai-format:
5055
description: audio format.
5156
items:
Lines changed: 225 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,225 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/sound/cirrus,cs42l42.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Cirrus Logic CS42L42 audio CODEC
8+
9+
maintainers:
10+
11+
12+
description:
13+
The CS42L42 is a low-power audio codec designed for portable applications.
14+
It provides a high-dynamic range, stereo DAC for audio playback and a mono
15+
high-dynamic-range ADC for audio capture. There is an integrated headset
16+
detection block.
17+
18+
properties:
19+
compatible:
20+
enum:
21+
- cirrus,cs42l42
22+
23+
reg:
24+
description:
25+
The I2C address of the CS42L42.
26+
maxItems: 1
27+
28+
VP-supply:
29+
description:
30+
VP power supply.
31+
32+
VCP-supply:
33+
description:
34+
Charge pump power supply.
35+
36+
VD_FILT-supply:
37+
description:
38+
FILT+ power supply.
39+
40+
VL-supply:
41+
description:
42+
Logic power supply.
43+
44+
VA-supply:
45+
description:
46+
Analog power supply.
47+
48+
reset-gpios:
49+
description:
50+
This pin will be asserted and then deasserted to reset the
51+
CS42L42 before communication starts.
52+
maxItems: 1
53+
54+
interrupts:
55+
description:
56+
Interrupt for CS42L42 IRQ line.
57+
maxItems: 1
58+
59+
cirrus,ts-inv:
60+
description: |
61+
Sets the behaviour of the jack plug detect switch.
62+
63+
0 - (Default) Shorted to tip when unplugged, open when plugged.
64+
This is "inverted tip sense (ITS)" in the datasheet.
65+
66+
1 - Open when unplugged, shorted to tip when plugged.
67+
This is "normal tip sense (TS)" in the datasheet.
68+
69+
The CS42L42_TS_INV_* defines are available for this.
70+
$ref: "/schemas/types.yaml#/definitions/uint32"
71+
minimum: 0
72+
maximum: 1
73+
74+
cirrus,ts-dbnc-rise:
75+
description: |
76+
Debounce the rising edge of TIP_SENSE_PLUG. With no
77+
debounce, the tip sense pin might be noisy on a plug event.
78+
79+
0 - 0ms
80+
1 - 125ms
81+
2 - 250ms
82+
3 - 500ms
83+
4 - 750ms
84+
5 - 1s (Default)
85+
6 - 1.25s
86+
7 - 1.5s
87+
88+
The CS42L42_TS_DBNCE_* defines are available for this.
89+
$ref: "/schemas/types.yaml#/definitions/uint32"
90+
minimum: 0
91+
maximum: 7
92+
93+
cirrus,ts-dbnc-fall:
94+
description: |
95+
Debounce the falling edge of TIP_SENSE_UNPLUG. With no
96+
debounce, the tip sense pin might be noisy on an unplug event.
97+
98+
0 - 0ms
99+
1 - 125ms
100+
2 - 250ms
101+
3 - 500ms
102+
4 - 750ms
103+
5 - 1s (Default)
104+
6 - 1.25s
105+
7 - 1.5s
106+
107+
The CS42L42_TS_DBNCE_* defines are available for this.
108+
$ref: "/schemas/types.yaml#/definitions/uint32"
109+
minimum: 0
110+
maximum: 7
111+
112+
cirrus,btn-det-init-dbnce:
113+
description: |
114+
This sets how long to wait after enabling button detection
115+
interrupts before servicing button interrupts, to allow the
116+
HS bias time to settle. Value is in milliseconds.
117+
There may be erroneous button interrupts if this debounce time
118+
is too short.
119+
120+
0ms - 200ms,
121+
Default = 100ms
122+
$ref: "/schemas/types.yaml#/definitions/uint32"
123+
minimum: 0
124+
maximum: 200
125+
126+
cirrus,btn-det-event-dbnce:
127+
description: |
128+
This sets how long to wait after receiving a button press
129+
interrupt before processing it. Allows time for the button
130+
press to make a clean connection with the bias resistors.
131+
Value is in milliseconds.
132+
133+
0ms - 20ms,
134+
Default = 10ms
135+
$ref: "/schemas/types.yaml#/definitions/uint32"
136+
minimum: 0
137+
maximum: 20
138+
139+
cirrus,bias-lvls:
140+
description: |
141+
For a level-detect headset button scheme, each button will bias
142+
the mic pin to a certain voltage. To determine which button was
143+
pressed, the voltage is compared to sequential, decreasing
144+
voltages, until the compared voltage < bias voltage.
145+
For different hardware setups, a designer might want to tweak this.
146+
This is an array of descending values for the comparator voltage,
147+
given as percent of the HSBIAS voltage.
148+
149+
Array of 4 values, each 0-63
150+
< x1 x2 x3 x4 >
151+
Default = < 15 8 4 1 >
152+
$ref: /schemas/types.yaml#/definitions/uint32-array
153+
minItems: 4
154+
maxItems: 4
155+
items:
156+
minimum: 0
157+
maximum: 63
158+
159+
cirrus,hs-bias-ramp-rate:
160+
description: |
161+
If present this sets the rate that the HS bias should rise and fall.
162+
The actual rise and fall times depend on external hardware (the
163+
datasheet gives several rise and fall time examples).
164+
165+
0 - Fast rise time; slow, load-dependent fall time
166+
1 - Fast
167+
2 - Slow (default)
168+
3 - Slowest
169+
170+
The CS42L42_HSBIAS_RAMP_* defines are available for this.
171+
$ref: "/schemas/types.yaml#/definitions/uint32"
172+
minimum: 0
173+
maximum: 3
174+
175+
cirrus,hs-bias-sense-disable:
176+
description: |
177+
If present the HSBIAS sense is disabled. Configures HSBIAS output
178+
current sense through the external 2.21-k resistor. HSBIAS_SENSE
179+
is a hardware feature to reduce the potential pop noise when the
180+
headset plug is removed slowly. But on some platforms ESD voltage
181+
will affect it causing plug detection to fail, especially with CTIA
182+
headset type. For different hardware setups, a designer might want
183+
to tweak default behavior.
184+
type: boolean
185+
186+
required:
187+
- compatible
188+
- reg
189+
- VP-supply
190+
- VCP-supply
191+
- VD_FILT-supply
192+
- VL-supply
193+
- VA-supply
194+
195+
additionalProperties: false
196+
197+
examples:
198+
- |
199+
#include <dt-bindings/sound/cs42l42.h>
200+
i2c {
201+
#address-cells = <1>;
202+
#size-cells = <0>;
203+
204+
cs42l42: cs42l42@48 {
205+
compatible = "cirrus,cs42l42";
206+
reg = <0x48>;
207+
VA-supply = <&dummy_vreg>;
208+
VP-supply = <&dummy_vreg>;
209+
VCP-supply = <&dummy_vreg>;
210+
VD_FILT-supply = <&dummy_vreg>;
211+
VL-supply = <&dummy_vreg>;
212+
213+
reset-gpios = <&axi_gpio_0 1 0>;
214+
interrupt-parent = <&gpio0>;
215+
interrupts = <55 8>;
216+
217+
cirrus,ts-inv = <CS42L42_TS_INV_DIS>;
218+
cirrus,ts-dbnc-rise = <CS42L42_TS_DBNCE_1000>;
219+
cirrus,ts-dbnc-fall = <CS42L42_TS_DBNCE_0>;
220+
cirrus,btn-det-init-dbnce = <100>;
221+
cirrus,btn-det-event-dbnce = <10>;
222+
cirrus,bias-lvls = <0x0F 0x08 0x04 0x01>;
223+
cirrus,hs-bias-ramp-rate = <CS42L42_HSBIAS_RAMP_SLOW>;
224+
};
225+
};

0 commit comments

Comments
 (0)