Skip to content

Commit 668c3c2

Browse files
committed
Merge tag 'sound-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound updates from Takashi Iwai: "As the diffstat shows, we've had lots of developments in a wide range at this time; the majority of changes are about ASoC, including subsystem-wide cleanups, continued SOF / Intel updates and a bunch of new drivers (as usual), while there have been some significant (but almost invisible) improvements in ALSA core side, too. Below are some highlights: Core: - Faster lookups of control elements with Xarray; normal user won't notice, but on the devices with tons of control elements, it can be visibly faster - Support for input validation for controls; this will harden for badly written drivers in general with a slight overhead - Deferred async signal handling for working around the potential deadlocks - Cleanup / refactoring raw MIDI locking code ASoC: - Restructing of the set_fmt() callbacks for making things clearer in situations like CODEC to CODEC links - Clean up and modernizing the DAI naming scheme setups - Merge of more of the Intel AVS driver stack, including some board integrations - New version 4 mechanism for communication with SOF DSPs - Suppoort for dynamically selecting the PLL to use at runtime on i.MX platforms - Improvements for CODEC to CODEC support in the generic cards - Support for AMD Jadeite and various machines, AMD RPL, Intel MetorLake DSPs, Mediatek MT8186 DSPs and MT6366, nVidia Tegra MDDRC, OPE and PEQ, NXP TFA9890, Qualcomm SDM845, WCD9335 and WAS883x, and Texas Instruments TAS2780 HD- and USB-audio: - Continued improvement for CS35L41 (sub)codec support - More quirks for various devices (HP, Lenovo, Dell, Clevo)" * tag 'sound-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (778 commits) ALSA: hda/realtek: Add quirk for HP Spectre x360 15-eb0xxx ALSA: line6: Replace sprintf() with sysfs_emit() ALSA: hda: Replace sprintf() with sysfs_emit() ALSA: pcm: Replace sprintf() with sysfs_emit() ALSA: core: Replace scnprintf() with sysfs_emit() ALSA: control-led: Replace sprintf() with sysfs_emit() ALSA: aoa: Replace sprintf() with sysfs_emit() ALSA: ac97: Replace sprintf() with sysfs_emit() ALSA: hda/realtek: Add quirk for Clevo NV45PZ ALSA: hda/realtek: Add quirk for Lenovo Yoga9 14IAP7 ALSA: control: Use deferred fasync helper ALSA: pcm: Use deferred fasync helper ALSA: timer: Use deferred fasync helper ALSA: core: Add async signal helpers ASoC: q6asm: use kcalloc() instead of kzalloc() ACPI: scan: Add CLSA0101 Laptop Support ALSA: hda: cs35l41: Support CLSA0101 ALSA: hda: cs35l41: Use the CS35L41 HDA internal define ASoC: dt-bindings: use spi-peripheral-props.yaml ASoC: codecs: va-macro: use fsgen as clock ...
2 parents f20c95b + 24df542 commit 668c3c2

File tree

797 files changed

+37816
-4268
lines changed

Some content is hidden

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

797 files changed

