Skip to content

Commit b71428d

Browse files
committed
Merge tag 'sound-5.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound updates from Takashi Iwai: "No surprises in this development cycle, and most of work is about the fixes and the improvements of the existing code, while a new LED control layer and a few new drivers have been introduced. Here are some highlights: Core: - A common mute-LED framework was introduced. It is used by HD-audio for now, more adaption will follow later. The former "Mic Mute-LED Mode" mixer control has been replaced with the corresponding sysfs now. - User-control management was changed to count consumed bytes instead of capping by number of elements; this will allow more controls in the normal usage pattern while avoiding the possible memory exhaustion DoS ASoC: - Continued refactoring and cleanups in ASoC core and generic card drivers - Wide range of small cppcheck and warning fixes - New drivers for Freescale i.MX DMA over rpmsg, Mediatek MT6358 accessory detection, and Realtek RT1019, RT1316, RT711 and RT715 USB-audio: - Continued improvements and fixes of the implicit feedback mode, including better support for Pioneer and Roland/BOSS devices HD-audio: - Default back to non-buffer preallocation on x86 - Cirrus codec improvements, more quirks for Realtek codecs Others: - New virtio sound driver - FireWire Bebob updates" * tag 'sound-5.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (587 commits) ALSA: hda/conexant: Re-order CX5066 quirk table entries ALSA: hda/realtek: Remove redundant entry for ALC861 Haier/Uniwill devices ALSA: hda/realtek: Re-order ALC662 quirk table entries ALSA: hda/realtek: Re-order remaining ALC269 quirk table entries ALSA: hda/realtek: Re-order ALC269 Lenovo quirk table entries ALSA: hda/realtek: Re-order ALC269 Sony quirk table entries ALSA: hda/realtek: Re-order ALC269 ASUS quirk table entries ALSA: hda/realtek: Re-order ALC269 Dell quirk table entries ALSA: hda/realtek: Re-order ALC269 Acer quirk table entries ALSA: hda/realtek: Re-order ALC269 HP quirk table entries ALSA: hda/realtek: Re-order ALC882 Clevo quirk table entries ALSA: hda/realtek: Re-order ALC882 Sony quirk table entries ALSA: hda/realtek: Re-order ALC882 Acer quirk table entries ALSA: usb-audio: Remove redundant assignment to len ALSA: hda/realtek: Add quirk for Intel Clevo PCx0Dx ALSA: virtio: fix kernel-doc ALSA: hda/cirrus: Use CS8409 filter to fix abnormal sounds on Bullseye ALSA: hda/cirrus: Set Initial DMIC volume for Bullseye to -26 dB ALSA: sb: Fix two use after free in snd_sb_qsound_build ALSA: emu8000: Fix a use after free in snd_emu8000_create_mixer ...
2 parents 9527540 + 2e6a731 commit b71428d

File tree

420 files changed

+23461
-4029
lines changed

Some content is hidden

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

420 files changed

+23461
-4029
lines changed

Documentation/devicetree/bindings/sound/ak5558.txt

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

55
Required properties:
66

7-
- compatible : "asahi-kasei,ak5558"
7+
- compatible : "asahi-kasei,ak5558" or "asahi-kasei,ak5552".
88
- reg : The I2C address of the device.
99

1010
Optional properties:

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

Lines changed: 46 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -11,71 +11,59 @@ maintainers:
1111

1212
select: false
1313

