Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1286da8b authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull sound updates from Takashi Iwai:
 "A relative calm release at this time with a flat diffstat.  The only
  significant change in the ALSA core side is the support for more than
  32 card instances, configurable via kconfig.  Other than that, in both
  ASoC and other parts, mostly some improvements and fixes on the driver
  side.

   - hda: More quirks for ALC269-variants on Dell & co, VIA codec fixes
   - hda: Haswell HDMI audio fixes, runtime PM improvements
   - hda: Intel BayTrail support, ALC5505 DSP support
   - es1968: MediaForte M56VAP support
   - usb-audio: Improved support for Yamaha/Roland devices
   - usb-audio: M2Tech hiFace, Audio Advantage Micro II support
   - hdspm: wordclock fixes
   - ASoC: Pending fixes for WM8962
   - ASoC: Cleanups and fixes for Blackfin, SGTL5000 and UX500
   - ASoC: Generalisation of the Bluetooth and HDMI stub drivers
   - ASoC: SSM2518 and RT5640 codec drivers.
   - ASoC: Tegra CPUs with RT5640 machine driver
   - ASoC: AC'97 refactoring bug fixes
   - ASoC: ADAU1701 driver fixes
   - Clean up of *_set_drvdata() in a wide range of drivers"

* tag 'sound-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (284 commits)
  ALSA: vmaster: Fix the regression of missing vmaster hook call
  ALSA: hda - Add Dell SSID to support Headset Mic recording
  ASoC: adau1701: remove control_data assignment
  ASoC: adau1701: more direct regmap usage
  ASoC: ac97: fixup multi-platform AC'97 module build failure
  ASoC: pxa2xx: fixup multi-platform AC'97 build failures
  ASoC: tegra20-ac97: Remove unused variable
  ASoC: tegra20-ac97: Remove duplicate error message
  ALSA: usb-audio: Add Audio Advantage Micro II
  ASoC: tas5086: fix Mid-Z implementation
  ASoC: tas5086: fix TAS5086_CLOCK_CONTROL register size
  ALSA: Replace the magic number 44 with const
  ALSA: hda - Fix the max length of control name in generic parser
  ALSA: hda - Guess what, it's two more Dell headset mic quirks
  ALSA: hda - Yet another Dell headset mic quirk
  ALSA: hda - Add support for ALC5505 DSP power-save mode
  ASoC: mfld: Remove unused variable
  ALSA: usb-audio: add quirks for Roland QUAD/OCTO-CAPTURE
  ALSA: usb-audio: claim autodetected PCM interfaces all at once
  ALSA: usb-audio: remove superfluous Roland quirks
  ...
parents 9e220385 1ba65ae4
Loading
Loading
Loading
Loading
+62 −0
Original line number Diff line number Diff line
Wolfson Arizona class audio SoCs

These devices are audio SoCs with extensive digital capabilites and a range
of analogue I/O.

Required properties:

  - compatible : one of the following chip-specific strings:
	"wlf,wm5102"
	"wlf,wm5110"
  - reg : I2C slave address when connected using I2C, chip select number when
    using SPI.

  - interrupts : The interrupt line the /IRQ signal for the device is
    connected to.
  - interrupt-controller : Arizona class devices contain interrupt controllers
    and may provide interrupt services to other devices.
  - interrupt-parent : The parent interrupt controller.
  - #interrupt-cells: the number of cells to describe an IRQ, this should be 2.
    The first cell is the IRQ number.
    The second cell is the flags, encoded as the trigger masks from
    Documentation/devicetree/bindings/interrupts.txt

  - gpio-controller : Indicates this device is a GPIO controller.
  - #gpio-cells : Must be 2. The first cell is the pin number and the
    second cell is used to specify optional parameters (currently unused).

  - AVDD1-supply, DBVDD1-supply, DBVDD2-supply, DBVDD3-supply, CPVDD-supply,
    SPKVDDL-supply, SPKVDDR-supply : power supplies for the device, as covered
    in Documentation/devicetree/bindings/regulator/regulator.txt

