Skip to content

Commit 848960e

Browse files
committed
Merge tag 'sound-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound updates from Takashi Iwai: "This became again a busy development cycle. There are few ALSA core updates (merely API cleanups and sparse fixes), with the majority of other changes are found in ASoC scene. Here are some highlights: ALSA core: - More helper macros for sparse warning fixes (e.g. bitwise types) - Slight optimization of PCM OSS locks - Make common handling for PCM / compress buffers (for SOF) ASoC: - Lots of code refactoring and modernization for (still ongoing) componentization works - Conversion of SND_SOC_ALL_CODECS to use imply - Continued refactoring and fixing of the Intel SOF/SST support, including the initial (but still incomplete) SoundWire support - SoundWire and more advanced clocking support for Realtek RT5682 - Support for amlogic GX, Meson 8, Meson 8B and T9015 DAC, Broadcom DSL/PON, Ingenic JZ4760 and JZ4770, Realtek RL6231, and TI TAS2563 and TLV320ADCX140 HD-audio: - Optimizations in HDMI jack handling - A few new quirks and fixups for Realtek codecs USB-audio: - Delayed registration support - New quirks for Motu, Kingston, Presonus" * tag 'sound-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (415 commits) ALSA: usb-audio: Fix case when USB MIDI interface has more than one extra endpoint descriptor Revert "ALSA: uapi: Drop asound.h inclusion from asoc.h" ALSA: hda/realtek - Remove now-unnecessary XPS 13 headphone noise fixups ALSA: hda/realtek - Set principled PC Beep configuration for ALC256 ALSA: doc: Document PC Beep Hidden Register on Realtek ALC256 ALSA: hda/realtek - a fake key event is triggered by running shutup ALSA: hda: default enable CA0132 DSP support ASoC: amd: acp3x-pcm-dma: clean up two indentation issues ASoC: tlv320adcx140: Remove undocumented property ASoC: Intel: sof_sdw: Add Volteer support with RT5682 SNDW helper function ASoC: Intel: common: add match table for TGL RT5682 SoundWire driver ASoC: Intel: boards: add sof_sdw machine driver ASoC: Intel: soc-acpi: update topology and driver name for SoundWire platforms ASoC: rt5682: move DAI clock registry to I2S mode ASoC: pxa: magician: convert to use i2c_new_client_device() ASoC: SOF: Intel: hda-ctrl: add reset cycle before parsing capabilities Asoc: SOF: Intel: hda: check SoundWire wakeen interrupt in irq thread ASoC: SOF: Intel: hda: add WAKEEN interrupt support for SoundWire ASoC: SOF: Intel: hda: add parameter to control SoundWire clock stop quirks ASoC: SOF: Intel: hda: merge IPC, stream and SoundWire interrupt handlers ...
2 parents bc3b3f4 + 5c6cd70 commit 848960e

File tree

433 files changed

+19014
-4293
lines changed

Some content is hidden

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

433 files changed