14+
allOf:
15+
- $ref: /schemas/graph.yaml#/$defs/port-base
16+
1417
properties:
15-
port:
16-
description: single OF-Graph subnode
17-
type: object
18+
prefix:
19+
description: "device name prefix"
20+
$ref: /schemas/types.yaml#/definitions/string
21+
convert-rate:
22+
description: CPU to Codec rate convert.
23+
$ref: /schemas/types.yaml#/definitions/uint32
24+
convert-channels:
25+
description: CPU to Codec rate channels.
26+
$ref: /schemas/types.yaml#/definitions/uint32
27+
patternProperties:
28+
"^endpoint(@[0-9a-f]+)?":
29+
$ref: /schemas/graph.yaml#/$defs/endpoint-base
1830
properties:
19-
reg:
20-
maxItems: 1
21-
prefix:
22-
description: "device name prefix"
23-
$ref: /schemas/types.yaml#/definitions/string
31+
mclk-fs:
32+
description: |
33+
Multiplication factor between stream rate and codec mclk.
34+
When defined, mclk-fs property defined in dai-link sub nodes are
35+
ignored.
36+
$ref: /schemas/types.yaml#/definitions/uint32
37+
frame-inversion:
38+
description: dai-link uses frame clock inversion
39+
$ref: /schemas/types.yaml#/definitions/flag
40+
bitclock-inversion:
41+
description: dai-link uses bit clock inversion
42+
$ref: /schemas/types.yaml#/definitions/flag
43+
frame-master:
44+
description: Indicates dai-link frame master.
45+
$ref: /schemas/types.yaml#/definitions/phandle
46+
bitclock-master:
47+
description: Indicates dai-link bit clock master
48+
$ref: /schemas/types.yaml#/definitions/phandle
49+
dai-format:
50+
description: audio format.
51+
items:
52+
enum:
53+
- i2s
54+
- right_j
55+
- left_j
56+
- dsp_a
57+
- dsp_b
58+
- ac97
59+
- pdm
60+
- msb
61+
- lsb
2462
convert-rate:
2563
description: CPU to Codec rate convert.
2664
$ref: /schemas/types.yaml#/definitions/uint32
2765
convert-channels:
2866
description: CPU to Codec rate channels.
2967
$ref: /schemas/types.yaml#/definitions/uint32
30-
patternProperties:
31-
"^endpoint(@[0-9a-f]+)?":
32-
type: object
33-
properties:
34-
remote-endpoint:
35-
maxItems: 1
36-
mclk-fs:
37-
description: |
38-
Multiplication factor between stream rate and codec mclk.
39-
When defined, mclk-fs property defined in dai-link sub nodes are
40-
ignored.
41-
$ref: /schemas/types.yaml#/definitions/uint32
42-
frame-inversion:
43-
description: dai-link uses frame clock inversion
44-
$ref: /schemas/types.yaml#/definitions/flag
45-
bitclock-inversion:
46-
description: dai-link uses bit clock inversion
47-
$ref: /schemas/types.yaml#/definitions/flag
48-
frame-master:
49-
description: Indicates dai-link frame master.
50-
$ref: /schemas/types.yaml#/definitions/phandle
51-
bitclock-master:
52-
description: Indicates dai-link bit clock master
53-
$ref: /schemas/types.yaml#/definitions/phandle
54-
dai-format:
55-
description: audio format.
56-
items:
57-
enum:
58-
- i2s
59-
- right_j
60-
- left_j
61-
- dsp_a
62-
- dsp_b
63-
- ac97
64-
- pdm
65-
- msb
66-
- lsb
67-
convert-rate:
68-
description: CPU to Codec rate convert.
69-
$ref: /schemas/types.yaml#/definitions/uint32
70-
convert-channels:
71-
description: CPU to Codec rate channels.
72-
$ref: /schemas/types.yaml#/definitions/uint32
73-
74-
ports:
75-
description: multi OF-Graph subnode
76-
type: object
77-
patternProperties:
78-
"^port(@[0-9a-f]+)?":
79-
$ref: "#/properties/port"
8068

