Commit Graph

46959 Commits

Author SHA1 Message Date
Clemens Ladisch de66d53e46 [ALSA] sb16: add request_firmware()
Load the CSP programs using request_firmware(), if possible, instead of
using the built-in firmware blobs.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:01:14 +01:00
Hubert Kahlert 219e281f46 [ALSA] Fix mask to stop AT91 SSC clock on shutdown
This patch by Frank Mandarino and Hubert Kahlert fixes a bug in the AT91
SSC (i2s) shutdown code that would erroneously disable other AT91
peripheral clocks.

Signed-off-by: Hubert Kahlert <hkahlert@hk-datentechnik.de>
Signed-off-by: Frank Mandarino <fmandarino@endrelia.com>
Signed-off-by: Liam Girdwood <lg@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:01:13 +01:00
Matt Porter 8b65727bf0 [ALSA] hda: add dig mic support for sigmatel codecs
Adds support for digital microphone pin widgets on SigmaTel codecs.
Enables support only on the 9205 codecs for now.

Signed-off-by: Matt Porter <mporter@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:01:12 +01:00
Takashi Iwai 06bf2f495a [ALSA] hda-codec - Fix model for Lenovo A60 desktop
Add a proper model entry (3stack) for Lenovo A60 desktop with
AD1986a codec to fix noise problems.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:01:11 +01:00
Takashi Iwai f1a63a38d2 [ALSA] ac97 - Suppress power-saving mode on non-supporting drivers
Don't enable power-saving mode on drivers that don't support
it.  The supporting drivers set AC97_SCAP_POWER_SAVE to scaps
at creation of ac97 instance.
Currently enable on the following drivers: intel8x0, intel8x0m,
atiixp, atiixp-modem, via82xx and via82xx-modem.
Also, a bit clean up of power-saving stuff:
- Don't create an own workq
- Remove superfluous ifdefs

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:01:09 +01:00
Mariusz Domanski 7cdbff945e [ALSA] hda-codec - Add asus model to ALC861 codec
This patch adds support for Asus laptops (for example: Asus
A6Rp-AP002).

Signed-off-by: Mariusz Domanski <mariook@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:01:08 +01:00
Liam Girdwood a71a468a50 [ALSA] ASoC: Add support for BCLK based on (Rate * Chn * Word Size)
This patch adds support for the DAI BCLK to be generated by multiplying
Rate * Channels * Word Size (RCW).
This now gives 3 options for BCLK clocking and synchronisation :-
 1. BCLK = Rate * x
 2. BCLK = MCLK / x
 3. BCLK = Rate * Chn * Word Size.  (New)
Changes:-
 o Add support for RCW generation of BCLK
 o Update Documentation to include RCW.
 o Update DAI documentation for label = value DAI modes.
 o Add RCW support to wm8731, wm8750 and pxa2xx-i2s drivers.

Signed-off-by: Liam Girdwood <lg@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:01:07 +01:00
Frank Mandarino 543a0fbe18 [ALSA] ASoC AT91 DAI modes update
This patch by Frank Mandarino updates the AT91RM9200 I2S DAI audio modes
as follows:-
 o fixes a typo in the 16k mode
 o removes experimental 24k mode
 o adds a 32k mode.

Signed-off-by: Frank Mandarino <fmandarino@endrelia.com>
Signed-off-by: Liam Girdwood <lg@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:01:05 +01:00
Remy Bruno d7923b2a81 [ALSA] hdsp - Add DDS register support for RME9632 rev >= 152
Add DDS register support for RME9632 rev >= 152.
This register sets the sample rate for these cards and is required
in addition to the standard control register. It corresponds to a
quartz divisor.

Signed-off-by: Remy Bruno <remy.bruno@trinnov.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:01:04 +01:00
Kailang Yang ccc656ce5f [ALSA] hda-codec - Add new modesl for Realtek codecs
Changes from Realtek driver:
- New models hippo and hippo_1 for ALC262
- New models tagra-dig and tagra-2ch-dig for ALC883
- New id for ALC660 codec chip

Signed-off-by: Kailang Yang <kailang@realtek.com.tw>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:01:03 +01:00
Tobin Davis a53d1aece3 [ALSA] hda-codec - Add toshiba model to ALC861 codec
This patch adds support for Toshiba laptops.  Code is from
RealTek's alsa-driver-1.0.12-4.05b tree.

