Skip to content

Commit d969443

Browse files
committed
Merge tag 'sound-4.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound updates from Takashi Iwai: "We have touched quite a lot of files but with fewer changes at this cycle; as you can see, most of changes are trivial fixes, especially constification patches. Among the massive attacks by constification gangs, we had a few core changes (mostly for ASoC core), as well the fixes and the updates by major vendors. Some highlights: ALSA core: - Fix possible races in control API user-TLV codes - Small cleanup of PCM core ASoC: - Continued work for componentization; still half-baked, but we're certainly progressing - Use of devres for jack detection GPIOs, rather as a cleanup - Jack detection support for Qualcomm MSM8916 - Support for Allwinner H3, Cirrus Logic CS43130, Intel Kabylake systems with RT5663, Realtek RT274, TI TLV320AIC32x6 and Wolfson WM8523" * tag 'sound-4.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (512 commits) ALSA: hda/ca0132 - Fix memory leak at error path ALSA: hda: Fix forget to free resource in error handling code path in hda_codec_driver_probe ASoC: cs43130: Fix unused compiler warnings for PM runtime ASoC: cs43130: Fix possible Oops with invalid dev_id ASoC: cs43130: fix spelling mistake: "irq_occurrance" -> "irq_occurrence" ALSA: atmel: Remove leftovers of AVR32 removal ALSA: atmel: convert AC97c driver to GPIO descriptor API ALSA: hda/realtek - Enable jack detection function for Intel ALC700 ALSA: hda: Fix regression of hdmi eld control created based on invalid pcm ASoC: Intel: Skylake: Add IPC to configure the copier secondary pins ASoC: add missing compile rule for max98371 ASoC: add missing compile rule for sirf-audio-codec ASoC: add missing compile rule for max98371 ASoC: cs43130: Add devicetree bindings for CS43130 ASoC: cs43130: Add support for CS43130 codec ASoC: make clock direction configurable in asoc-simple ALSA: ctxfi: Remove null check before kfree ASoC: max98927: Changed device property read function ASoC: max98927: Modified DAPM widget and map to enable/disable VI sense path ASoC: max98927: Added PM suspend and resume function ...
2 parents 3645e6d + ee5f38a commit d969443

File tree

493 files changed

+12115
-3124
lines changed

Some content is hidden

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

493 files changed

+12115
-3124
lines changed
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
CS43130 DAC
2+
3+
Required properties:
4+
5+
- compatible : "cirrus,cs43130", "cirrus,cs4399", "cirrus,cs43131",
6+
"cirrus,cs43198"
7+
8+
- reg : the I2C address of the device for I2C
9+
10+
- VA-supply, VP-supply, VL-supply, VCP-supply, VD-supply:
11+
power supplies for the device, as covered in
12+
Documentation/devicetree/bindings/regulator/regulator.txt.
13+
14+
15+
Optional properties:
16+
17+
- reset-gpios : Active low GPIO used to reset the device
18+
19+
- cirrus,xtal-ibias:
20+
When external MCLK is generated by external crystal
21+
oscillator, CS43130 can be used to provide bias current
22+
for external crystal. Amount of bias current sent is
23+
set as:
24+
1 = 7.5uA
25+
2 = 12.5uA
26+
3 = 15uA
27+
28+
- cirrus,dc-measure:
29+
Boolean, define to enable headphone DC impedance measurement.
30+
31+
- cirrus,ac-measure:
32+
Boolean, define to enable headphone AC impedance measurement.
33+
DC impedance must also be enabled for AC impedance measurement.
34+
35+
- cirrus,dc-threshold:
36+
Define 2 DC impedance thresholds in ohms for HP output control.
37+
Default values are 50 and 120 Ohms.
38+
39+
- cirrus,ac-freq:
40+
Define the frequencies at which to measure HP AC impedance.
41+
Only used if "cirrus,dc-measure" is defined.
42+
Exactly 10 frequencies must be defined.
43+
If this properties is undefined, by default,
44+
following frequencies are used:
45+
<24 43 93 200 431 928 2000 4309 9283 20000>
46+
The above frequencies are logarithmically equally spaced.
47+
Log base is 10.
48+
49+
Example:
50+
51+
cs43130: audio-codec@30 {
52+
compatible = "cirrus,cs43130";
53+
reg = <0x30>;
54+
reset-gpios = <&axi_gpio 54 0>;
55+
VA-supply = <&dummy_vreg>;
56+
VP-supply = <&dummy_vreg>;
57+
VL-supply = <&dummy_vreg>;
58+
VCP-supply = <&dummy_vreg>;
59+
VD-supply = <&dummy_vreg>;
60+
cirrus,xtal-ibias = <2>;
61+
interrupt-parent = <&gpio0>;
62+
interrupts = <55 8>;
63+
cirrus,dc-measure;
64+
cirrus,ac-measure;
65+
cirrus,dc-threshold = /bits/ 16 <20 100>;
66+
cirrus,ac-freq = /bits/ 16 <24 43 93 200 431 928 2000 4309 9283 20000>;
67+
};
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
Device-Tree bindings for Digital microphone (DMIC) codec
2+
3+
This device support generic PDM digital microphone.
4+
5+
Required properties:
6+
- compatible: should be "dmic-codec".
7+
8+
Optional properties:
9+
- dmicen-gpios: GPIO specifier for dmic to control start and stop
10+
11+
Example node:
12+
13+
dmic_codec: dmic@0 {
14+
compatible = "dmic-codec";
15+
dmicen-gpios = <&gpio4 3 GPIO_ACTIVE_HIGH>;
16+
};