8169
additionalProperties: true
Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/sound/fsl,rpmsg.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: NXP Audio RPMSG CPU DAI Controller
8+
9+
maintainers:
10+
- Shengjiu Wang <[email protected]>
11+
12+
description: |
13+
fsl_rpmsg is a virtual audio device. Mapping to real hardware devices
14+
are SAI, DMA controlled by Cortex M core. What we see from Linux
15+
side is a device which provides audio service by rpmsg channel.
16+
17+
properties:
18+
compatible:
19+
enum:
20+
- fsl,imx7ulp-rpmsg-audio
21+
- fsl,imx8mn-rpmsg-audio
22+
- fsl,imx8mm-rpmsg-audio
23+
- fsl,imx8mp-rpmsg-audio
24+
25+
model:
26+
$ref: /schemas/types.yaml#/definitions/string
27+
description: User specified audio sound card name
28+
29+
clocks:
30+
items:
31+
- description: Peripheral clock for register access
32+
- description: Master clock
33+
- description: DMA clock for DMA register access
34+
- description: Parent clock for multiple of 8kHz sample rates
35+
- description: Parent clock for multiple of 11kHz sample rates
36+
37+
clock-names:
38+
items:
39+
- const: ipg
40+
- const: mclk
41+
- const: dma
42+
- const: pll8k
43+
- const: pll11k
44+
45+
power-domains:
46+
description:
47+
List of phandle and PM domain specifier as documented in
48+
Documentation/devicetree/bindings/power/power_domain.txt
49+
maxItems: 1
50+
51+
memory-region:
52+
$ref: /schemas/types.yaml#/definitions/phandle
53+
description:
54+
phandle to a node describing reserved memory (System RAM memory)
55+
The M core can't access all the DDR memory space on some platform,
56+
So reserved a specific memory for dma buffer which M core can
57+
access.
58+
(see bindings/reserved-memory/reserved-memory.txt)
59+
60+
audio-codec:
61+
$ref: /schemas/types.yaml#/definitions/phandle
62+
description: The phandle to a node of audio codec
63+
64+
audio-routing:
65+
$ref: /schemas/types.yaml#/definitions/non-unique-string-array
66+
description: |
67+
A list of the connections between audio components. Each entry is a
68+
pair of strings, the first being the connection's sink, the second
69+
being the connection's source.
70+
71+
fsl,enable-lpa:
72+
$ref: /schemas/types.yaml#/definitions/flag
73+
description: enable low power audio path.
74+
75+
fsl,rpmsg-out:
76+
$ref: /schemas/types.yaml#/definitions/flag
77+
description: |
78+
This is a boolean property. If present, the transmitting function
79+
will be enabled.
80+
81+
fsl,rpmsg-in:
82+
$ref: /schemas/types.yaml#/definitions/flag
83+
description: |
84+
This is a boolean property. If present, the receiving function
85+
will be enabled.
86+
87+
required:
88+
- compatible
89+
- model
90+
91+
additionalProperties: false
92+
93+
examples:
94+
- |
95+
#include <dt-bindings/clock/imx8mn-clock.h>
96+
97+
rpmsg_audio: rpmsg_audio {
98+
compatible = "fsl,imx8mn-rpmsg-audio";
99+
model = "wm8524-audio";
100+
fsl,enable-lpa;
101+
fsl,rpmsg-out;
102+
clocks = <&clk IMX8MN_CLK_SAI3_IPG>,
103+
<&clk IMX8MN_CLK_SAI3_ROOT>,
104+
<&clk IMX8MN_CLK_SDMA3_ROOT>,
105+
<&clk IMX8MN_AUDIO_PLL1_OUT>,
106+
<&clk IMX8MN_AUDIO_PLL2_OUT>;
107+
clock-names = "ipg", "mclk", "dma", "pll8k", "pll11k";
108+
};

Documentation/devicetree/bindings/sound/fsl-asoc-card.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ The compatible list for this generic sound card currently:
4242

4343
"fsl,imx-audio-si476x"
4444

45+
"fsl,imx-audio-wm8958"
46+
4547
Required properties:
4648

4749
- compatible : Contains one of entries in the compatible list.

Documentation/devicetree/bindings/sound/intel,keembay-i2s.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,6 @@ examples:
8181
interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
8282
clock-names = "osc", "apb_clk";
8383
clocks = <&scmi_clk KEEM_BAY_PSS_AUX_I2S3>, <&scmi_clk KEEM_BAY_PSS_I2S3>;
84-
dmas = <&axi_dma0 29 &axi_dma0 33>;
84+
dmas = <&axi_dma0 29>, <&axi_dma0 33>;
8585
dma-names = "tx", "rx";
8686
};