Signed-off-by: Tobin Davis <tdavis@dsl-only.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:01:01 +01:00
Liam Girdwood 12e74f7d43 [ALSA] ASoC - Fix build warnings in soc-core.c
This patch fixes some build warnings in soc-core.c
Changes:-
 o Check the return value of soc_ac97_dev_register()
 o Check return value of calls to device_create_file()

Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:00:59 +01:00
Jerome Demange cbcc2c4c07 [ALSA] ac97 - enables sound output through speakers on MSI S250 laptop
Signed-off-by: Jerome Demange <jdemange@cict.fr>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:00:58 +01:00
Remy Bruno 3cee5a60ce [ALSA] hdspm: Add support for AES32
Add support for AES32. Difference between MADI and AES32 is done
through revision. Master support is not finished for now (RME so-called DDS
feature is not supported yet)

Signed-off-by: Remy Bruno <remy.bruno@trinnov.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:00:57 +01:00
Takashi Iwai b3b9c1cbb3 [ALSA] Remove trailing whitespaces from soc/* files
Remove trailing whitespaces from soc/* files added by the
conversion to C99-style initialization.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:00:56 +01:00
Liam Girdwood b5c5fd24b9 [ALSA] ASoC debug output build breakage
This patch fixes a build failure when ASoC debug is enabled.

Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:00:55 +01:00
Takashi Iwai 35f60839b6 [ALSA] hda-codec - Add missing comma
Added a missing comma in the medion patch.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:00:54 +01:00
Liam Girdwood 527541f9a8 [ALSA] ASoC DAI capabilities labelling
This patch suggested by Takashi changes the DAI capabilities definitions
in pxa-i2s.c, at91rm9200-i2s.c, wm8731.c, wm8750.c and wm9712.c to use a
label = value style.

Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:00:52 +01:00
Tobin Davis c07584c832 [ALSA] hda-codec - Add support for Medion laptops
This patch adds audio support for Medion's line of laptops,
based on code shipped with the laptops.  Microphone support is
still being explored.

Signed-off-by: Tobin Davis <tdavis@dsl-only.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:00:51 +01:00
Liam Girdwood 734c2d4bb7 [ALSA] ASoC pxa2xx build support
This patch builds ASoC pxa2xx support for Corgi, Spitz, Tosa and Poodle
Zaurus machines.
From: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:00:50 +01:00
Liam Girdwood 6e24dd9310 [ALSA] ASoC pxa2xx Poodle machine support
This patch adds Alsa audio support to the Sharp Zaurus SL-C5600 (Poodle)
machine.
From: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:00:49 +01:00
Liam Girdwood 1b49cb9870 [ALSA] ASoC pxa2xx Tosa machine support
This patch adds Alsa audio support to the Sharp Zaurus SL-C6000 (Tosa)
machine.
From: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Dirk Opfer <Dirk@Opfer-Online.de>
Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:00:48 +01:00
Liam Girdwood 7fb290d03a [ALSA] ASoC pxa2xx Spitz machine support
This patch adds Alsa audio support to the Sharp Zaurus SL-C1000/SL-C3x00
(Akita/Spitz) machines.
From: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:00:47 +01:00
Liam Girdwood a1eb4b3caf [ALSA] ASoC pxa2xx Corgi machine support
This patch adds Alsa audio support to the Sharp Zaurus SL-C7x0/C860
(Corgi) machines.
From: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Graeme Gregory <dp@xora.org.uk>
Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:00:46 +01:00
Liam Girdwood 75b4102766 [ALSA] ASoC pxa2xx AC97 support
This patch adds pxa2xx AC97 ASoC audio support. It's based on
sound/arm/pxa-ac97 by Nicolas Pitre with the following differences.
 o Modified driver structure to use ASoC core PCM callbacks.
 o Removed AC97 configuration function (all handled in ASoC core)
 o Added and exported ASoC DAI configuration table.
 o Added DMA support for AUX DAC and Mic ADC
 o Separated out AC97 reset into cold and warm reset functions.
From: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:00:45 +01:00
Liam Girdwood 3e7cc3d3d1 [ALSA] ASoC pxa2xx I2S support
This patch adds pxa2xx I2S ASoC audio support. Features:-
 o Supports playback/capture
 o 16 bit PCM
 o 8k - 96k sample rates
 o Supports master and slave mode.
From: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:00:44 +01:00
Liam Girdwood f11a96d5cd [ALSA] ASoC pxa2xx DMA support
This patch adds pxa2xx ASoC DMA audio support. It's based on
sound/arm/pxa-pcm.c by Nicolas Pitre with the following differences.
o Modified driver structure to use ASoC core PCM callbacks and data
structures.
o Registration with ASoC core.
From: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:00:43 +01:00
Clemens Ladisch 102fa9060e [ALSA] ymfpci: add request_firmware()
Load the DSP and controller microcode using request_firmware(), if
possible, instead of using the built-in firmware.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:00:42 +01:00
James Courtier-Dutton e40a0b2e9d [ALSA] snd-emu10k1: emu1010: replace long udelay with msleep.
Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:00:41 +01:00
James Courtier-Dutton b0dbdaea55 [ALSA] snd-emu10k1: Add emu1010 internal clock rate control for 44100 or 48000.
Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:00:40 +01:00
Takashi Iwai 0f71e8b985 [ALSA] Fix irq handler in soc/at91/at91rm9200-i2s.c
Fixed the irq handler in soc/at91-at91rm9200-i2s.c to follow the
new style without pt_regs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:00:39 +01:00
James Courtier-Dutton 9148cc5027 [ALSA] snd_emu10k1: Added support for 14dB Attenuation PADS on DACs and ADCs.
Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:00:38 +01:00
Remy Bruno 6add0f4242 [ALSA] hdsp: support for mixer matrix of RME9632 rev 152
Added the support for mixer matrix of RME9632 rev 152.

Signed-off-by: Remy Bruno <remy.bruno@trinnov.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:00:37 +01:00
Clemens Ladisch 9bf5f8aa22 [ALSA] emu10k1: select FW_LOADER
Let the emu10k1 driver select FW_LOADER because the new Emu1010 support
requires it.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:00:35 +01:00
Clemens Ladisch 8a89876bc1 [ALSA] pci: select FW_LOADER instead of depending on it
Let the AudioScience, Echoaudio and Riptide drivers select FW_LOADER
instead of depending on it so that they can be configured without having
to enable FW_LOADER manually.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:00:34 +01:00
Clemens Ladisch e117483e3e [ALSA] soc-core: fix multi-line string literal
Properly quote a string that had an embedded newline.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:00:33 +01:00
Frank Mandarino 8dafc0fb49 [ALSA] ASoC AT91RM92000 build
This patch adds a Makefile and Kconfig to build the ASoC AT91RM9200
support.

Signed-off-by: Frank Mandarino <fmandarino@endrelia.com>
Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:00:32 +01:00
Frank Mandarino b41bf38a43 [ALSA] ASoC AT91RM92000 eti_b1 machine support
This patch adds support for the Endrelia ETI_B1 machine using the WM8731
codec and the AT91RM9200 platform.

Signed-off-by: Frank Mandarino <fmandarino@endrelia.com>
Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:00:30 +01:00
Frank Mandarino 0cbbec0984 [ALSA] ASoC AT91RM92000 I2S support
This patch adds I2S support to the Atmel AT91RM9200 CPU.
Features:-
o Playback/Capture supported.
o 16 Bit data size.
o 8k - 48k sample rates.
o ssc0, ssc1 and ssc2 supported as I2S ports.

Signed-off-by: Frank Mandarino <fmandarino@endrelia.com>
Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:00:29 +01:00
Frank Mandarino ff9abf5b0a [ALSA] ASoC AT91RM92000 audio DMA
This patch adds ASoC audio DMA support to the Atmel AT91RM9200 CPU.
Features:-
 o Playback/Capture supported.
 o 16 Bit data size.

Signed-off-by: Frank Mandarino <fmandarino@endrelia.com>
Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:00:26 +01:00
Richard Purdie 7f137ab673 [ALSA] ASoC codecs: build files
This patch adds an ASoC Makefile and Kconfig for the WM8731, WM8750 and
WM9712 codecs.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:00:25 +01:00
Richard Purdie dbc6b6ad76 [ALSA] ASoC codecs: generic AC97 support
This patch allows the std Alsa AC97 codec driver to use any AsoC AC97
controller driver. Currently, only HiFi playback and Capture are
supported atm.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:00:24 +01:00
Richard Purdie 10c5cf3044 [ALSA] ASoC codecs: WM9712 support
This patch adds ASoC support for the WM9712 codec.
Supported features:-
o Capture/Playback/Sidetone/Bypass.
o Aux DAC.
o 8k - 48k sample rates.
o DAPM.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:00:23 +01:00
Richard Purdie abadfc928a [ALSA] ASoC codecs: WM8750 support
This patch adds ASoC support for the WM8750 codec.
Supported features:-
o Capture/Playback/Sidetone/Bypass.
o 16 & 24 bit audio.
o 8k - 96k sample rates.
o DAPM.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:00:22 +01:00
Richard Purdie 40e0aa6466 [ALSA] ASoC codecs: WM8731 support
This patch adds ASoC support for the WM8731 codec.
Supported features:-
 o Capture/Playback/Sidetone/Bypass.
 o 16 & 24 bit audio.
 o 8k - 96k sample rates.
 o DAPM.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:00:21 +01:00
Liam Girdwood eb1a6af39b [ALSA] ASoC: documentation & maintainer
This patch adds documentation describing the ASoC architecture and a
maintainer entry for ASoC.
The documentation includes the following files:-
codec.txt: Codec driver internals.
DAI.txt: Description of Digital Audio Interface standards and how to
configure a DAI within your codec and CPU DAI drivers.
dapm.txt: Dynamic Audio Power Management.
platform.txt: Platform audio DMA and DAI.
machine.txt: Machine driver internals.
pop_clicks.txt: How to minimise audio artifacts.
clocking.txt: ASoC clocking for best power performance.

Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:00:20 +01:00
Liam Girdwood a3288176de [ALSA] ASoC: Build files
This patch adds support for building the ASoC core and the dynamic audio
power management support.

Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:00:19 +01:00
Richard Purdie 2b97eabc09 [ALSA] ASoC: dynamic audio power management (DAPM)
This patch adds Dynamic Audio Power Management (DAPM) to ASoC.
Dynamic Audio Power Management (DAPM) is designed to allow portable and
handheld Linux devices to use the minimum amount of power within the
audio subsystem at all times. It is independent of other kernel PM and
as such, can easily co-exist with the other PM systems.
DAPM is also completely transparent to all user space applications as
all power switching is done within the ASoC core. No code changes or
recompiling are required for user space applications. DAPM makes power
switching decisions based upon any audio stream (capture/playback)
activity and audio mixer settings within the device.
DAPM spans the whole machine. It covers power control within the entire
audio subsystem, this includes internal codec power blocks and machine
level power systems.
There are 4 power domains within DAPM:-
1. Codec domain - VREF, VMID (core codec and audio power)
Usually controlled at codec probe/remove and suspend/resume, although
can be set at stream time if power is not needed for sidetone, etc.
2. Platform/Machine domain - physically connected inputs and outputs
Is platform/machine and user action specific, is configured by the
machine driver and responds to asynchronous events e.g when HP are
inserted
3. Path domain - audio subsystem signal paths
Automatically set when mixer and mux settings are changed by the user.
e.g. alsamixer, amixer.
4. Stream domain - DAC's and ADC's.
Enabled and disabled when stream playback/capture is started and stopped
respectively. e.g. aplay, arecord.
All DAPM power switching decisions are made automatically by consulting
an audio routing map of the whole machine. This map is specific to each
machine and consists of the interconnections between every audio
component (including internal codec components).

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:00:18 +01:00
Frank Mandarino db2a416556 [ALSA] ASoC: core code
This patch is the core of ASoC functionality.
The ASoC core is designed to provide the following features :-
o  Codec independence. Allows reuse of codec drivers on other platforms
and machines.
o Platform driver code reuse. Reuse of platform specific audio DMA and
DAI drivers on different machines.
o Easy I2S/PCM digital audio interface configuration between codec and
SoC. Each SoC interface and codec registers their audio interface
capabilities with the core at initialisation. The capabilities are
subsequently matched and configured at run time for best power and
performance when the application hw params are known.
 o Machine specific controls/operations: Allow machines to add controls
and operations to the audio subsystem. e.g. volume control for speaker
amp.
To achieve all this, ASoC splits an embedded audio system into 3
components :-
1. Codec driver: The codec driver is platform independent and contains
audio controls, audio interface capabilities, codec dapm and codec IO
functions.
2. Platform driver: The platform driver contains the audio dma engine
and audio interface drivers (e.g. I2S, AC97, PCM) for that platform.
3. Machine driver: The machine driver handles any machine specific
controls and audio events. i.e. turning on an amp at start of playback.

Signed-off-by: Frank Mandarino <fmandarino@endrelia.com>
Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Liam Girdwood <liam.Girdwood@wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:00:16 +01:00
Richard Purdie 808db4a451 [ALSA] ASoC: core and dapm headers
This patch adds the ASoC and DAPM headers.
Features:-
 o Defines Digital Audio Interface (DAI) API
 o Defines Codec, Platform and Machine API
 o Defines Dynamic Audio Power Management API

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:00:15 +01:00