Skip to content

Commit 1188421

Browse files
committed
Merge: ALSA - update drivers for 9.8 - upstream 6.17
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-9/-/merge_requests/7490 JIRA: https://issues.redhat.com/browse/RHEL-118909 Depends: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-9/-/merge_requests/7342 This upstream patchset updates the ALSA driver code: * ALSA core * ALSA HDA * ALSA USB * ALSA PCI * ALSA SoC (mainly SOF including SoundWire drivers) * Soundwire bus * regmap core The other components are touched to get things in sync with the current upstream: Some touched drivers are for hardware platforms which are not used in RHEL. The purpose to merge those upstream commits is to keep the future code sync more easy. The ALSA HDA modules in the upstream kernel were separated into distinct modules, with each module corresponding to a specific codec. E.g. snd-hda-codec-cirrus module was separated to snd-hda-codec-cs420x, snd-hda-codec-cs421x and snd-hda-codec-cs8409 modules. The split for module snd-hda-codec-realtek is similar. This change also introduced new kernel configuration options that are included in this patch set. Omitted-fix: 1e7e0a2 # LoongArch not supported in rhel9 Omitted-fix: 82420bd # will be included in 6.18 ALSA code backport (RHEL-118911) Omitted-fix: 549f618 # will be included in 6.18 ALSA code backport (RHEL-118911) Omitted-fix: 3508311 # will be included in 6.18 ALSA code backport (RHEL-118911) Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> Approved-by: Tony Camuso <tcamuso@redhat.com> Approved-by: Mark Langsdorf <mlangsdo@redhat.com> Approved-by: John W. Linville <linville@redhat.com> Approved-by: Eric Chanudet <echanude@redhat.com> Approved-by: CKI KWF Bot <cki-ci-bot+kwf-gitlab-com@redhat.com> Merged-by: Patrick Talbert <ptalbert@redhat.com>
2 parents 1efb9ce + 82e486d commit 1188421

File tree

588 files changed

+27998
-22618
lines changed

Some content is hidden

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

588 files changed

+27998
-22618
lines changed
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
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,cs42l84.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Cirrus Logic CS42L84 audio CODEC
8+
9+
maintainers:
10+
- Martin Povišer <povik+lin@cutebit.org>
11+
12+
description: |
13+
The CS42L84 is a headphone jack codec made by Cirrus Logic and embedded
14+
in personal computers sold by Apple. It was first seen in 2021 Macbook
15+
Pro models. It has stereo DAC for playback, mono ADC for capture, and
16+
is somewhat similar to CS42L42 but with a different regmap.
17+
18+
properties:
19+
compatible:
20+
enum:
21+
- cirrus,cs42l84
22+
23+
reg:
24+
maxItems: 1
25+
26+
reset-gpios:
27+
maxItems: 1
28+
29+
interrupts:
30+
maxItems: 1
31+
32+
'#sound-dai-cells':
33+
const: 0
34+
35+
required:
36+
- compatible
37+
- reg
38+
39+
additionalProperties: false
40+
41+
examples:
42+
- |
43+
#include <dt-bindings/gpio/gpio.h>
44+
#include <dt-bindings/interrupt-controller/irq.h>
45+
i2c {
46+
#address-cells = <1>;
47+
#size-cells = <0>;
48+
49+
jack_codec: codec@4b {
50+
compatible = "cirrus,cs42l84";
51+
reg = <0x4b>;
52+
reset-gpios = <&pinctrl_nub 4 GPIO_ACTIVE_LOW>;
53+
interrupts-extended = <&pinctrl_ap 180 IRQ_TYPE_LEVEL_LOW>;
54+
#sound-dai-cells = <0>;
55+
};
56+
};

Documentation/devicetree/bindings/sound/everest,es8326.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ properties:
2424
items:
2525
- const: mclk
2626