Documentation/devicetree/bindings/sound/marvell,mmp-sspa.yaml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,6 @@ title: Marvel SSPA Digital Audio Interface Bindings
99
maintainers:
1010
- Lubomir Rintel <[email protected]>
1111

12-
allOf:
13-
- $ref: audio-graph-port.yaml#
14-
1512
properties:
1613
$nodename:
1714
pattern: "^audio-controller(@.*)?$"
@@ -54,7 +51,8 @@ properties:
5451
- const: rx
5552

5653
port:
57-
type: object
54+
$ref: audio-graph-port.yaml#
55+
unevaluatedProperties: false
5856

5957
properties:
6058
endpoint:
Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/sound/mchp,i2s-mcc.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Microchip I2S Multi-Channel Controller
8+
9+
maintainers:
10+
- Codrin Ciubotariu <[email protected]>
11+
12+
description:
13+
The I2SMCC complies with the Inter-IC Sound (I2S) bus specification and
14+
supports a Time Division Multiplexed (TDM) interface with external
15+
multi-channel audio codecs. It consists of a receiver, a transmitter and a
16+
common clock generator that can be enabled separately to provide Adapter,
17+
Client or Controller modes with receiver and/or transmitter active.
18+
On later I2SMCC versions (starting with Microchip's SAMA7G5) I2S
19+
multi-channel is supported by using multiple data pins, output and
20+
input, without TDM.
21+
22+
properties:
23+
"#sound-dai-cells":
24+
const: 0
25+
26+
compatible:
27+
enum:
28+
- microchip,sam9x60-i2smcc
29+
- microchip,sama7g5-i2smcc
30+
31+
reg:
32+
maxItems: 1
33+
34+
interrupts:
35+
maxItems: 1
36+
37+
clocks:
38+
items:
39+
- description: Peripheral Bus Clock
40+
- description: Generic Clock (Optional). Should be set mostly when Master
41+
Mode is required.
42+
minItems: 1
43+
44+
clock-names:
45+
items:
46+
- const: pclk
47+
- const: gclk
48+
minItems: 1
49+
50+
dmas:
51+
items:
52+
- description: TX DMA Channel
53+
- description: RX DMA Channel
54+
55+
dma-names:
56+
items:
57+
- const: tx
58+
- const: rx
59+
60+
microchip,tdm-data-pair:
61+
description:
62+
Represents the DIN/DOUT pair pins that are used to receive/send
63+
TDM data. It is optional and it is only needed if the controller
64+
uses the TDM mode.
65+
$ref: /schemas/types.yaml#/definitions/uint8
66+
enum: [0, 1, 2, 3]
67+
default: 0
68+
69+
if:
70+
properties:
71+
compatible:
72+
const: microchip,sam9x60-i2smcc
73+
then:
74+
properties:
75+
microchip,tdm-data-pair: false
76+
77+
required:
78+
- "#sound-dai-cells"
79+
- compatible
80+
- reg
81+
- interrupts
82+
- clocks
83+
- clock-names
84+
- dmas
85+
- dma-names
86+
87+
additionalProperties: false
88+
89+
examples:
90+
- |
91+
#include <dt-bindings/dma/at91.h>
92+
#include <dt-bindings/interrupt-controller/arm-gic.h>
93+
94+
i2s@f001c000 {
95+
#sound-dai-cells = <0>;
96+
compatible = "microchip,sam9x60-i2smcc";
97+
reg = <0xf001c000 0x100>;
98+
interrupts = <34 IRQ_TYPE_LEVEL_HIGH 7>;
99+
dmas = <&dma0 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
100+
AT91_XDMAC_DT_PERID(36))>,
101+
<&dma0 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
102+
AT91_XDMAC_DT_PERID(37))>;
103+
dma-names = "tx", "rx";
104+
clocks = <&i2s_clk>, <&i2s_gclk>;
105+
clock-names = "pclk", "gclk";
106+
pinctrl-names = "default";
107+
pinctrl-0 = <&pinctrl_i2s_default>;
108+
};

0 commit comments

Comments
 (0)