+37816
-4268
lines changed
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/dsp/mediatek,mt8186-dsp.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: MediaTek mt8186 DSP core
8+
9+
maintainers:
10+
- Tinghan Shen <[email protected]>
11+
12+
description: |
13+
MediaTek mt8186 SoC contains a DSP core used for
14+
advanced pre- and post- audio processing.
15+
16+
properties:
17+
compatible:
18+
const: mediatek,mt8186-dsp
19+
20+
reg:
21+
items:
22+
- description: Address and size of the DSP config registers
23+
- description: Address and size of the DSP SRAM
24+
- description: Address and size of the DSP secure registers
25+
- description: Address and size of the DSP bus registers
26+
27+
reg-names:
28+
items:
29+
- const: cfg
30+
- const: sram
31+
- const: sec
32+
- const: bus
33+
34+
clocks:
35+
items:
36+
- description: mux for audio dsp clock
37+
- description: mux for audio dsp local bus
38+
39+
clock-names:
40+
items:
41+
- const: audiodsp
42+
- const: adsp_bus
43+
44+
power-domains:
45+
maxItems: 1
46+
47+
mboxes:
48+
items:
49+
- description: mailbox for receiving audio DSP requests.
50+
- description: mailbox for transmitting requests to audio DSP.
51+
52+
mbox-names:
53+
items:
54+
- const: rx
55+
- const: tx
56+
57+
memory-region:
58+
items:
59+
- description: dma buffer between host and DSP.
60+
- description: DSP system memory.
61+
62+
required:
63+
- compatible
64+
- reg
65+
- reg-names
66+
- clocks
67+
- clock-names
68+
- power-domains
69+
- mbox-names
70+
- mboxes
71+
72+
additionalProperties: false
73+
74+
examples:
75+
- |
76+
#include <dt-bindings/clock/mt8186-clk.h>
77+
dsp@10680000 {
78+
compatible = "mediatek,mt8186-dsp";
79+
reg = <0x10680000 0x2000>,
80+
<0x10800000 0x100000>,
81+
<0x1068b000 0x100>,
82+
<0x1068f000 0x1000>;
83+
reg-names = "cfg", "sram", "sec", "bus";
84+
clocks = <&topckgen CLK_TOP_AUDIODSP>,
85+
<&topckgen CLK_TOP_ADSP_BUS>;
86+
clock-names = "audiodsp",
87+
"adsp_bus";
88+
power-domains = <&spm 6>;
89+
mbox-names = "rx", "tx";
90+
mboxes = <&adsp_mailbox0>, <&adsp_mailbox1>;
91+
};

Documentation/devicetree/bindings/dsp/mediatek,mt8195-dsp.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -50,13 +50,13 @@ properties:
5050

5151
mboxes:
5252
items:
53-
- description: ipc reply between host and audio DSP.
54-
- description: ipc request between host and audio DSP.
53+
- description: mailbox for receiving audio DSP requests.
54+
- description: mailbox for transmitting requests to audio DSP.
5555

5656
mbox-names:
5757
items:
58-
- const: mbox0
59-
- const: mbox1
58+
- const: rx
59+
- const: tx
6060

6161
memory-region:
6262
items:
@@ -100,6 +100,6 @@ examples:
100100
memory-region = <&adsp_dma_mem_reserved>,
101101
<&adsp_mem_reserved>;
102102
power-domains = <&spm 6>; //MT8195_POWER_DOMAIN_ADSP
103-
mbox-names = "mbox0", "mbox1";
103+
mbox-names = "rx", "tx";
104104
mboxes = <&adsp_mailbox0>, <&adsp_mailbox1>;
105105
};

Documentation/devicetree/bindings/sound/adi,adau1977.yaml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,6 @@ properties:
3232
reset-gpios:
3333
maxItems: 1
3434

35-
spi-max-frequency: true
36-
3735
AVDD-supply:
3836
description: Analog power support for the device.
3937

@@ -52,7 +50,10 @@ required:
5250
- compatible
5351
- AVDD-supply
5452

55-
additionalProperties: false
53+
allOf:
54+
- $ref: /schemas/spi/spi-peripheral-props.yaml#
55+
56+
unevaluatedProperties: false
5657

5758
examples:
5859
- |

Documentation/devicetree/bindings/sound/adi,max98396.yaml

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,21 @@ properties:
2424
maxItems: 1
2525
description: I2C address of the device.
2626