27+
interrupts:
28+
maxItems: 1
29+
description: interrupt output for headset detection
30+
2731
"#sound-dai-cells":
2832
const: 0
2933

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
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,mxs-audio-sgtl5000.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Freescale MXS audio complex with SGTL5000 codec
8+
9+
maintainers:
10+
- Frank Li <Frank.Li@nxp.com>
11+
12+
properties:
13+
compatible:
14+
items:
15+
- enum:
16+
- bluegiga,apx4devkit-sgtl5000
17+
- denx,m28evk-sgtl5000
18+
- fsl,imx28-evk-sgtl5000
19+
- fsl,imx28-mbmx28lc-sgtl5000
20+
- fsl,imx28-tx28-sgtl5000
21+
- const: fsl,mxs-audio-sgtl5000
22+
23+
model:
24+
$ref: /schemas/types.yaml#/definitions/string
25+
description: The user-visible name of this sound complex
26+
27+
saif-controllers:
28+
$ref: /schemas/types.yaml#/definitions/phandle-array
29+
description: The phandle list of the MXS SAIF controller
30+
31+
audio-codec:
32+
$ref: /schemas/types.yaml#/definitions/phandle
33+
description: The phandle of the SGTL5000 audio codec
34+
35+
audio-routing:
36+
$ref: /schemas/types.yaml#/definitions/non-unique-string-array
37+
description: |
38+
A list of the connections between audio components.
39+
Each entry is a pair of strings, the first being the
40+
connection's sink, the second being the connection's
41+
source. Valid names could be power supplies, SGTL5000
42+
pins, and the jacks on the board:
43+
44+
Power supplies:
45+
* Mic Bias
46+
47+
SGTL5000 pins:
48+
* MIC_IN
49+
* LINE_IN
50+
* HP_OUT
51+
* LINE_OUT
52+
53+
Board connectors:
54+
* Mic Jack
55+
* Line In Jack
56+
* Headphone Jack
57+
* Line Out Jack
58+
* Ext Spk
59+
60+
required:
61+
- compatible
62+
- saif-controllers
63+
- audio-codec
64+
65+
allOf:
66+
- $ref: dai-common.yaml#
67+
68+
unevaluatedProperties: false
69+
70+
examples:
71+
- |
72+
sound {
73+
compatible = "fsl,imx28-evk-sgtl5000", "fsl,mxs-audio-sgtl5000";
74+
model = "imx28-evk-sgtl5000";
75+
saif-controllers = <&saif0 &saif1>;
76+
audio-codec = <&sgtl5000>;
77+
audio-routing =
78+
"MIC_IN", "Mic Jack",
79+
"Mic Jack", "Mic Bias",
80+
"Headphone Jack", "HP_OUT";
81+
};

Documentation/devicetree/bindings/sound/fsl,spdif.yaml

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,23 @@ description: |
1616
1717
properties:
1818
compatible:
19-
enum:
20-
- fsl,imx35-spdif
21-
- fsl,vf610-spdif
22-
- fsl,imx6sx-spdif
23-
- fsl,imx8qm-spdif
24-
- fsl,imx8qxp-spdif
25-
- fsl,imx8mq-spdif
26-
- fsl,imx8mm-spdif
27-
- fsl,imx8mn-spdif
28-
- fsl,imx8ulp-spdif
19+
oneOf:
20+
- items:
21+
- enum:
22+
- fsl,imx35-spdif
23+
- fsl,imx6sx-spdif
24+
- fsl,imx8mm-spdif
25+
- fsl,imx8mn-spdif
26+
- fsl,imx8mq-spdif
27+
- fsl,imx8qm-spdif
28+
- fsl,imx8qxp-spdif
29+
- fsl,imx8ulp-spdif
30+
- fsl,vf610-spdif
31+
- items:
32+
- enum:
33+
- fsl,imx6sl-spdif
34+
- fsl,imx6sx-spdif
35+
- const: fsl,imx35-spdif
2936

3037
reg:
3138
maxItems: 1

Documentation/devicetree/bindings/sound/mxs-audio-sgtl5000.txt