+19014
-4293
lines changed
Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
# SPDX-License-Identifier: GPL-2.0
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/sound/amlogic,aiu.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Amlogic AIU audio output controller
8+
9+
maintainers:
10+
- Jerome Brunet <[email protected]>
11+
12+
properties:
13+
$nodename:
14+
pattern: "^audio-controller@.*"
15+
16+
"#sound-dai-cells":
17+
const: 2
18+
19+
compatible:
20+
items:
21+
- enum:
22+
- amlogic,aiu-gxbb
23+
- amlogic,aiu-gxl
24+
- amlogic,aiu-meson8
25+
- amlogic,aiu-meson8b
26+
- const:
27+
amlogic,aiu
28+
29+
clocks:
30+
items:
31+
- description: AIU peripheral clock
32+
- description: I2S peripheral clock
33+
- description: I2S output clock
34+
- description: I2S master clock
35+
- description: I2S mixer clock
36+
- description: SPDIF peripheral clock
37+
- description: SPDIF output clock
38+
- description: SPDIF master clock
39+
- description: SPDIF master clock multiplexer
40+
41+
clock-names:
42+
items:
43+
- const: pclk
44+
- const: i2s_pclk
45+
- const: i2s_aoclk
46+
- const: i2s_mclk
47+
- const: i2s_mixer
48+
- const: spdif_pclk
49+
- const: spdif_aoclk
50+
- const: spdif_mclk
51+
- const: spdif_mclk_sel
52+
53+
interrupts:
54+
items:
55+
- description: I2S interrupt line
56+
- description: SPDIF interrupt line
57+
58+
interrupt-names:
59+
items:
60+
- const: i2s
61+
- const: spdif
62+
63+
reg:
64+
maxItems: 1
65+
66+
resets:
67+
maxItems: 1
68+
69+
required:
70+
- "#sound-dai-cells"
71+
- compatible
72+
- clocks
73+
- clock-names
74+
- interrupts
75+
- interrupt-names
76+
- reg
77+
- resets
78+
79+
examples:
80+
- |
81+
#include <dt-bindings/clock/gxbb-clkc.h>
82+
#include <dt-bindings/interrupt-controller/irq.h>
83+
#include <dt-bindings/interrupt-controller/arm-gic.h>
84+
#include <dt-bindings/reset/amlogic,meson-gxbb-reset.h>
85+
86+
aiu: audio-controller@5400 {
87+
compatible = "amlogic,aiu-gxl", "amlogic,aiu";
88+
#sound-dai-cells = <2>;
89+
reg = <0x0 0x5400 0x0 0x2ac>;
90+
interrupts = <GIC_SPI 48 IRQ_TYPE_EDGE_RISING>,
91+
<GIC_SPI 50 IRQ_TYPE_EDGE_RISING>;
92+
interrupt-names = "i2s", "spdif";
93+
clocks = <&clkc CLKID_AIU_GLUE>,
94+
<&clkc CLKID_I2S_OUT>,
95+
<&clkc CLKID_AOCLK_GATE>,
96+
<&clkc CLKID_CTS_AMCLK>,
97+
<&clkc CLKID_MIXER_IFACE>,
98+
<&clkc CLKID_IEC958>,
99+
<&clkc CLKID_IEC958_GATE>,
100+
<&clkc CLKID_CTS_MCLK_I958>,
101+
<&clkc CLKID_CTS_I958>;
102+
clock-names = "pclk",
103+
"i2s_pclk",
104+
"i2s_aoclk",
105+
"i2s_mclk",
106+
"i2s_mixer",
107+
"spdif_pclk",
108+
"spdif_aoclk",
109+
"spdif_mclk",
110+
"spdif_mclk_sel";
111+
resets = <&reset RESET_AIU>;
112+
};
113+
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# SPDX-License-Identifier: GPL-2.0
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/sound/amlogic,g12a-toacodec.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Amlogic G12a Internal DAC Control Glue
8+
9+
maintainers:
10+
- Jerome Brunet <[email protected]>
11+
12+
properties:
13+
$nodename:
14+
pattern: "^audio-controller@.*"
15+
16+
"#sound-dai-cells":
17+
const: 1
18+
19+
compatible:
20+
oneOf:
21+
- items:
22+
- const:
23+
amlogic,g12a-toacodec
24+
- items:
25+
- enum:
26+
- amlogic,sm1-toacodec
27+
- const:
28+
amlogic,g12a-toacodec
29+
30+
reg:
31+
maxItems: 1
32+
33+
resets:
34+
maxItems: 1
35+
36+
required:
37+
- "#sound-dai-cells"
38+
- compatible
39+
- reg
40+
- resets
41+
42+
examples:
43+
- |
44+
#include <dt-bindings/reset/amlogic,meson-g12a-audio-reset.h>
45+
46+
toacodec: audio-controller@740 {
47+
compatible = "amlogic,g12a-toacodec";
48+
reg = <0x0 0x740 0x0 0x4>;
49+
#sound-dai-cells = <1>;
50+
resets = <&clkc_audio AUD_RESET_TOACODEC>;
51+
};
Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
# SPDX-License-Identifier: GPL-2.0
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/sound/amlogic,gx-sound-card.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Amlogic GX sound card
8+
9+
maintainers:
10+
- Jerome Brunet <[email protected]>
11+
12+
properties:
13+
compatible:
14+
items:
15+
- const: amlogic,gx-sound-card
16+
17+
audio-aux-devs:
18+
$ref: /schemas/types.yaml#/definitions/phandle-array
19+
description: list of auxiliary devices
20+
21+
audio-routing:
22+
$ref: /schemas/types.yaml#/definitions/non-unique-string-array
23+
minItems: 2
24+
description: |-
25+
A list of the connections between audio components. Each entry is a
26+
pair of strings, the first being the connection's sink, the second
27+
being the connection's source.
28+
29+
audio-widgets:
30+
$ref: /schemas/types.yaml#/definitions/non-unique-string-array
31+
minItems: 2
32+
description: |-
33+
A list off component DAPM widget. Each entry is a pair of strings,
34+
the first being the widget type, the second being the widget name
35+
36+
model:
37+
$ref: /schemas/types.yaml#/definitions/string
38+
description: User specified audio sound card name
39+
40+
patternProperties:
41+
"^dai-link-[0-9]+$":
42+
type: object
43+
description: |-
44+
dai-link child nodes:
45+
Container for dai-link level properties and the CODEC sub-nodes.
46+
There should be at least one (and probably more) subnode of this type
47+
48+
properties:
49+
dai-format:
50+
$ref: /schemas/types.yaml#/definitions/string
51+
enum: [ i2s, left-j, dsp_a ]
52+
53+
mclk-fs:
54+
$ref: /schemas/types.yaml#/definitions/uint32
55+
description: |-
56+
Multiplication factor between the frame rate and master clock
57+
rate
58+
59+
sound-dai:
60+
$ref: /schemas/types.yaml#/definitions/phandle
61+
description: phandle of the CPU DAI
62+
63+
patternProperties:
64+
"^codec-[0-9]+$":
65+
type: object
66+
description: |-
67+
Codecs:
68+
dai-link representing backend links should have at least one subnode.
69+
One subnode for each codec of the dai-link. dai-link representing
70+
frontend links have no codec, therefore have no subnodes
71+
72+
properties:
73+
sound-dai:
74+
$ref: /schemas/types.yaml#/definitions/phandle
75+
description: phandle of the codec DAI
76+
77+
required:
78+
- sound-dai
79+
80+
required:
81+
- sound-dai
82+
83+
required:
84+
- model
85+
- dai-link-0
86+
87+
examples:
88+
- |
89+
sound {
90+
compatible = "amlogic,gx-sound-card";
91+
model = "GXL-ACME-S905X-FOO";
92+
audio-aux-devs = <&amp>;
93+
audio-routing = "I2S ENCODER I2S IN", "I2S FIFO Playback";
94+
95+
dai-link-0 {
96+
sound-dai = <&i2s_fifo>;
97+
};
98+
99+
dai-link-1 {
100+
sound-dai = <&i2s_encoder>;
101+
dai-format = "i2s";
102+
mclk-fs = <256>;
103+
104+
codec-0 {
105+
sound-dai = <&codec0>;
106+
};
107+
108+
codec-1 {
109+
sound-dai = <&codec1>;
110+
};
111+
};
112+
};
113+
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# SPDX-License-Identifier: GPL-2.0
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/sound/amlogic,t9015.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Amlogic T9015 Internal Audio DAC
8+
9+
maintainers:
10+
- Jerome Brunet <[email protected]>
11+
12+
properties:
13+
$nodename:
14+
pattern: "^audio-controller@.*"
15+
16+
"#sound-dai-cells":
17+
const: 0
18+
19+
compatible:
20+
items:
21+
- const: amlogic,t9015
22+
23+
clocks:
24+
items:
25+
- description: Peripheral clock
26+
27+
clock-names:
28+
items:
29+
- const: pclk
30+
31+
reg:
32+
maxItems: 1
33+
34+
resets:
35+
maxItems: 1
36+
37+
required:
38+
- "#sound-dai-cells"
39+
- compatible
40+
- reg
41+
- clocks
42+
- clock-names
43+
- resets
44+
45+
examples:
46+
- |
47+
#include <dt-bindings/clock/g12a-clkc.h>
48+
#include <dt-bindings/reset/amlogic,meson-g12a-reset.h>
49+
50+
acodec: audio-controller@32000 {
51+
compatible = "amlogic,t9015";
52+
reg = <0x0 0x32000 0x0 0x14>;
53+
#sound-dai-cells = <0>;
54+
clocks = <&clkc CLKID_AUDIO_CODEC>;
55+
clock-names = "pclk";
56+
resets = <&reset RESET_AUDIO_CODEC>;
57+
};
58+
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
Broadcom DSL/PON BCM63xx Audio I2S controller
2+
3+
Required properties:
4+
- compatible: Should be "brcm,bcm63xx-i2s".
5+
- #address-cells: 32bit valued, 1 cell.
6+
- #size-cells: 32bit valued, 0 cell.
7+
- reg: Should contain audio registers location and length
8+
- interrupts: Should contain the interrupt for the controller.
9+
- clocks: Must contain an entry for each entry in clock-names.
10+
Please refer to clock-bindings.txt.
11+
- clock-names: One of each entry matching the clocks phandles list:
12+
- "i2sclk" (generated clock) Required.
13+
- "i2sosc" (fixed 200MHz clock) Required.
14+
15+
(1) : The generated clock is required only when any of TX and RX
16+
works on Master Mode.
17+
(2) : The fixed 200MHz clock is from internal chip and always on
18+
19+
Example:
20+
21+
i2s: bcm63xx-i2s {
22+
#address-cells = <1>;
23+
#size-cells = <0>;
24+
compatible = "brcm,bcm63xx-i2s";
25+
reg = <0xFF802080 0xFF>;
26+
interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
27+
clocks = <&i2sclk>, <&osc>;
28+
clock-names = "i2sclk","i2sosc";
29+
};

0 commit comments

Comments
 (0)