Optional properties:

  - wlf,reset : GPIO specifier for the GPIO controlling /RESET
  - wlf,ldoena : GPIO specifier for the GPIO controlling LDOENA

  - wlf,gpio-defaults : A list of GPIO configuration register values. If
    absent, no configuration of these registers is performed. If any
    entry has a value that is out of range for a 16 bit register then
    the chip default will be used.  If present exactly five values must
    be specified.

Example:

codec: wm5102@1a {
	compatible = "wlf,wm5102";
	reg = <0x1a>;
	interrupts = <347>;
	#interrupt-cells = <2>;
        interrupt-parent = <&gic>;

	gpio-controller;
	#gpio-cells = <2>;

	wlf,gpio-defaults = <
		0x00000000, /* AIF1TXLRCLK */
		0xffffffff,
		0xffffffff,
		0xffffffff,
		0xffffffff,
	>;
};
+35 −0
Original line number Diff line number Diff line
Analog Devices ADAU1701

Required properties:

 - compatible:		Should contain "adi,adau1701"
 - reg:			The i2c address. Value depends on the state of ADDR0
			and ADDR1, as wired in hardware.

Optional properties:

 - reset-gpio: 		A GPIO spec to define which pin is connected to the
			chip's !RESET pin. If specified, the driver will
			assert a hardware reset at probe time.
 - adi,pll-mode-gpios:	An array of two GPIO specs to describe the GPIOs
			the ADAU's PLL config pins are connected to.
			The state of the pins are set according to the
			configured clock divider on ASoC side before the
			firmware is loaded.
 - adi,pin-config:	An array of 12 numerical values selecting one of the
			pin configurations as described in the datasheet,
			table 53. Note that the value of this property has
			to be prefixed with '/bits/ 8'.

Examples:

	i2c_bus {
		adau1701@34 {
			compatible = "adi,adau1701";
			reg = <0x34>;
			reset-gpio = <&gpio 23 0>;
			adi,pll-mode-gpios = <&gpio 24 0 &gpio 25 0>;
			adi,pin-config = /bits/ 8 <0x4 0x7 0x5 0x5 0x4 0x4
                                                   0x4 0x4 0x4 0x4 0x4 0x4>;
		};
	};
+46 −0
Original line number Diff line number Diff line
Freescale i.MX audio complex with WM8962 codec

Required properties:
- compatible : "fsl,imx-audio-wm8962"
- model : The user-visible name of this sound complex
- ssi-controller : The phandle of the i.MX SSI controller
- audio-codec : The phandle of the WM8962 audio codec
- audio-routing : A list of the connections between audio components.
  Each entry is a pair of strings, the first being the connection's sink,
  the second being the connection's source. Valid names could be power
  supplies, WM8962 pins, and the jacks on the board:

  Power supplies:
   * Mic Bias

  Board connectors:
   * Mic Jack
   * Headphone Jack
   * Ext Spk

- mux-int-port : The internal port of the i.MX audio muxer (AUDMUX)
- mux-ext-port : The external port of the i.MX audio muxer

Note: The AUDMUX port numbering should start at 1, which is consistent with
hardware manual.

Example:

