Skip to content

Commit 2e341ca

Browse files
committed
Merge tag 'sound-3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound updates from Takashi Iwai: "This is the first big chunk for 3.5 merges of sound stuff. There are a few big changes in different areas. First off, the streaming logic of USB-audio endpoints has been largely rewritten for the better support of "implicit feedback". If anything about USB got broken, this change has to be checked. For HD-audio, the resume procedure was changed; instead of delaying the resume of the hardware until the first use, now waking up immediately at resume. This is for buggy BIOS. For ASoC, dynamic PCM support and the improved support for digital links between off-SoC devices are major framework changes. Some highlights are below: * HD-audio - Avoid accesses of invalid pin-control bits that may stall the codec - V-ref setup cleanups - Fix the races in power-saving code - Fix the races in codec cache hashes and connection lists - Split some common codes for BIOS auto-parser to hda_auto_parser.c - Changed the PM resume code to wake up immediately for buggy BIOS - Creative SoundCore3D support - Add Conexant CX20751/2/3/4 codec support * ASoC - Dynamic PCM support, allowing support for SoCs with internal routing through components with tight sequencing and formatting constraints within their internal paths or where there are multiple components connected with CPU managed DMA controllers inside the SoC. - Greatly improved support for direct digital links between off-SoC devices, providing a much simpler way of connecting things like digital basebands to CODECs. - Much more fine grained and robust locking, cleaning up some of the confusion that crept in with multi-component. - CPU support for nVidia Tegra 30 I2S and audio hub controllers and ST-Ericsson MSP I2S controolers - New CODEC drivers for Cirrus CS42L52, LAPIS Semiconductor ML26124, Texas Instruments LM49453. - Some regmap changes needed by the Tegra I2S driver. - mc13783 audio support. * Misc - Rewrite with module_pci_driver() - Xonar DGX support for snd-oxygen - Improvement of packet handling in snd-firewire driver - New USB-endpoint streaming logic - Enhanced M-audio FTU quirks and relevant cleanups - Increment the support of OSS devices to 256 - snd-aloop accuracy improvement There are a few more pending changes for 3.5, but they will be sent slightly later as partly depending on the changes of DRM." Fix up conflicts in regmap (due to duplicate patches, with some further updates then having already come in from the regmap tree). Also some fairly trivial context conflicts in the imx and mcx soc drivers. * tag 'sound-3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (280 commits) ALSA: snd-usb: fix stream info output in /proc ALSA: pcm - Add proper state checks to snd_pcm_drain() ALSA: sh: Fix up namespace collision in sh_dac_audio. ALSA: hda/realtek - Fix unused variable compile warning ASoC: sh: fsi: enable chip specific data transfer mode ASoC: sh: fsi: call fsi_hw_startup/shutdown from fsi_dai_trigger() ASoC: sh: fsi: use same format for IN/OUT ASoC: sh: fsi: add fsi_version() and removed meaningless version check ASoC: sh: fsi: use register field macro name on IN/OUT_DMAC ASoC: tegra: Add machine driver for WM8753 codec ALSA: hda - Fix possible races of accesses to connection list array ASoC: OMAP: HDMI: Introduce codec ARM: mx31_3ds: Add sound support ASoC: imx-mc13783 cleanup mx31moboard: Add sound support ASoC: mc13783 codec cleanups ASoC: add imx-mc13783 sound support ASoC: Add mc13783 codec mfd: mc13xxx: add codec platform data ASoC: don't flip master of DT-instantiated DAI links ...
2 parents 927ad55 + 85e184e commit 2e341ca

File tree

292 files changed

+22072
-8064
lines changed

Some content is hidden

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

292 files changed

