Skip to content

Commit f5a246e

Browse files
committed
Merge tag 'sound-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound updates from Takashi Iwai: "This contains pretty many small commits covering fairly large range of files in sound/ directory. Partly because of additional API support and partly because of constantly developed ASoC and ARM stuff. Some highlights: - Introduced the helper function and documentation for exposing the channel map via control API, as discussed in Plumbers; most of PCI drivers are covered, will follow more drivers later - Most of drivers have been replaced with the new PM callbacks (if the bus is supported) - HD-audio controller got the support of runtime PM and the support of D3 clock-stop. Also changing the power_save option in sysfs kicks off immediately to enable / disable the power-save mode. - Another significant code change in HD-audio is the rewrite of firmware loading code. Other than that, most of changes in HD-audio are continued cleanups and standardization for the generic auto parser and bug fixes (HBR, device-specific fixups), in addition to the support of channel-map API. - Addition of ASoC bindings for the compressed API, used by the mid-x86 drivers. - Lots of cleanups and API refreshes for ASoC codec drivers and DaVinci. - Conversion of OMAP to dmaengine. - New machine driver for Wolfson Microelectronics Bells. - New CODEC driver for Wolfson Microelectronics WM0010. - Enhancements to the ux500 and wm2000 drivers - A new driver for DA9055 and the support for regulator bypass mode." Fix up various arm soc header file reorg conflicts. * tag 'sound-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (339 commits) ALSA: hda - Add new codec ALC283 ALC290 support ALSA: hda - avoid unneccesary indices on "Headphone Jack" controls ALSA: hda - fix indices on boost volume on Conexant ALSA: aloop - add locking to timer access ALSA: hda - Fix hang caused by race during suspend. sound: Remove unnecessary semicolon ALSA: hda/realtek - Fix detection of ALC271X codec ALSA: hda - Add inverted internal mic quirk for Lenovo IdeaPad U310 ALSA: hda - make Realtek/Sigmatel/Conexant use the generic unsol event ALSA: hda - make a generic unsol event handler ASoC: codecs: Add DA9055 codec driver ASoC: eukrea-tlv320: Convert it to platform driver ALSA: ASoC: add DT bindings for CS4271 ASoC: wm_hubs: Ensure volume updates are handled during class W startup ASoC: wm5110: Adding missing volume update bits ASoC: wm5110: Add OUT3R support ASoC: wm5110: Add AEC loopback support ASoC: wm5110: Rename EPOUT to HPOUT3 ASoC: arizona: Add more clock rates ASoC: arizona: Add more DSP options for mixer input muxes ...
2 parents d5bbd43 + 7ff34ad commit f5a246e

File tree

363 files changed

+10800
-4220
lines changed

Some content is hidden

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

363 files changed