sound {
	compatible = "fsl,imx6q-sabresd-wm8962",
		     "fsl,imx-audio-wm8962";
	model = "wm8962-audio";
	ssi-controller = <&ssi2>;
	audio-codec = <&codec>;
		audio-routing =
		"Headphone Jack", "HPOUTL",
		"Headphone Jack", "HPOUTR",
		"Ext Spk", "SPKOUTL",
		"Ext Spk", "SPKOUTR",
		"MICBIAS", "AMIC",
		"IN3R", "MICBIAS",
		"DMIC", "MICBIAS",
		"DMICDAT", "DMIC";
	mux-int-port = <2>;
	mux-ext-port = <3>;
};
+11 −6
Original line number Diff line number Diff line
@@ -3,8 +3,11 @@
Required properties:
- compatible: Should be "fsl,<chip>-saif"
- reg: Should contain registers location and length
- interrupts: Should contain ERROR and DMA interrupts
- fsl,saif-dma-channel: APBX DMA channel for the SAIF
- interrupts: Should contain ERROR interrupt number
- dmas: DMA specifier, consisting of a phandle to DMA controller node
  and SAIF DMA channel ID.
  Refer to dma.txt and fsl-mxs-dma.txt for details.
- dma-names: Must be "rx-tx".

Optional properties:
- fsl,saif-master: phandle to the master SAIF.  It's only required for
@@ -23,14 +26,16 @@ aliases {
saif0: saif@80042000 {
	compatible = "fsl,imx28-saif";
	reg = <0x80042000 2000>;
	interrupts = <59 80>;
	fsl,saif-dma-channel = <4>;
	interrupts = <59>;
	dmas = <&dma_apbx 4>;
	dma-names = "rx-tx";
};

saif1: saif@80046000 {
	compatible = "fsl,imx28-saif";
	reg = <0x80046000 2000>;
	interrupts = <58 81>;
	fsl,saif-dma-channel = <5>;
	interrupts = <58>;
	dmas = <&dma_apbx 5>;
	dma-names = "rx-tx";
	fsl,saif-master = <&saif0>;
};
+71 −0
Original line number Diff line number Diff line
NVIDIA Tegra audio complex, with RT5640 CODEC

Required properties:
- compatible : "nvidia,tegra-audio-rt5640"
- clocks : Must contain an entry for each entry in clock-names.
- clock-names : Must include the following entries:
  "pll_a" (The Tegra clock of that name),
  "pll_a_out0" (The Tegra clock of that name),
  "mclk" (The Tegra cdev1/extern1 clock, which feeds the CODEC's mclk)
- nvidia,model : The user-visible name of this sound complex.
- nvidia,audio-routing : A list of the connections between audio components.
  Each entry is a pair of strings, the first being the connection's sink,
  the second being the connection's source. Valid names for sources and
  sinks are the RT5640's pins, and the jacks on the board:

  RT5640 pins:

  * DMIC1
  * DMIC2
  * MICBIAS1
  * IN1P
  * IN1R
  * IN2P
  * IN2R
  * HPOL
  * HPOR
  * LOUTL
  * LOUTR
  * MONOP
  * MONON
  * SPOLP
  * SPOLN
  * SPORP
  * SPORN

  Board connectors:

  * Headphones
  * Speakers

- nvidia,i2s-controller : The phandle of the Tegra I2S controller that's
  connected to the CODEC.
- nvidia,audio-codec : The phandle of the RT5640 audio codec. This binding
  assumes that AIF1 on the CODEC is connected to Tegra.

Optional properties:
- nvidia,hp-det-gpios : The GPIO that detects headphones are plugged in

Example:

sound {
	compatible = "nvidia,tegra-audio-rt5640-dalmore",
			"nvidia,tegra-audio-rt5640";
	nvidia,model = "NVIDIA Tegra Dalmore";

	nvidia,audio-routing =
		"Headphones", "HPOR",
		"Headphones", "HPOL",
		"Speakers", "SPORP",
		"Speakers", "SPORN",
		"Speakers", "SPOLP",
		"Speakers", "SPOLN";

	nvidia,i2s-controller = <&tegra_i2s1>;
	nvidia,audio-codec = <&rt5640>;

	nvidia,hp-det-gpios = <&gpio 143 0>; /* GPIO PR7 */

	clocks = <&tegra_car 216>, <&tegra_car 217>, <&tegra_car 120>;
	clock-names = "pll_a", "pll_a_out0", "mclk";
};
Loading