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

Commit 650d6e25 authored by Takashi Iwai's avatar Takashi Iwai
Browse files

Merge tag 'asoc-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into topic/asoc

This has been a very active release for ASoC, as well as the usual raft
of bugfixes and driver updates there's quite a few framework enhancements.
Most are either small or are laying the groundwork for user visible
features (especially dynamic PCM), the most directly visible change is
the dmaengine library.  There's also a bunch of regmap API enhancements
pulled into the tree so that either the framework or drivers can take
advantage of the new features.

Changes include:

- Support for widgets not associated with a CODEC, an important part of
  the dynamic PCM framework.

- A library factoring out the common code shared by dmaengine based DMA
  drivers contributed by Lars-Peter Clausen.  This will save a lot of
  code and make it much easier to deploy enhancements to dmaengine.

- Support for binary controls, used for providing runtime configuration
  of algorithm coefficients.

- A new DAPM widget type for regulator supplies allowing drivers for
  devices that can power down unused supplies while active to do without
  any per-driver code.

- DAPM widgets for DAIs, initially giving a speed boost for playback
  startup and shutdown and also the basis for CODEC<->CODEC DAI link
  support.

- Support for specifying the number of significant bits on audio
  interfaces, useful for allowing applications to know how much effort to
  put into generating data for a larger sample format.

- Conversion of the FSI driver used on some SH processors to DMAEngine.

- New CODEC drivers for Maxim MAX9768 and Wolfson Microelectronics WM2200.
parents 6b21ed85 ad20ff92
Loading
Loading
Loading
Loading
+13 −4
Original line number Diff line number Diff line
@@ -50,7 +50,9 @@

     <sect1><title>Delaying, scheduling, and timer routines</title>
!Iinclude/linux/sched.h
!Ekernel/sched.c
!Ekernel/sched/core.c
!Ikernel/sched/cpupri.c
!Ikernel/sched/fair.c
!Iinclude/linux/completion.h
!Ekernel/timer.c
     </sect1>
@@ -100,9 +102,12 @@ X!Iinclude/linux/kobject.h
!Iinclude/linux/device.h
     </sect1>
     <sect1><title>Device Drivers Base</title>
!Idrivers/base/init.c
!Edrivers/base/driver.c
!Edrivers/base/core.c
!Edrivers/base/syscore.c
!Edrivers/base/class.c
!Idrivers/base/node.c
!Edrivers/base/firmware_class.c
!Edrivers/base/transport_class.c
<!-- Cannot be included, because
@@ -111,13 +116,18 @@ X!Iinclude/linux/kobject.h
     exceed allowed 44 characters maximum
X!Edrivers/base/attribute_container.c
-->
!Edrivers/base/sys.c
!Edrivers/base/dd.c
<!--
X!Edrivers/base/interface.c
-->
!Iinclude/linux/platform_device.h
!Edrivers/base/platform.c
!Edrivers/base/bus.c
     </sect1>
     <sect1><title>Device Drivers DMA Management</title>
!Edrivers/base/dma-buf.c
!Edrivers/base/dma-coherent.c
!Edrivers/base/dma-mapping.c
     </sect1>
     <sect1><title>Device Drivers Power Management</title>
!Edrivers/base/power/main.c
@@ -216,9 +226,8 @@ X!Isound/sound_firmware.c

  <chapter id="uart16x50">
     <title>16x50 UART Driver</title>
!Iinclude/linux/serial_core.h
!Edrivers/tty/serial/serial_core.c
!Edrivers/tty/serial/8250.c
!Edrivers/tty/serial/8250/8250.c
  </chapter>

  <chapter id="fbdev">
+1 −1
Original line number Diff line number Diff line
@@ -317,7 +317,7 @@ CPU B: spin_unlock_irqrestore(&amp;dev_lock, flags)
  <chapter id="pubfunctions">
     <title>Public Functions Provided</title>
!Iarch/x86/include/asm/io.h
!Elib/iomap.c
!Elib/pci_iomap.c
  </chapter>

</book>
+24 −0
Original line number Diff line number Diff line
ALC5632 audio CODEC

This device supports I2C only.

Required properties:

  - compatible : "realtek,alc5632"

  - reg : the I2C address of the device.

  - gpio-controller : Indicates this device is a GPIO controller.

  - #gpio-cells : Should be two. The first cell is the pin number and the
    second cell is used to specify optional parameters (currently unused).

Example:

alc5632: alc5632@1e {
	compatible = "realtek,alc5632";
	reg = <0x1a>;

	gpio-controller;
	#gpio-cells = <2>;
};
+59 −0
Original line number Diff line number Diff line
NVIDIA Tegra audio complex

Required properties:
- compatible : "nvidia,tegra-audio-alc5632"
- 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 ALC5632's pins:

  ALC5632 pins:

  * SPK_OUTP
  * SPK_OUTN
  * HP_OUT_L
  * HP_OUT_R
  * AUX_OUT_P
  * AUX_OUT_N
  * LINE_IN_L
  * LINE_IN_R
  * PHONE_P
  * PHONE_N
  * MIC1_P
  * MIC1_N
  * MIC2_P
  * MIC2_N
  * MICBIAS1
  * DMICDAT

  Board connectors:

  * Headset Stereophone
  * Int Spk
  * Headset Mic
  * Digital Mic

- nvidia,i2s-controller : The phandle of the Tegra I2S controller
- nvidia,audio-codec : The phandle of the ALC5632 audio codec

Example:

sound {
	compatible = "nvidia,tegra-audio-alc5632-paz00",
				 "nvidia,tegra-audio-alc5632";

	nvidia,model = "Compal PAZ00";

	nvidia,audio-routing =
				"Int Spk", "SPK_OUTP",
				"Int Spk", "SPK_OUTN",
				"Headset Mic","MICBIAS1",
				"MIC1_N", "Headset Mic",
				"MIC1_P", "Headset Mic",
				"Headset Stereophone", "HP_OUT_R",
				"Headset Stereophone", "HP_OUT_L";

	nvidia,i2s-controller = <&tegra_i2s1>;
	nvidia,audio-codec = <&alc5632>;
};
Loading