Skip to content

Commit

Permalink
Merge tag 'sound-4.17-rc1' of git://git.kernel.org/pub/scm/linux/kern…
Browse files Browse the repository at this point in the history
…el/git/tiwai/sound

Pull sound updates from Takashi Iwai:
 "This became a large update. The changes are scattered widely, and the
  majority of them are attributed to ASoC componentization. The gitk
  output made me dizzy, but it's slightly better than London tube.

  OK, below are some highlights:

   - Continued hardening works in ALSA PCM core; most of the existing
     syzkaller reports should have been covered.

   - USB-audio got the initial USB Audio Class 3 support, as well as
     UAC2 jack detection support and more DSD-device support.

   - ASoC componentization: finally each individual driver was converted
     to components framework, which is more future-proof for further
     works. Most of conversations were systematic.

   - Lots of fixes for Intel Baytrail / Cherrytrail devices with Realtek
     codecs, typically tablets and small PCs.

   - Fixes / cleanups for Samsung Odroid systems

   - Cleanups in Freescale SSI driver

   - New ASoC drivers:
      * AKM AK4458 and AK5558 codecs
      * A few AMD based machine drivers
      * Intel Kabylake machine drivers
      * Maxim MAX9759 codec
      * Motorola CPCAP codec
      * Socionext Uniphier SoCs
      * TI PCM1789 and TDA7419 codecs

   - Retirement of Blackfin drivers along with architecture removal"

* tag 'sound-4.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (497 commits)
  ALSA: pcm: Fix UAF at PCM release via PCM timer access
  ALSA: usb-audio: silence a static checker warning
  ASoC: tscs42xx: Remove owner assignment from i2c_driver
  ASoC: mediatek: remove "simple-mfd" in the example
  ASoC: cpcap: replace codec to component
  ASoC: Intel: bytcr_rt5651: don't use codec anymore
  ASoC: amd: don't use codec anymore
  ALSA: usb-audio: fix memory leak on cval
  ALSA: pcm: Fix mutex unbalance in OSS emulation ioctls
  ASoC: topology: Fix kcontrol name string handling
  ALSA: aloop: Mark paused device as inactive
  ALSA: usb-audio: update clock valid control
  ALSA: usb-audio: UAC2 jack detection
  ALSA: pcm: Return -EBUSY for OSS ioctls changing busy streams
  ALSA: pcm: Avoid potential races between OSS ioctls and read/write
  ALSA: usb-audio: Integrate native DSD support for ITF-USB based DACs.
  ALSA: usb-audio: FIX native DSD support for TEAC UD-501 DAC
  ALSA: usb-audio: Add native DSD support for Luxman DA-06
  ALSA: usb-audio: fix uac control query argument
  ASoC: nau8824: recover system clock when device changes
  ...
  • Loading branch information
Linus Torvalds committed Apr 5, 2018
2 parents 652ede3 + a820ccb commit e02d37b
Show file tree
Hide file tree
Showing 520 changed files with 29,431 additions and 23,352 deletions.
23 changes: 23 additions & 0 deletions Documentation/devicetree/bindings/sound/ak4458.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
AK4458 audio DAC

This device supports I2C mode.

Required properties:

- compatible : "asahi-kasei,ak4458"
- reg : The I2C address of the device for I2C

Optional properties:
- reset-gpios: A GPIO specifier for the power down & reset pin
- mute-gpios: A GPIO specifier for the soft mute pin

Example:

&i2c {
ak4458: dac@10 {
compatible = "asahi-kasei,ak4458";
reg = <0x10>;
reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>
mute-gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>
};
};
22 changes: 22 additions & 0 deletions Documentation/devicetree/bindings/sound/ak5558.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
AK5558 8 channel differential 32-bit delta-sigma ADC

This device supports I2C mode only.

Required properties:

- compatible : "asahi-kasei,ak5558"
- reg : The I2C address of the device.

Optional properties:

- reset-gpios: A GPIO specifier for the power down & reset pin.

Example:

&i2c {
ak5558: adc@10 {
compatible = "asahi-kasei,ak5558";
reg = <0x10>;
reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
};
};
6 changes: 6 additions & 0 deletions Documentation/devicetree/bindings/sound/da7219.txt
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ Optional properties:
interrupt is to be used to wake system, otherwise "irq" should be used.
- wakeup-source: Flag to indicate this device can wake system (suspend/resume).

- #clock-cells : Should be set to '<0>', only one clock source provided;
- clock-output-names : Name given for DAI clocks output;

- clocks : phandle and clock specifier for codec MCLK.
- clock-names : Clock name string for 'clocks' attribute, should be "mclk".

Expand Down Expand Up @@ -83,6 +86,9 @@ Example:
VDDMIC-supply = <&reg_audio>;
VDDIO-supply = <&reg_audio>;