27+
avdd-supply:
28+
description: A 1.8V supply that powers up the AVDD pin.
29+
30+
dvdd-supply:
31+
description: A 1.2V supply that powers up the DVDD pin.
32+
33+
dvddio-supply:
34+
description: A 1.2V or 1.8V supply that powers up the VDDIO pin.
35+
36+
pvdd-supply:
37+
description: A 3.0V to 20V supply that powers up the PVDD pin.
38+
39+
vbat-supply:
40+
description: A 3.3V to 5.5V supply that powers up the VBAT pin.
41+
2742
adi,vmon-slot-no:
2843
description: slot number of the voltage sense monitor
2944
$ref: "/schemas/types.yaml#/definitions/uint32"
@@ -36,13 +51,22 @@ properties:
3651
$ref: "/schemas/types.yaml#/definitions/uint32"
3752
minimum: 0
3853
maximum: 15
39-
default: 0
54+
default: 1
4055

4156
adi,spkfb-slot-no:
4257
description: slot number of speaker DSP monitor
4358
$ref: "/schemas/types.yaml#/definitions/uint32"
4459
minimum: 0
4560
maximum: 15
61+
default: 2
62+
63+
adi,bypass-slot-no:
64+
description:
65+
Selects the PCM data input channel that is routed to the speaker
66+
audio processing bypass path.
67+
$ref: "/schemas/types.yaml#/definitions/uint32"
68+
minimum: 0
69+
maximum: 15
4670
default: 0
4771