Lines changed: 0 additions & 42 deletions
This file was deleted.
Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/sound/realtek,rt5640.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: RT5640/RT5639 audio CODEC
8+
9+
maintainers:
10+
- Neil Armstrong <neil.armstrong@linaro.org>
11+
12+
description: |
13+
This device supports I2C only.
14+
15+
Pins on the device (for linking into audio routes) for RT5639/RT5640:
16+
* DMIC1
17+
* DMIC2
18+
* MICBIAS1
19+
* IN1P
20+
* IN1N
21+
* IN2P
22+
* IN2N
23+
* IN3P
24+
* IN3N
25+
* HPOL
26+
* HPOR
27+
* LOUTL
28+
* LOUTR
29+
* SPOLP
30+
* SPOLN
31+
* SPORP
32+
* SPORN
33+
34+
Additional pins on the device for RT5640:
35+
* MONOP
36+
* MONON
37+
38+
allOf:
39+
- $ref: dai-common.yaml#
40+
41+
properties:
42+
compatible:
43+
enum:
44+
- realtek,rt5640
45+
- realtek,rt5639
46+
47+
reg:
48+
maxItems: 1
49+
50+
interrupts:
51+
maxItems: 1
52+
description: The CODEC's interrupt output.
53+
54+
realtek,in1-differential:
55+
description:
56+
Indicate MIC1 input is differential, rather than single-ended.
57+
type: boolean
58+
59+
realtek,in2-differential:
60+
description:
61+
Indicate MIC2 input is differential, rather than single-ended.
62+
type: boolean
63+
64+
realtek,in3-differential:
65+
description:
66+
Indicate MIC3 input is differential, rather than single-ended.
67+
type: boolean
68+
69+
realtek,lout-differential:
70+
description:
71+
Indicate LOUT output is differential, rather than single-ended.
72+
type: boolean
73+
74+
realtek,dmic1-data-pin:
75+
description: Specify which pin to be used as DMIC1 data pin.
76+
$ref: /schemas/types.yaml#/definitions/uint32
77+
enum:
78+
- 0 # dmic1 is not used
79+
- 1 # using IN2P pin as dmic1 data pin
80+
- 2 # using GPIO3 pin as dmic1 data pin
81+
82+
realtek,dmic2-data-pin:
83+
description: Specify which pin to be used as DMIC2 data pin.
84+
$ref: /schemas/types.yaml#/definitions/uint32
85+
enum:
86+
- 0 # dmic2 is not used
87+
- 1 # using IN2N pin as dmic2 data pin
88+
- 2 # using GPIO4 pin as dmic2 data pin
89+
90+
realtek,jack-detect-source:
91+
description: The Jack Detect source.
92+
$ref: /schemas/types.yaml#/definitions/uint32
93+
enum:
94+
- 0 # Jack Detect function is not used
95+
- 1 # Use GPIO1 for jack-detect
96+
- 2 # Use JD1_IN4P for jack-detect
97+
- 3 # Use JD2_IN4N for jack-detect
98+
- 4 # Use GPIO2 for jack-detect
99+
- 5 # Use GPIO3 for jack-detect
100+
- 6 # Use GPIO4 for jack-detect
101+
102+
realtek,jack-detect-not-inverted:
103+
description:
104+
Normal jack-detect switches give an inverted signal, set this bool
105+
in the rare case you've a jack-detect switch which is not inverted.
106+
type: boolean
107+
108+
realtek,over-current-threshold-microamp:
109+
description: micbias over-current detection threshold in µA
110+
enum:
111+
- 600
112+
- 1500
113+
- 2000
114+
115+
realtek,over-current-scale-factor:
116+
description: micbias over-current detection scale-factor
117+
$ref: /schemas/types.yaml#/definitions/uint32
118+
enum:
119+
- 0 # Scale current by 0.5
120+
- 1 # Scale current by 0.75
121+
- 2 # Scale current by 1.0
122+
- 3 # Scale current by 1.5
123+
124+
required:
125+
- compatible
126+
- reg
127+
- interrupts
128+
129+
unevaluatedProperties: false
130+
131+
examples:
132+
- |
133+
#include <dt-bindings/gpio/gpio.h>
134+
#include <dt-bindings/interrupt-controller/irq.h>
135+
136+
i2c {
137+
#address-cells = <1>;
138+
#size-cells = <0>;
139+
140+
codec@1a {
141+
compatible = "realtek,rt5640";
142+
reg = <0x1a>;
143+
interrupt-parent = <&gpio>;
144+
interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
145+
};
146+
};

0 commit comments

Comments
 (0)