#clock-cells = <0>;
clock-output-names = "dai-clks";

clocks = <&clks 201>;
clock-names = "mclk";

Expand Down
2 changes: 2 additions & 0 deletions Documentation/devicetree/bindings/sound/dmic.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,13 @@ Required properties:
Optional properties:
- dmicen-gpios: GPIO specifier for dmic to control start and stop
- num-channels: Number of microphones on this DAI
- wakeup-delay-ms: Delay (in ms) after enabling the DMIC

Example node:

dmic_codec: dmic@0 {
compatible = "dmic-codec";
dmicen-gpios = <&gpio4 3 GPIO_ACTIVE_HIGH>;
num-channels = <1>;
wakeup-delay-ms <50>;
};
1 change: 0 additions & 1 deletion Documentation/devicetree/bindings/sound/fsl-asoc-card.txt
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ The compatible list for this generic sound card currently:
(compatible with CS4271 and CS4272)

"fsl,imx-audio-wm8962"
(compatible with Documentation/devicetree/bindings/sound/imx-audio-wm8962.txt)

"fsl,imx-audio-sgtl5000"
(compatible with Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt)
Expand Down
53 changes: 0 additions & 53 deletions Documentation/devicetree/bindings/sound/imx-audio-wm8962.txt

This file was deleted.

2 changes: 2 additions & 0 deletions Documentation/devicetree/bindings/sound/max98090.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ Optional properties:

- clock-names: Should be "mclk"

- #sound-dai-cells : should be 0.

- maxim,dmic-freq: Frequency at which to clock DMIC

- maxim,micbias: Micbias voltage applies to the analog mic, valid voltages value are:
Expand Down
18 changes: 18 additions & 0 deletions Documentation/devicetree/bindings/sound/maxim,max9759.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
Maxim MAX9759 Speaker Amplifier
===============================

Required properties:
- compatible : "maxim,max9759"
- shutdown-gpios : the gpio connected to the shutdown pin
- mute-gpios : the gpio connected to the mute pin
- gain-gpios : the 2 gpios connected to the g1 and g2 pins

Example:

max9759: analog-amplifier {
compatible = "maxim,max9759";
shutdown-gpios = <&gpio3 20 GPIO_ACTIVE_LOW>;
mute-gpios = <&gpio3 19 GPIO_ACTIVE_LOW>;
gain-gpios = <&gpio3 23 GPIO_ACTIVE_LOW>,
<&gpio3 25 GPIO_ACTIVE_LOW>;
};
2 changes: 1 addition & 1 deletion Documentation/devicetree/bindings/sound/mt2701-afe-pcm.txt
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ See ../arm/mediatek/mediatek,audsys.txt for details about the parent node.
Example:

audsys: audio-subsystem@11220000 {
compatible = "mediatek,mt2701-audsys", "syscon", "simple-mfd";
compatible = "mediatek,mt2701-audsys", "syscon";
...

afe: audio-controller {
Expand Down
22 changes: 22 additions & 0 deletions Documentation/devicetree/bindings/sound/pcm1789.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
Texas Instruments pcm1789 DT bindings

PCM1789 is a simple audio codec that can be connected via
I2C or SPI. Currently, only I2C bus is supported.

Required properties:

- compatible: "ti,pcm1789"

Required properties on I2C:

- reg: the I2C address
- reset-gpios: GPIO to control the RESET pin

Examples:

audio-codec@4c {
compatible = "ti,pcm1789";
reg = <0x4c>;
reset-gpios = <&gpio2 14 GPIO_ACTIVE_LOW>;
#sound-dai-cells = <0>;
};
1 change: 1 addition & 0 deletions Documentation/devicetree/bindings/sound/renesas,rsnd.txt
Original file line number Diff line number Diff line change
Expand Up @@ -351,6 +351,7 @@ Required properties:
- "renesas,rcar_sound-r8a7793" (R-Car M2-N)
- "renesas,rcar_sound-r8a7794" (R-Car E2)
- "renesas,rcar_sound-r8a7795" (R-Car H3)
- "renesas,rcar_sound-r8a7796" (R-Car M3-W)
- reg : Should contain the register physical address.
required register is
SRU/ADG/SSI if generation1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Optionnal properties:
Example:

sound {
compatible = "rockchip,rockchip-audio-es8388";
compatible = "rockchip,rk3288-hdmi-analog";
rockchip,model = "Analog audio output";
rockchip,i2s-controller = <&i2s>;
rockchip,audio-codec = <&es8388>;
Expand Down
29 changes: 29 additions & 0 deletions Documentation/devicetree/bindings/sound/rohm,bd28623.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
ROHM BD28623MUV Class D speaker amplifier for digital input

This codec does not have any control buses such as I2C, it detect format and
rate of I2S signal automatically. It has two signals that can be connected
to GPIOs: reset and mute.

Required properties:
- compatible : should be "rohm,bd28623"
- #sound-dai-cells: should be 0.
- VCCA-supply : regulator phandle for the VCCA supply
- VCCP1-supply : regulator phandle for the VCCP1 supply
- VCCP2-supply : regulator phandle for the VCCP2 supply

Optional properties:
- reset-gpios : GPIO specifier for the active low reset line
- mute-gpios : GPIO specifier for the active low mute line

Example:

codec {
compatible = "rohm,bd28623";
#sound-dai-cells = <0>;

VCCA-supply = <&vcc_reg>;
VCCP1-supply = <&vcc_reg>;
VCCP2-supply = <&vcc_reg>;
reset-gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
mute-gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
};
17 changes: 17 additions & 0 deletions Documentation/devicetree/bindings/sound/rt5651.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,23 @@ Optional properties:
- realtek,dmic-en
Boolean. true if dmic is used.

- realtek,jack-detect-source
u32. Valid values:
1: Use JD1_1 pin for jack-detect
2: Use JD1_2 pin for jack-detect
3: Use JD2 pin for jack-detect

- realtek,over-current-threshold-microamp
u32, micbias over-current detection threshold in µA, valid values are
600, 1500 and 2000µA.

- realtek,over-current-scale-factor
u32, micbias over-current detection scale-factor, valid values are:
0: Scale current by 0.5
1: Scale current by 0.75
2: Scale current by 1.0
3: Scale current by 1.5

Pins on the device (for linking into audio routes) for RT5651:

* DMIC L1
Expand Down
4 changes: 2 additions & 2 deletions Documentation/devicetree/bindings/sound/rt5665.txt
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
RT5665/RT5666/RT5668 audio CODEC
RT5665/RT5666 audio CODEC

This device supports I2C only.

Required properties:

- compatible : One of "realtek,rt5665", "realtek,rt5666" or "realtek,rt5668".
- compatible : One of "realtek,rt5665", "realtek,rt5666".

- reg : The I2C address of the device.

Expand Down
8 changes: 5 additions & 3 deletions Documentation/devicetree/bindings/sound/samsung,odroid.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@ Samsung Exynos Odroid XU3/XU4 audio complex with MAX98090 codec

Required properties:

- compatible - "samsung,odroidxu3-audio" - for Odroid XU3 board,
"samsung,odroidxu4-audio" - for Odroid XU4 board
- compatible - "hardkernel,odroid-xu3-audio" - for Odroid XU3 board,
"hardkernel,odroid-xu4-audio" - for Odroid XU4 board (deprecated),
"samsung,odroid-xu3-audio" - for Odroid XU3 board (deprecated),
"samsung,odroid-xu4-audio" - for Odroid XU4 board (deprecated)
- model - the user-visible name of this sound complex
- clocks - should contain entries matching clock names in the clock-names
property
Expand Down Expand Up @@ -35,7 +37,7 @@ Required sub-nodes:
Example:

sound {
compatible = "samsung,odroidxu3-audio";
compatible = "hardkernel,odroid-xu3-audio";
model = "Odroid-XU3";
samsung,audio-routing =
"Headphone Jack", "HPL",
Expand Down
14 changes: 9 additions & 5 deletions Documentation/devicetree/bindings/sound/samsung,tm2-audio.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,13 @@ Required properties:

- compatible : "samsung,tm2-audio"
- model : the user-visible name of this sound complex
- audio-codec : the phandle of the wm5110 audio codec node,
as described in ../mfd/arizona.txt
- i2s-controller : the phandle of the I2S controller
- audio-codec : the first entry should be phandle of the wm5110 audio
codec node, as described in ../mfd/arizona.txt;
the second entry should be phandle of the HDMI
transmitter node
- i2s-controller : the list of phandle and argument tuples pointing to
I2S controllers, the first entry should be I2S0 and
the second one I2S1
- audio-amplifier : the phandle of the MAX98504 amplifier
- samsung,audio-routing : a list of the connections between audio components;
each entry is a pair of strings, the first being the
Expand All @@ -22,8 +26,8 @@ Example:

sound {
compatible = "samsung,tm2-audio";
audio-codec = <&wm5110>;
i2s-controller = <&i2s0>;
audio-codec = <&wm5110>, <&hdmi>;
i2s-controller = <&i2s0 0>, <&i2s1 0>;
audio-amplifier = <&max98504>;
mic-bias-gpios = <&gpr3 2 0>;
model = "wm5110";
Expand Down
Loading

0 comments on commit e02d37b

Please sign in to comment.