4872
adi,interleave-mode:
@@ -72,6 +96,10 @@ examples:
7296
max98396: amplifier@39 {
7397
compatible = "adi,max98396";
7498
reg = <0x39>;
99+
dvdd-supply = <&regulator_1v2>;
100+
dvddio-supply = <&regulator_1v8>;
101+
avdd-supply = <&regulator_1v8>;
102+
pvdd-supply = <&regulator_pvdd>;
75103
adi,vmon-slot-no = <0>;
76104
adi,imon-slot-no = <1>;
77105
reset-gpios = <&gpio 4 GPIO_ACTIVE_LOW>;

Documentation/devicetree/bindings/sound/allwinner,sun50i-a64-codec-analog.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,11 @@ properties:
2121
description:
2222
Regulator for the headphone amplifier
2323

24+
allwinner,internal-bias-resistor:
25+
description:
26+
Enable the internal 2.2K bias resistor between HBIAS and MICDET pins
27+
type: boolean
28+
2429
required:
2530
- compatible
2631
- reg
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
# Copyright (C) 2022 Microchip Technology, Inc. and its subsidiaries
3+
%YAML 1.2
4+
---
5+
$id: http://devicetree.org/schemas/sound/atmel,sama5d2-classd.yaml#
6+
$schema: http://devicetree.org/meta-schemas/core.yaml#
7+
8+
title: Atmel ClassD Amplifier
9+
10+
maintainers:
11+
- Nicolas Ferre <[email protected]>
12+
- Alexandre Belloni <[email protected]>
13+
- Claudiu Beznea <[email protected]>
14+
15+
description:
16+
The Audio Class D Amplifier (CLASSD) is a digital input, Pulse Width
17+
Modulated (PWM) output stereo Class D amplifier.
18+
19+
properties:
20+
compatible:
21+
const: atmel,sama5d2-classd
22+
23+
reg:
24+
maxItems: 1
25+
26+
interrupts:
27+
maxItems: 1
28+
29+
dmas:
30+
maxItems: 1
31+
32+
dma-names:
33+
const: tx
34+
35+
clocks:
36+
maxItems: 2
37+
38+
clock-names:
39+
items:
40+
- const: pclk
41+
- const: gclk
42+
43+
atmel,model:
44+
$ref: /schemas/types.yaml#/definitions/string
45+
default: CLASSD
46+
description: The user-visible name of this sound complex.
47+
48+
atmel,pwm-type:
49+
$ref: /schemas/types.yaml#/definitions/string
50+
enum:
51+
- single
52+
- diff
53+
default: single
54+
description: PWM modulation type.
55+
56+
atmel,non-overlap-time:
57+
$ref: /schemas/types.yaml#/definitions/uint32
58+
enum:
59+
- 5
60+
- 10
61+
- 15
62+
- 20
63+
default: 10
64+
description:
65+
Set non-overlapping time, the unit is nanosecond(ns).
66+
Non-overlapping will be disabled if not specified.
67+
68+
required:
69+
- compatible
70+
- reg
71+
- interrupts
72+
- dmas
73+
- dma-names
74+
- clock-names
75+
- clocks
76+
77+
additionalProperties: false
78+
79+
examples:
80+
- |
81+
#include <dt-bindings/dma/at91.h>
82+
#include <dt-bindings/interrupt-controller/arm-gic.h>
83+
84+
classd: sound@fc048000 {
85+
compatible = "atmel,sama5d2-classd";
86+
reg = <0xfc048000 0x100>;
87+
interrupts = <59 IRQ_TYPE_LEVEL_HIGH 7>;
88+
dmas = <&dma0
89+
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
90+
| AT91_XDMAC_DT_PERID(47))>;
91+
dma-names = "tx";
92+
clocks = <&classd_clk>, <&classd_gclk>;
93+
clock-names = "pclk", "gclk";
94+
assigned-clocks = <&classd_gclk>;
95+
pinctrl-names = "default";
96+
pinctrl-0 = <&pinctrl_classd_default>;
97+
atmel,model = "classd @ SAMA5D2-Xplained";
98+
atmel,pwm-type = "diff";
99+
atmel,non-overlap-time = <10>;
100+
};
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
# Copyright (C) 2022 Microchip Technology, Inc. and its subsidiaries
3+
%YAML 1.2
4+
---
5+
$id: http://devicetree.org/schemas/sound/atmel,sama5d2-i2s.yaml#
6+
$schema: http://devicetree.org/meta-schemas/core.yaml#
7+
8+
title: Atmel I2S controller
9+
10+
maintainers:
11+
- Nicolas Ferre <[email protected]>
12+
- Alexandre Belloni <[email protected]>
13+
- Claudiu Beznea <[email protected]>
14+
15+
description:
16+
Atmel I2S (Inter-IC Sound Controller) bus is the standard
17+
interface for connecting audio devices, such as audio codecs.
18+
19+
properties:
20+
compatible:
21+
const: atmel,sama5d2-i2s
22+
23+
reg:
24+
maxItems: 1
25+
26+
interrupts:
27+
maxItems: 1
28+
29+
clocks:
30+
items:
31+
- description: Peripheral clock
32+
- description: Generated clock (Optional)
33+
- description: I2S mux clock (Optional). Set
34+
with gclk when Master Mode is required.
35+
minItems: 1
36+
37+
clock-names:
38+
items:
39+
- const: pclk
40+
- const: gclk
41+
- const: muxclk
42+
minItems: 1
43+
44+
dmas:
45+
items:
46+
- description: TX DMA Channel
47+
- description: RX DMA Channel
48+
49+
dma-names:
50+
items:
51+
- const: tx
52+
- const: rx
53+
54+
required:
55+
- compatible
56+
- reg
57+
- interrupts
58+
- dmas
59+
- dma-names
60+
- clocks
61+
- clock-names
62+
63+
additionalProperties: false
64+
65+
examples:
66+
- |
67+
#include <dt-bindings/dma/at91.h>
68+
#include <dt-bindings/interrupt-controller/arm-gic.h>
69+
70+
i2s@f8050000 {
71+
compatible = "atmel,sama5d2-i2s";
72+
reg = <0xf8050000 0x300>;
73+
interrupts = <54 IRQ_TYPE_LEVEL_HIGH 7>;
74+
dmas = <&dma0
75+
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
76+
AT91_XDMAC_DT_PERID(31))>,
77+
<&dma0
78+
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
79+
AT91_XDMAC_DT_PERID(32))>;
80+
dma-names = "tx", "rx";
81+
clocks = <&i2s0_clk>, <&i2s0_gclk>, <&i2s0muxck>;
82+
clock-names = "pclk", "gclk", "muxclk";
83+
pinctrl-names = "default";
84+
pinctrl-0 = <&pinctrl_i2s0_default>;
85+
};

0 commit comments

Comments
 (0)