[PATCH v2 0/3] ASoC: add support for audio on iPaq hx4700

From: Dmitry Artamonow
Date: Mon May 16 2011 - 17:03:33 EST

Ok, here's patches adding audio support for good ole iPAQ hx4700: ak4641
codec, hx4700 machine sound driver and some glue platform code.
It took quite longer to make v2 than I expected, but it's finally here.
Sorry for such late submission in this release cycle, but if it's not ready
yet, no big deal - it certainly can wait for 2.6.41.

v1 of these patches can be found here:

Current patchset is based on next-20110513 (it also can be applied to
2.6.39-rc7 after slight adjustment of Kconfig/Makefile chunks)

Latest version of these patches were only slightly tested on top of 2.6.39-rc7
(-next is tested compile-only, as it doesn't boot due to some unrelated bugs),
but all basic operations like playback, recording, EQ, Speaker, Mic Sidetone
seem to work.

Changes from v1:

AK4641 codec:

* '-codec' is removed from 'ak4641-codec' platform device name
* SNDRV_PCM_RATE_8000_48000 macro now used instead of explicit freqs listing
* Unneeded ifdef's on CONFIG_I2C are removed
* Missing "Volume" added to names of volume controls, ditto for switches
* TLV information is added to various volume controls
* Enum control doesn't use indexed array of strings anymore
* Enum controls like 'Mic Boost +20dB/0dB' are turned into volume controls
* Deemphasis control is converted from enum to switch with automatic
detection of optimal deemphasis value depending on current playback frequency
* Check for wrong fs value is added to hw_params for HiFi DAI
(that actually uncovered bug in hx4700 machine driver - it never set
sysclk for the codec. Sound worked properly this way due to strange
coincidence: both default fs in codec driver and divider in PXA i2s hardware
were equal 256)
* empty hw_params() function for Voice DAI is removed. Looks like that
samplerate of Voice ADC/DAC can't be controlled by software at all, only
format of samples. This Voice DAC/ADC are designed to be connected to
Bluetooth chip, so I suspect codec gets sampling frequency directly
from it.
* Names of mic sidetone controls are adjusted
* 'Left/Right Out Enable' DAPM controls are turned into ordinary ones
* Mute code readability is slightly improved (based on Axel Lin's patch
for ak4535 - commit cca67a3668)
* My copyright is added to file, so people won't blame Harald for all the
bugs I added during multicomponent conversion and other cleanup :)
* Power/reset GPIOs are now handled in set_bias_level(), so codec is
powered only when needed.

HX4700 sound:

* Setting of codec's sysclk is added to hw_params()

HX4700 platform:

* No changes

Dmitry Artamonow (2):
ASoC: Asahi Kasei AK4641 codec driver
ASoC: add iPAQ hx4700 machine driver

Philipp Zabel (1):
pxa/hx4700: add I2C board info for AK4641 codec

arch/arm/mach-pxa/hx4700.c | 18 +
arch/arm/mach-pxa/include/mach/hx4700.h | 4 +-
include/sound/ak4641.h | 26 ++
sound/soc/codecs/Kconfig | 4 +
sound/soc/codecs/Makefile | 2 +
sound/soc/codecs/ak4641.c | 687 +++++++++++++++++++++++++++++++
sound/soc/codecs/ak4641.h | 47 +++
sound/soc/pxa/Kconfig | 9 +
sound/soc/pxa/Makefile | 2 +
sound/soc/pxa/hx4700.c | 260 ++++++++++++
10 files changed, 1057 insertions(+), 2 deletions(-)
create mode 100644 include/sound/ak4641.h
create mode 100644 sound/soc/codecs/ak4641.c
create mode 100644 sound/soc/codecs/ak4641.h
create mode 100644 sound/soc/pxa/hx4700.c


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/