Documentation/devicetree/bindings/sound/mt2701-afe-pcm.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ Mediatek AFE PCM controller for mt2701
33
Required properties:
44
- compatible = "mediatek,mt2701-audio";
55
- reg: register location and size
6-
- interrupts: Should contain AFE interrupt
6+
- interrupts: should contain AFE and ASYS interrupts
7+
- interrupt-names: should be "afe" and "asys"
78
- power-domains: should define the power domain
89
- clock-names: should have these clock names:
910
"infra_sys_audio_clk",
@@ -59,6 +60,7 @@ Example:
5960
<0 0x112A0000 0 0x20000>;
6061
interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_LOW>,
6162
<GIC_SPI 132 IRQ_TYPE_LEVEL_LOW>;
63+
interrupt-names = "afe", "asys";
6264
power-domains = <&scpsys MT2701_POWER_DOMAIN_IFR_MSC>;
6365
clocks = <&infracfg CLK_INFRA_AUDIO>,
6466
<&topckgen CLK_TOP_AUD_MUX1_SEL>,

Documentation/devicetree/bindings/sound/qcom,msm8916-wcd-analog.txt

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,22 @@ Required properties
3131
- vdd-cdc-io-supply: phandle to VDD_CDC_IO regulator DT node.
3232
- vdd-cdc-tx-rx-cx-supply: phandle to VDD_CDC_TX/RX/CX regulator DT node.
3333
- vdd-micbias-supply: phandle of VDD_MICBIAS supply's regulator DT node.
34-
3534
Optional Properties:
35+
- qcom,mbhc-vthreshold-low: Array of 5 threshold voltages in mV for 5 buttons
36+
detection on headset when the mbhc is powered up
37+
by internal current source, this is a low power.
38+
- qcom,mbhc-vthreshold-high: Array of 5 thresold voltages in mV for 5 buttons
39+
detection on headset when mbhc is powered up
40+
from micbias.
41+
- qcom,micbias-lvl: Voltage (mV) for Mic Bias
42+
- qcom,hphl-jack-type-normally-open: boolean, present if hphl pin on jack is a
43+
NO (Normally Open). If not specified, then
44+
its assumed that hphl pin on jack is NC
45+
(Normally Closed).
46+
- qcom,gnd-jack-type-normally-open: boolean, present if gnd pin on jack is
47+
NO (Normally Open). If not specified, then
48+
its assumed that gnd pin on jack is NC
49+
(Normally Closed).
3650
- qcom,micbias1-ext-cap: boolean, present if micbias1 has external capacitor
3751
connected.
3852
- qcom,micbias2-ext-cap: boolean, present if micbias2 has external capacitor
@@ -48,6 +62,8 @@ spmi_bus {
4862
reg-names = "pmic-codec-core";
4963
clocks = <&gcc GCC_CODEC_DIGCODEC_CLK>;
5064
clock-names = "mclk";
65+
qcom,mbhc-vthreshold-low = <75 150 237 450 500>;
66+
qcom,mbhc-vthreshold-high = <75 150 237 450 500>;
5167
interrupt-parent = <&spmi_bus>;
5268
interrupts = <0x1 0xf0 0x0 IRQ_TYPE_NONE>,
5369
<0x1 0xf0 0x1 IRQ_TYPE_NONE>,

Documentation/devicetree/bindings/sound/renesas,rsnd.txt

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -199,10 +199,10 @@ Ex)
199199
sound {
200200
compatible = "simple-scu-audio-card";
201201
...
202-
simple-audio-card,cpu@0 {
202+
simple-audio-card,cpu-0 {
203203
sound-dai = <&rcar_sound 0>;
204204
};
205-
simple-audio-card,cpu@1 {
205+
simple-audio-card,cpu-1 {
206206
sound-dai = <&rcar_sound 1>;
207207
};
208208
simple-audio-card,codec {
@@ -441,132 +441,132 @@ rcar_sound: sound@ec500000 {
441441
"clk_a", "clk_b", "clk_c", "clk_i";
442442

443443
rcar_sound,dvc {
444-
dvc0: dvc@0 {
444+
dvc0: dvc-0 {
445445
dmas = <&audma0 0xbc>;
446446
dma-names = "tx";
447447
};
448-
dvc1: dvc@1 {
448+
dvc1: dvc-1 {
449449
dmas = <&audma0 0xbe>;
450450
dma-names = "tx";
451451
};
452452
};
453453

454454
rcar_sound,mix {
455-
mix0: mix@0 { };
456-
mix1: mix@1 { };
455+
mix0: mix-0 { };
456+
mix1: mix-1 { };
457457
};
458458

459459
rcar_sound,ctu {
460-
ctu00: ctu@0 { };
461-
ctu01: ctu@1 { };
462-
ctu02: ctu@2 { };
463-
ctu03: ctu@3 { };
464-
ctu10: ctu@4 { };
465-
ctu11: ctu@5 { };
466-
ctu12: ctu@6 { };
467-
ctu13: ctu@7 { };
460+
ctu00: ctu-0 { };
461+
ctu01: ctu-1 { };
462+
ctu02: ctu-2 { };
463+
ctu03: ctu-3 { };
464+
ctu10: ctu-4 { };
465+
ctu11: ctu-5 { };
466+
ctu12: ctu-6 { };
467+
ctu13: ctu-7 { };
468468
};
469469

470470
rcar_sound,src {
471-
src0: src@0 {
471+
src0: src-0 {
472472
interrupts = <0 352 IRQ_TYPE_LEVEL_HIGH>;
473473
dmas = <&audma0 0x85>, <&audma1 0x9a>;
474474
dma-names = "rx", "tx";
475475
};
476-
src1: src@1 {
476+
src1: src-1 {
477477
interrupts = <0 353 IRQ_TYPE_LEVEL_HIGH>;
478478
dmas = <&audma0 0x87>, <&audma1 0x9c>;
479479
dma-names = "rx", "tx";
480480
};
481-
src2: src@2 {
481+
src2: src-2 {
482482
interrupts = <0 354 IRQ_TYPE_LEVEL_HIGH>;
483483
dmas = <&audma0 0x89>, <&audma1 0x9e>;
484484
dma-names = "rx", "tx";
485485
};
486-
src3: src@3 {
486+
src3: src-3 {
487487
interrupts = <0 355 IRQ_TYPE_LEVEL_HIGH>;
488488
dmas = <&audma0 0x8b>, <&audma1 0xa0>;
489489
dma-names = "rx", "tx";
490490
};
491-
src4: src@4 {
491+
src4: src-4 {
492492
interrupts = <0 356 IRQ_TYPE_LEVEL_HIGH>;
493493
dmas = <&audma0 0x8d>, <&audma1 0xb0>;
494494
dma-names = "rx", "tx";
495495
};
496-
src5: src@5 {
496+
src5: src-5 {
497497
interrupts = <0 357 IRQ_TYPE_LEVEL_HIGH>;
498498
dmas = <&audma0 0x8f>, <&audma1 0xb2>;
499499
dma-names = "rx", "tx";
500500
};
501-
src6: src@6 {
501+
src6: src-6 {
502502
interrupts = <0 358 IRQ_TYPE_LEVEL_HIGH>;
503503
dmas = <&audma0 0x91>, <&audma1 0xb4>;
504504
dma-names = "rx", "tx";
505505
};
506-
src7: src@7 {
506+
src7: src-7 {
507507
interrupts = <0 359 IRQ_TYPE_LEVEL_HIGH>;
508508
dmas = <&audma0 0x93>, <&audma1 0xb6>;
509509
dma-names = "rx", "tx";
510510
};
511-
src8: src@8 {
511+
src8: src-8 {
512512
interrupts = <0 360 IRQ_TYPE_LEVEL_HIGH>;
513513
dmas = <&audma0 0x95>, <&audma1 0xb8>;
514514
dma-names = "rx", "tx";
515515
};
516-
src9: src@9 {
516+
src9: src-9 {
517517
interrupts = <0 361 IRQ_TYPE_LEVEL_HIGH>;
518518
dmas = <&audma0 0x97>, <&audma1 0xba>;
519519
dma-names = "rx", "tx";
520520
};
521521
};
522522

523523
rcar_sound,ssi {
524-
ssi0: ssi@0 {
524+
ssi0: ssi-0 {
525525
interrupts = <0 370 IRQ_TYPE_LEVEL_HIGH>;
526526
dmas = <&audma0 0x01>, <&audma1 0x02>, <&audma0 0x15>, <&audma1 0x16>;
527527
dma-names = "rx", "tx", "rxu", "txu";
528528
};
529-
ssi1: ssi@1 {
529+
ssi1: ssi-1 {
530530
interrupts = <0 371 IRQ_TYPE_LEVEL_HIGH>;
531531
dmas = <&audma0 0x03>, <&audma1 0x04>, <&audma0 0x49>, <&audma1 0x4a>;
532532
dma-names = "rx", "tx", "rxu", "txu";
533533
};
534-
ssi2: ssi@2 {
534+
ssi2: ssi-2 {
535535
interrupts = <0 372 IRQ_TYPE_LEVEL_HIGH>;
536536
dmas = <&audma0 0x05>, <&audma1 0x06>, <&audma0 0x63>, <&audma1 0x64>;
537537
dma-names = "rx", "tx", "rxu", "txu";
538538
};
539-
ssi3: ssi@3 {
539+
ssi3: ssi-3 {
540540
interrupts = <0 373 IRQ_TYPE_LEVEL_HIGH>;
541541
dmas = <&audma0 0x07>, <&audma1 0x08>, <&audma0 0x6f>, <&audma1 0x70>;
542542
dma-names = "rx", "tx", "rxu", "txu";
543543
};
544-
ssi4: ssi@4 {
544+
ssi4: ssi-4 {
545545
interrupts = <0 374 IRQ_TYPE_LEVEL_HIGH>;
546546
dmas = <&audma0 0x09>, <&audma1 0x0a>, <&audma0 0x71>, <&audma1 0x72>;
547547
dma-names = "rx", "tx", "rxu", "txu";
548548
};
549-
ssi5: ssi@5 {
549+
ssi5: ssi-5 {
550550
interrupts = <0 375 IRQ_TYPE_LEVEL_HIGH>;
551551
dmas = <&audma0 0x0b>, <&audma1 0x0c>, <&audma0 0x73>, <&audma1 0x74>;
552552
dma-names = "rx", "tx", "rxu", "txu";
553553
};
554-
ssi6: ssi@6 {
554+
ssi6: ssi-6 {
555555
interrupts = <0 376 IRQ_TYPE_LEVEL_HIGH>;
556556
dmas = <&audma0 0x0d>, <&audma1 0x0e>, <&audma0 0x75>, <&audma1 0x76>;
557557
dma-names = "rx", "tx", "rxu", "txu";
558558
};
559-
ssi7: ssi@7 {
559+
ssi7: ssi-7 {
560560
interrupts = <0 377 IRQ_TYPE_LEVEL_HIGH>;
561561
dmas = <&audma0 0x0f>, <&audma1 0x10>, <&audma0 0x79>, <&audma1 0x7a>;
562562
dma-names = "rx", "tx", "rxu", "txu";
563563
};
564-
ssi8: ssi@8 {
564+
ssi8: ssi-8 {
565565
interrupts = <0 378 IRQ_TYPE_LEVEL_HIGH>;
566566
dmas = <&audma0 0x11>, <&audma1 0x12>, <&audma0 0x7b>, <&audma1 0x7c>;
567567
dma-names = "rx", "tx", "rxu", "txu";
568568
};
569-
ssi9: ssi@9 {
569+
ssi9: ssi-9 {
570570
interrupts = <0 379 IRQ_TYPE_LEVEL_HIGH>;
571571
dmas = <&audma0 0x13>, <&audma1 0x14>, <&audma0 0x7d>, <&audma1 0x7e>;
572572
dma-names = "rx", "tx", "rxu", "txu";

Documentation/devicetree/bindings/sound/rockchip,pdm.txt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,14 @@ pdm: pdm@ff040000 {
2929
dma-names = "rx";
3030
pinctrl-names = "default", "sleep";
3131
pinctrl-0 = <&pdmm0_clk
32-
&pdmm0_fsync
3332
&pdmm0_sdi0
3433
&pdmm0_sdi1
3534
&pdmm0_sdi2
3635
&pdmm0_sdi3>;
37-
pinctrl-1 = <&pdmm0_sleep>;
36+
pinctrl-1 = <&pdmm0_clk_sleep
37+
&pdmm0_sdi0_sleep
38+
&pdmm0_sdi1_sleep
39+
&pdmm0_sdi2_sleep
40+
&pdmm0_sdi3_sleep>;
3841
status = "disabled";
3942
};

Documentation/devicetree/bindings/sound/rockchip,rk3399-gru-sound.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Required properties:
44
- compatible: "rockchip,rk3399-gru-sound"
55
- rockchip,cpu: The phandle of the Rockchip I2S controller that's
66
connected to the codecs
7-
- rockchip,codec: The phandle of the MAX98357A/RT5514/DA7219 codecs
7+
- rockchip,codec: The phandle of the audio codecs
88

99
Optional properties:
1010
- dmic-wakeup-delay-ms : specify delay time (ms) for DMIC ready.

Documentation/devicetree/bindings/sound/rockchip-i2s.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,12 @@ Required properties:
77

88
- compatible: should be one of the following:
99
- "rockchip,rk3066-i2s": for rk3066
10+
- "rockchip,rk3036-i2s", "rockchip,rk3066-i2s": for rk3036
1011
- "rockchip,rk3188-i2s", "rockchip,rk3066-i2s": for rk3188
12+
- "rockchip,rk3228-i2s", "rockchip,rk3066-i2s": for rk3228
1113
- "rockchip,rk3288-i2s", "rockchip,rk3066-i2s": for rk3288
14+
- "rockchip,rk3328-i2s", "rockchip,rk3066-i2s": for rk3328
15+
- "rockchip,rk3366-i2s", "rockchip,rk3066-i2s": for rk3366
1216
- "rockchip,rk3368-i2s", "rockchip,rk3066-i2s": for rk3368
1317
- "rockchip,rk3399-i2s", "rockchip,rk3066-i2s": for rk3399
1418
- reg: physical base address of the controller and length of memory mapped
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
RT274 audio CODEC
2+
3+
This device supports I2C only.
4+
5+
Required properties:
6+
7+
- compatible : "realtek,rt274".
8+
9+
- reg : The I2C address of the device.
10+
11+
Optional properties:
12+
13+
- interrupts : The CODEC's interrupt output.
14+
15+
16+
Pins on the device (for linking into audio routes) for RT274:
17+
18+
* DMIC1 Pin
19+
* DMIC2 Pin
20+
* MIC
21+
* LINE1
22+
* LINE2
23+
* HPO Pin
24+
* SPDIF
25+
* LINE3
26+
27+
Example:
28+
29+
codec: rt274@1c {
30+
compatible = "realtek,rt274";
31+
reg = <0x1c>;
32+
interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
33+
};

0 commit comments

Comments
 (0)