Skip to content

Commit 1a529af

Browse files
committed
ASoC: Updates for v6.12 This is a very large set of changes, almost all in drivers rather than the core. Even with the addition of several quite large drivers the overall diffstat is negative thanks to the removal of some old Intel board support which has been obsoleted by the AVS driver, helped a bit by some factoring out into helpers (especially around the Soundwire machine drivers for x86). Highlights include: - More simplifications and cleanups throughout the subsystem from Morimoto-san. - Extensive cleanups and refactoring of the Soundwire drivers to make better use of helpers. - Removal of Intel machine support obsoleted by the AVS driver. - Lots of DT schema conversions. - Machine support for many AMD and Intel x86 platforms. - Support for AMD ACP 7.1, Mediatek MT6367 and MT8365, Realtek RTL1320 SoundWire and rev C, and Texas Instruments TAS2563
2 parents 5740434 + 2772ee6 commit 1a529af

File tree

432 files changed

+19611
-27441
lines changed

Some content is hidden

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

432 files changed

+19611
-27441
lines changed

Documentation/devicetree/bindings/mfd/mediatek,mt6357.yaml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,24 @@ properties:
3737
"#interrupt-cells":
3838
const: 2
3939

40+
mediatek,hp-pull-down:
41+
description:
42+
Earphone driver positive output stage short to
43+
the audio reference ground.
44+
type: boolean
45+
46+
mediatek,micbias0-microvolt:
47+
description: Selects MIC Bias 0 output voltage.
48+
enum: [1700000, 1800000, 1900000, 2000000,
49+
2100000, 2500000, 2600000, 2700000]
50+
default: 1700000
51+
52+
mediatek,micbias1-microvolt:
53+
description: Selects MIC Bias 1 output voltage.
54+
enum: [1700000, 1800000, 1900000, 2000000,
55+
2100000, 2500000, 2600000, 2700000]
56+
default: 1700000
57+
4058
regulators:
4159
type: object
4260
$ref: /schemas/regulator/mediatek,mt6357-regulator.yaml
@@ -83,6 +101,9 @@ examples:
83101
interrupt-controller;
84102
#interrupt-cells = <2>;
85103
104+
mediatek,micbias0-microvolt = <1700000>;
105+
mediatek,micbias1-microvolt = <1700000>;
106+
86107
regulators {
87108
mt6357_vproc_reg: buck-vproc {
88109
regulator-name = "vproc";

Documentation/devicetree/bindings/sound/amlogic,axg-sound-card.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,13 @@ properties:
2626
A list off component DAPM widget. Each entry is a pair of strings,
2727
the first being the widget type, the second being the widget name
2828

29+
clocks:
30+
minItems: 1
31+
maxItems: 3
32+
description:
33+
Base PLL clocks of audio susbsytem, used to configure base clock
34+
frequencies for different audio use-cases.
35+
2936
patternProperties:
3037
"^dai-link-[0-9]+$":
3138
type: object

Documentation/devicetree/bindings/sound/amlogic,gx-sound-card.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,13 @@ properties:
2727
A list off component DAPM widget. Each entry is a pair of strings,
2828
the first being the widget type, the second being the widget name
2929
30+
clocks:
31+
minItems: 1
32+
maxItems: 3
33+
description:
34+
Base PLL clocks of audio susbsytem, used to configure base clock
35+
frequencies for different audio use-cases.
36+
3037
patternProperties:
3138
"^dai-link-[0-9]+$":
3239
type: object
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
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,cs4271.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Cirrus Logic CS4271 audio CODEC
8+
9+
maintainers:
10+
- Alexander Sverdlin <[email protected]>
11+
- Nikita Shubin <[email protected]>
12+
13+
description:
14+
The CS4271 is a stereo audio codec. This device supports both the I2C
15+
and the SPI bus.
16+
17+
allOf:
18+
- $ref: dai-common.yaml#
19+
- $ref: /schemas/spi/spi-peripheral-props.yaml#
20+
21+
properties:
22+
compatible:
23+
const: cirrus,cs4271
24+
25+
reg:
26+
maxItems: 1
27+
28+
spi-cpha: true
29+
30+
spi-cpol: true
31+
32+
'#sound-dai-cells':
33+
const: 0
34+
35+
reset-gpios:
36+
description:
37+
This pin will be deasserted before communication to the codec starts.
38+
maxItems: 1
39+
40+
va-supply:
41+
description: Analog power supply.
42+
43+
vd-supply:
44+
description: Digital power supply.
45+
46+
vl-supply:
47+
description: Serial Control Port power supply.
48+
49+
port:
50+
$ref: audio-graph-port.yaml#
51+
unevaluatedProperties: false
52+
53+
cirrus,amuteb-eq-bmutec:
54+
description:
55+
When given, the Codec's AMUTEB=BMUTEC flag is enabled.
56+
type: boolean
57+
58+
cirrus,enable-soft-reset:
59+
description: |
60+
The CS4271 requires its LRCLK and MCLK to be stable before its RESET
61+
line is de-asserted. That also means that clocks cannot be changed
62+
without putting the chip back into hardware reset, which also requires
63+
a complete re-initialization of all registers.
64+
65+
One (undocumented) workaround is to assert and de-assert the PDN bit
66+
in the MODE2 register. This workaround can be enabled with this DT
67+
property.
68+
69+
Note that this is not needed in case the clocks are stable
70+
throughout the entire runtime of the codec.
71+
type: boolean
72+
73+
required:
74+
- compatible
75+
- reg
76+
77+
unevaluatedProperties: false
78+
79+
examples:
80+
- |
81+
#include <dt-bindings/gpio/gpio.h>
82+
spi {
83+
#address-cells = <1>;
84+
#size-cells = <0>;
85+
codec@0 {
86+
compatible = "cirrus,cs4271";
87+
reg = <0>;
88+
#sound-dai-cells = <0>;
89+
spi-max-frequency = <6000000>;
90+
spi-cpol;
91+
spi-cpha;
92+
reset-gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
93+
port {
94+
endpoint {
95+
remote-endpoint = <&i2s_ep>;
96+
};
97+
};
98+
};
99+
};
100+
101+
...

Documentation/devicetree/bindings/sound/cs4271.txt

Lines changed: 0 additions & 57 deletions
This file was deleted.

Documentation/devicetree/bindings/sound/da7213.txt

Lines changed: 0 additions & 45 deletions
This file was deleted.
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/sound/dlg,da7213.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Dialog Semiconductor DA7212/DA7213 Audio Codec
8+
9+
maintainers:
10+
- Support Opensource <[email protected]>
11+
12+
allOf:
13+
- $ref: dai-common.yaml#
14+
15+
properties:
16+
compatible:
17+
enum:
18+
- dlg,da7212
19+
- dlg,da7213
20+
21+
reg:
22+
maxItems: 1
23+
24+
clocks:
25+
maxItems: 1
26+
27+
clock-names:
28+
const: mclk
29+
30+
"#sound-dai-cells":
31+
const: 0
32+
33+
dlg,micbias1-lvl:
34+
description: Voltage (mV) for Mic Bias 1
35+
$ref: /schemas/types.yaml#/definitions/uint32
36+
enum: [ 1600, 2200, 2500, 3000 ]
37+
38+
dlg,micbias2-lvl:
39+
description: Voltage (mV) for Mic Bias 2
40+
$ref: /schemas/types.yaml#/definitions/uint32
41+
enum: [ 1600, 2200, 2500, 3000 ]
42+
43+
dlg,dmic-data-sel:
44+
description: DMIC channel select based on clock edge
45+
enum: [ lrise_rfall, lfall_rrise ]
46+
47+
dlg,dmic-samplephase:
48+
description: When to sample audio from DMIC
49+
enum: [ on_clkedge, between_clkedge ]
50+
51+
dlg,dmic-clkrate:
52+
description: DMIC clock frequency (Hz)
53+
$ref: /schemas/types.yaml#/definitions/uint32
54+
enum: [ 1500000, 3000000 ]
55+
56+
VDDA-supply:
57+
description: Analogue power supply
58+
59+
VDDIO-supply:
60+
description: I/O power supply
61+
62+
VDDMIC-supply:
63+
description: Mic Bias
64+
65+
VDDSP-supply:
66+
description: Speaker supply
67+
68+
ports:
69+
$ref: audio-graph-port.yaml#/definitions/ports
70+
71+
port:
72+
$ref: audio-graph-port.yaml#
73+
unevaluatedProperties: false
74+
75+
required:
76+
- compatible
77+
- reg
78+
79+
unevaluatedProperties: false
80+
81+
examples:
82+
- |
83+
i2c {
84+
#address-cells = <1>;
85+
#size-cells = <0>;
86+
87+
codec@1a {
88+
compatible = "dlg,da7213";
89+
reg = <0x1a>;
90+
91+
clocks = <&clks 201>;
92+
clock-names = "mclk";
93+
94+
#sound-dai-cells = <0>;
95+
96+
dlg,micbias1-lvl = <2500>;
97+
dlg,micbias2-lvl = <2500>;
98+
99+
dlg,dmic-data-sel = "lrise_rfall";
100+
dlg,dmic-samplephase = "between_clkedge";
101+
dlg,dmic-clkrate = <3000000>;
102+
};
103+
};

0 commit comments

Comments
 (0)