+10800
-4220
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
CS4270 audio CODEC
2+
3+
The driver for this device currently only supports I2C.
4+
5+
Required properties:
6+
7+
- compatible : "cirrus,cs4270"
8+
9+
- reg : the I2C address of the device for I2C
10+
11+
Optional properties:
12+
13+
- reset-gpio : a GPIO spec for the reset pin. If specified, it will be
14+
deasserted before communication to the codec starts.
15+
16+
Example:
17+
18+
codec: cs4270@48 {
19+
compatible = "cirrus,cs4270";
20+
reg = <0x48>;
21+
};
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
Cirrus Logic CS4271 DT bindings
2+
3+
This driver supports both the I2C and the SPI bus.
4+
5+
Required properties:
6+
7+
- compatible: "cirrus,cs4271"
8+
9+
For required properties on SPI, please consult
10+
Documentation/devicetree/bindings/spi/spi-bus.txt
11+
12+
Required properties on I2C:
13+
14+
- reg: the i2c address
15+
16+
17+
Optional properties:
18+
19+
- reset-gpio: a GPIO spec to define which pin is connected to the chip's
20+
!RESET pin
21+
22+
Examples:
23+
24+
codec_i2c: cs4271@10 {
25+
compatible = "cirrus,cs4271";
26+
reg = <0x10>;
27+
reset-gpio = <&gpio 23 0>;
28+
};
29+
30+
codec_spi: cs4271@0 {
31+
compatible = "cirrus,cs4271";
32+
reg = <0x0>;
33+
reset-gpio = <&gpio 23 0>;
34+
spi-max-frequency = <6000000>;
35+
};
36+
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
Texas Instruments McASP controller
2+
3+
Required properties:
4+
- compatible :
5+
"ti,dm646x-mcasp-audio" : for DM646x platforms
6+
"ti,da830-mcasp-audio" : for both DA830 & DA850 platforms
7+
"ti,omap2-mcasp-audio" : for OMAP2 platforms (TI81xx, AM33xx)
8+
9+
- reg : Should contain McASP registers offset and length
10+
- interrupts : Interrupt number for McASP
11+
- op-mode : I2S/DIT ops mode.
12+
- tdm-slots : Slots for TDM operation.
13+
- num-serializer : Serializers used by McASP.
14+
- serial-dir : A list of serializer pin mode. The list number should be equal
15+
to "num-serializer" parameter. Each entry is a number indication
16+
serializer pin direction. (0 - INACTIVE, 1 - TX, 2 - RX)
17+
18+
19+
Optional properties:
20+
21+
- ti,hwmods : Must be "mcasp<n>", n is controller instance starting 0
22+
- tx-num-evt : FIFO levels.
23+
- rx-num-evt : FIFO levels.
24+
- sram-size-playback : size of sram to be allocated during playback
25+
- sram-size-capture : size of sram to be allocated during capture
26+
27+
Example:
28+
29+
mcasp0: mcasp0@1d00000 {
30+
compatible = "ti,da830-mcasp-audio";
31+
#address-cells = <1>;
32+
#size-cells = <0>;
33+
reg = <0x100000 0x3000>;
34+
interrupts = <82 83>;
35+
op-mode = <0>; /* MCASP_IIS_MODE */
36+
tdm-slots = <2>;
37+
num-serializer = <16>;
38+
serial-dir = <
39+
0 0 0 0 /* 0: INACTIVE, 1: TX, 2: RX */
40+
0 0 0 0
41+
0 0 0 1
42+
2 0 0 0 >;
43+
tx-num-evt = <1>;
44+
rx-num-evt = <1>;
45+
};
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
* Texas Instruments OMAP4+ and twl6040 based audio setups
2+
3+
Required properties:
4+
- compatible: "ti,abe-twl6040"
5+
- ti,model: Name of the sound card ( for example "SDP4430")
6+
- ti,mclk-freq: MCLK frequency for HPPLL operation
7+
- ti,mcpdm: phandle for the McPDM node
8+
- ti,twl6040: phandle for the twl6040 core node
9+
- ti,audio-routing: List of connections between audio components.
10+
Each entry is a pair of strings, the first being the connection's sink,
11+
the second being the connection's source.
12+
13+
Optional properties:
14+
- ti,dmic: phandle for the OMAP dmic node if the machine have it connected
15+
- ti,jack_detection: Need to be set to <1> if the board capable to detect jack
16+
insertion, removal.
17+
18+
Available audio endpoints for the audio-routing table:
19+
20+
Board connectors:
21+
* Headset Stereophone
22+
* Earphone Spk
23+
* Ext Spk
24+
* Line Out
25+
* Vibrator
26+
* Headset Mic
27+
* Main Handset Mic
28+
* Sub Handset Mic
29+
* Line In
30+
* Digital Mic
31+
32+
twl6040 pins:
33+
* HSOL
34+
* HSOR
35+
* EP
36+
* HFL
37+
* HFR
38+
* AUXL
39+
* AUXR
40+
* VIBRAL
41+
* VIBRAR
42+
* HSMIC
43+
* MAINMIC
44+
* SUBMIC
45+
* AFML
46+
* AFMR
47+
48+
* Headset Mic Bias
49+
* Main Mic Bias
50+
* Digital Mic1 Bias
51+
* Digital Mic2 Bias
52+
53+
Digital mic pins:
54+
* DMic
55+
56+
Example:
57+
58+
sound {
59+
compatible = "ti,abe-twl6040";
60+
ti,model = "SDP4430";
61+
62+
ti,jack-detection = <1>;
63+
ti,mclk-freq = <38400000>;
64+
65+
ti,mcpdm = <&mcpdm>;
66+
ti,dmic = <&dmic>;
67+
68+
ti,twl6040 = <&twl6040>;
69+
70+
/* Audio routing */
71+
ti,audio-routing =
72+
"Headset Stereophone", "HSOL",
73+
"Headset Stereophone", "HSOR",
74+
"Earphone Spk", "EP",
75+
"Ext Spk", "HFL",
76+
"Ext Spk", "HFR",
77+
"Line Out", "AUXL",
78+
"Line Out", "AUXR",
79+
"Vibrator", "VIBRAL",
80+
"Vibrator", "VIBRAR",
81+
"HSMIC", "Headset Mic",
82+
"Headset Mic", "Headset Mic Bias",
83+
"MAINMIC", "Main Handset Mic",
84+
"Main Handset Mic", "Main Mic Bias",
85+
"SUBMIC", "Sub Handset Mic",
86+
"Sub Handset Mic", "Main Mic Bias",
87+
"AFML", "Line In",
88+
"AFMR", "Line In",
89+
"DMic", "Digital Mic",
90+
"Digital Mic", "Digital Mic1 Bias";
91+
};
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
* Texas Instruments OMAP2+ McBSP module
2+
3+
Required properties:
4+
- compatible: "ti,omap2420-mcbsp" for McBSP on OMAP2420
5+
"ti,omap2430-mcbsp" for McBSP on OMAP2430
6+
"ti,omap3-mcbsp" for McBSP on OMAP3
7+
"ti,omap4-mcbsp" for McBSP on OMAP4 and newer SoC
8+
- reg: Register location and size, for OMAP4+ as an array:
9+
<MPU access base address, size>,
10+
<L3 interconnect address, size>;
11+
- reg-names: Array of strings associated with the address space
12+
- interrupts: Interrupt numbers for the McBSP port, as an array in case the
13+
McBSP IP have more interrupt lines:
14+
<OCP compliant irq>,
15+
<TX irq>,
16+
<RX irq>;
17+
- interrupt-names: Array of strings associated with the interrupt numbers
18+
- interrupt-parent: The parent interrupt controller
19+
- ti,buffer-size: Size of the FIFO on the port (OMAP2430 and newer SoC)
20+
- ti,hwmods: Name of the hwmod associated to the McBSP port
21+
22+
Example:
23+
24+
mcbsp2: mcbsp@49022000 {
25+
compatible = "ti,omap3-mcbsp";
26+
reg = <0x49022000 0xff>,
27+
<0x49028000 0xff>;
28+
reg-names = "mpu", "sidetone";
29+
interrupts = <0 17 0x4>, /* OCP compliant interrupt */
30+
<0 62 0x4>, /* TX interrupt */
31+
<0 63 0x4>, /* RX interrupt */
32+
<0 4 0x4>; /* Sidetone */
33+
interrupt-names = "common", "tx", "rx", "sidetone";
34+
interrupt-parent = <&intc>;
35+
ti,buffer-size = <1280>;
36+
ti,hwmods = "mcbsp2";
37+
};
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
* Texas Instruments SoC with twl4030 based audio setups
2+
3+
Required properties:
4+
- compatible: "ti,omap-twl4030"
5+
- ti,model: Name of the sound card (for example "omap3beagle")
6+
- ti,mcbsp: phandle for the McBSP node
7+
- ti,codec: phandle for the twl4030 audio node
8+
9+
Example:
10+
11+
sound {
12+
compatible = "ti,omap-twl4030";
13+
ti,model = "omap3beagle";
14+
15+
ti,mcbsp = <&mcbsp2>;
16+
ti,codec = <&twl_audio>;
17+
};
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
Texas Instruments - tlv320aic3x Codec module
2+
3+
The tlv320aic3x serial control bus communicates through I2C protocols
4+
5+
Required properties:
6+
- compatible - "string" - "ti,tlv320aic3x"
7+
- reg - <int> - I2C slave address
8+
9+
10+
Optional properties:
11+
12+
- gpio-reset - gpio pin number used for codec reset
13+
- ai3x-gpio-func - <array of 2 int> - AIC3X_GPIO1 & AIC3X_GPIO2 Functionality
14+
15+
Example:
16+
17+
tlv320aic3x: tlv320aic3x@1b {
18+
compatible = "ti,tlv320aic3x";
19+
reg = <0x1b>;
20+
};

Documentation/sound/alsa/ALSA-Configuration.txt

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -860,8 +860,14 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
860860

861861
[Multiple options for each card instance]
862862
model - force the model name
863-
position_fix - Fix DMA pointer (0 = auto, 1 = use LPIB, 2 = POSBUF,
864-
3 = VIACOMBO, 4 = COMBO)
863+
position_fix - Fix DMA pointer
864+
-1 = system default: choose appropriate one per controller
865+
hardware
866+
0 = auto: falls back to LPIB when POSBUF doesn't work
867+
1 = use LPIB
868+
2 = POSBUF: use position buffer
869+
3 = VIACOMBO: VIA-specific workaround for capture
870+
4 = COMBO: use LPIB for playback, auto for capture stream
865871
probe_mask - Bitmask to probe codecs (default = -1, meaning all slots)
866872
When the bit 8 (0x100) is set, the lower 8 bits are used
867873
as the "fixed" codec slots; i.e. the driver probes the

0 commit comments

Comments
 (0)