+22072
-8064
lines changed
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
Freescale i.MX audio complex with SGTL5000 codec
2+
3+
Required properties:
4+
- compatible : "fsl,imx-audio-sgtl5000"
5+
- model : The user-visible name of this sound complex
6+
- ssi-controller : The phandle of the i.MX SSI controller
7+
- audio-codec : The phandle of the SGTL5000 audio codec
8+
- audio-routing : A list of the connections between audio components.
9+
Each entry is a pair of strings, the first being the connection's sink,
10+
the second being the connection's source. Valid names could be power
11+
supplies, SGTL5000 pins, and the jacks on the board:
12+
13+
Power supplies:
14+
* Mic Bias
15+
16+
SGTL5000 pins:
17+
* MIC_IN
18+
* LINE_IN
19+
* HP_OUT
20+
* LINE_OUT
21+
22+
Board connectors:
23+
* Mic Jack
24+
* Line In Jack
25+
* Headphone Jack
26+
* Line Out Jack
27+
* Ext Spk
28+
29+
- mux-int-port : The internal port of the i.MX audio muxer (AUDMUX)
30+
- mux-ext-port : The external port of the i.MX audio muxer
31+
32+
Note: The AUDMUX port numbering should start at 1, which is consistent with
33+
hardware manual.
34+
35+
Example:
36+
37+
sound {
38+
compatible = "fsl,imx51-babbage-sgtl5000",
39+
"fsl,imx-audio-sgtl5000";
40+
model = "imx51-babbage-sgtl5000";
41+
ssi-controller = <&ssi1>;
42+
audio-codec = <&sgtl5000>;
43+
audio-routing =
44+
"MIC_IN", "Mic Jack",
45+
"Mic Jack", "Mic Bias",
46+
"Headphone Jack", "HP_OUT";
47+
mux-int-port = <1>;
48+
mux-ext-port = <3>;
49+
};
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
* Freescale MXS audio complex with SGTL5000 codec
2+
3+
Required properties:
4+
- compatible: "fsl,mxs-audio-sgtl5000"
5+
- model: The user-visible name of this sound complex
6+
- saif-controllers: The phandle list of the MXS SAIF controller
7+
- audio-codec: The phandle of the SGTL5000 audio codec
8+
9+
Example:
10+
11+
sound {
12+
compatible = "fsl,imx28-evk-sgtl5000",
13+
"fsl,mxs-audio-sgtl5000";
14+
model = "imx28-evk-sgtl5000";
15+
saif-controllers = <&saif0 &saif1>;
16+
audio-codec = <&sgtl5000>;
17+
};
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
* Freescale MXS Serial Audio Interface (SAIF)
2+
3+
Required properties:
4+
- compatible: Should be "fsl,<chip>-saif"
5+
- reg: Should contain registers location and length
6+
- interrupts: Should contain ERROR and DMA interrupts
7+
- fsl,saif-dma-channel: APBX DMA channel for the SAIF
8+
9+
Optional properties:
10+
- fsl,saif-master: phandle to the master SAIF. It's only required for
11+
the slave SAIF.
12+
13+
Note: Each SAIF controller should have an alias correctly numbered
14+
in "aliases" node.
15+
16+
Example:
17+
18+
aliases {
19+
saif0 = &saif0;
20+
saif1 = &saif1;
21+
};
22+
23+
saif0: saif@80042000 {
24+
compatible = "fsl,imx28-saif";
25+
reg = <0x80042000 2000>;
26+
interrupts = <59 80>;
27+
fsl,saif-dma-channel = <4>;
28+
};
29+
30+
saif1: saif@80046000 {
31+
compatible = "fsl,imx28-saif";
32+
reg = <0x80046000 2000>;
33+
interrupts = <58 81>;
34+
fsl,saif-dma-channel = <5>;
35+
fsl,saif-master = <&saif0>;
36+
};
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
NVIDIA Tegra30 AHUB (Audio Hub)
2+
3+
Required properties:
4+
- compatible : "nvidia,tegra30-ahub"
5+
- reg : Should contain the register physical address and length for each of
6+
the AHUB's APBIF registers and the AHUB's own registers.
7+
- interrupts : Should contain AHUB interrupt
8+
- nvidia,dma-request-selector : The Tegra DMA controller's phandle and
9+
request selector for the first APBIF channel.
10+
- ranges : The bus address mapping for the configlink register bus.
11+
Can be empty since the mapping is 1:1.
12+
- #address-cells : For the configlink bus. Should be <1>;
13+
- #size-cells : For the configlink bus. Should be <1>.
14+
15+
AHUB client modules need to specify the IDs of their CIFs (Client InterFaces).
16+
For RX CIFs, the numbers indicate the register number within AHUB routing
17+
register space (APBIF 0..3 RX, I2S 0..5 RX, DAM 0..2 RX 0..1, SPDIF RX 0..1).
18+
For TX CIFs, the numbers indicate the bit position within the AHUB routing
19+
registers (APBIF 0..3 TX, I2S 0..5 TX, DAM 0..2 TX, SPDIF TX 0..1).
20+
21+
Example:
22+
23+
ahub@70080000 {
24+
compatible = "nvidia,tegra30-ahub";
25+
reg = <0x70080000 0x200 0x70080200 0x100>;
26+
interrupts = < 0 103 0x04 >;
27+
nvidia,dma-request-selector = <&apbdma 1>;
28+
29+
ranges;
30+
#address-cells = <1>;
31+
#size-cells = <1>;
32+
};
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
NVIDIA Tegra30 I2S controller
2+
3+
Required properties:
4+
- compatible : "nvidia,tegra30-i2s"
5+
- reg : Should contain I2S registers location and length
6+
- nvidia,ahub-cif-ids : The list of AHUB CIF IDs for this port, rx (playback)
7+
first, tx (capture) second. See nvidia,tegra30-ahub.txt for values.
8+
9+
Example:
10+
11+
i2s@70002800 {
12+
compatible = "nvidia,tegra30-i2s";
13+
reg = <0x70080300 0x100>;
14+
nvidia,ahub-cif-ids = <4 4>;
15+
};
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
NVIDIA Tegra audio complex for TrimSlice
2+
3+
Required properties:
4+
- compatible : "nvidia,tegra-audio-trimslice"
5+
- nvidia,i2s-controller : The phandle of the Tegra I2S1 controller
6+
- nvidia,audio-codec : The phandle of the WM8903 audio codec
7+
8+
Example:
9+
10+
sound {
11+
compatible = "nvidia,tegra-audio-trimslice";
12+
nvidia,i2s-controller = <&tegra_i2s1>;
13+
nvidia,audio-codec = <&codec>;
14+
};
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
NVIDIA Tegra audio complex
2+
3+
Required properties:
4+
- compatible : "nvidia,tegra-audio-wm8753"
5+
- nvidia,model : The user-visible name of this sound complex.
6+
- nvidia,audio-routing : A list of the connections between audio components.
7+
Each entry is a pair of strings, the first being the connection's sink,
8+
the second being the connection's source. Valid names for sources and
9+
sinks are the WM8753's pins, and the jacks on the board:
10+
11+
WM8753 pins:
12+
13+
* LOUT1
14+
* LOUT2
15+
* ROUT1
16+
* ROUT2
17+
* MONO1
18+
* MONO2
19+
* OUT3
20+
* OUT4
21+
* LINE1
22+
* LINE2
23+
* RXP
24+
* RXN
25+
* ACIN
26+
* ACOP
27+
* MIC1N
28+
* MIC1
29+
* MIC2N
30+
* MIC2
31+
* Mic Bias
32+
33+
Board connectors:
34+
35+
* Headphone Jack
36+
* Mic Jack
37+
38+
- nvidia,i2s-controller : The phandle of the Tegra I2S1 controller
39+
- nvidia,audio-codec : The phandle of the WM8753 audio codec
40+
Example:
41+
42+
sound {
43+
compatible = "nvidia,tegra-audio-wm8753-whistler",
44+
"nvidia,tegra-audio-wm8753"
45+
nvidia,model = "tegra-wm8753-harmony";
46+
47+
nvidia,audio-routing =
48+
"Headphone Jack", "LOUT1",
49+
"Headphone Jack", "ROUT1";
50+
51+
nvidia,i2s-controller = <&i2s1>;
52+
nvidia,audio-codec = <&wm8753>;
53+
};
54+

Documentation/sound/alsa/ALSA-Configuration.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1545,7 +1545,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
15451545

15461546
Module for sound cards based on the C-Media CMI8786/8787/8788 chip:
15471547
* Asound A-8788
1548-
* Asus Xonar DG
1548+
* Asus Xonar DG/DGX
15491549
* AuzenTech X-Meridian
15501550
* AuzenTech X-Meridian 2G
15511551
* Bgears b-Enspirer

MAINTAINERS

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6691,6 +6691,12 @@ F: drivers/misc/tifm*
66916691
F: drivers/mmc/host/tifm_sd.c
66926692
F: include/linux/tifm.h
66936693

6694+
TI LM49xxx FAMILY ASoC CODEC DRIVERS
6695+
M: M R Swami Reddy <mr.swami.reddy@ti.com>
6696+
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
6697+
S: Maintained
6698+
F: sound/soc/codecs/lm49453*
6699+
66946700
TI TWL4030 SERIES SOC CODEC DRIVER
66956701
M: Peter Ujfalusi <peter.ujfalusi@ti.com>
66966702
L: alsa-devel@alsa-project.org (moderated for non-subscribers)

arch/arm/mach-imx/Kconfig

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,7 @@ config MACH_MX25_3DS
151151
select IMX_HAVE_PLATFORM_IMX2_WDT
152152
select IMX_HAVE_PLATFORM_IMXDI_RTC
153153
select IMX_HAVE_PLATFORM_IMX_I2C
154+
select IMX_HAVE_PLATFORM_IMX_SSI
154155
select IMX_HAVE_PLATFORM_IMX_FB
155156
select IMX_HAVE_PLATFORM_IMX_KEYPAD
156157
select IMX_HAVE_PLATFORM_IMX_UART
@@ -495,6 +496,7 @@ config MACH_MX31MOBOARD
495496
select IMX_HAVE_PLATFORM_FSL_USB2_UDC
496497
select IMX_HAVE_PLATFORM_IMX2_WDT
497498
select IMX_HAVE_PLATFORM_IMX_I2C
499+
select IMX_HAVE_PLATFORM_IMX_SSI
498500
select IMX_HAVE_PLATFORM_IMX_UART
499501
select IMX_HAVE_PLATFORM_IPU_CORE
500502
select IMX_HAVE_PLATFORM_MXC_EHCI

0 commit comments

Comments
 (0)