[PATCH 0/4 v2] ASoC/MFD/OMAP: TWL4030: APLL_CTL handling change
From: Peter Ujfalusi
Date: Wed Nov 04 2009 - 02:59:03 EST
Changes from the first series:
- Typos fixed and warning/error messages for APLL frequency mismatch
- twl4030-codec MFD driver audio_mclk validity check simplified
- Commit message for the twl4030-codec MFD driver has been changed also
- Patch: "ASoC: TWL4030: Make sure, that the codec is powered on startup" has
been removed from the series, since it is already taken.
Intro text from the first series:
The following series changes the way how the APLL_CTL register is handled by
the twl4030 codec related drivers.
Moving the configuration of APLL_CTL register from child drivers (specifically
from soc codec driver) to the twl4030-codec MFD driver.
Because the audio_mclk is static, board specific and can not be changed in
runtime, the codec MFD is the right place to configure it early enough, so
child can use the hardware correctly.
Before this patch for example the APLL_INFREQ was configured first, when the
user played or recorded audio via the twl4030.
The digital bypass needs correct APLL_INFREQ to be configured in order to work
properly. If the digital bypass enabled before any audio activity, in some
cases the bypassed audio was not correct.
The series also addresses the issue, that after boot-up, neither of the
loopbacks was working, because the codec was actually off.
Setting the codec->bias_level to _OFF, before setting the codec bias level to
STANDBY fixes this issue.
This series is on top of Takashi's sound-2.6 topic/asoc branch, which has the
twl403-codec MFD and related patches for 2.6.33.
It would be really nice, if this series would make it also to the same branch,
since this fixes some real anomalies brought in by the cleanup of the twl4030
codec related drivers.
These problems were hidden before because of the inconsistent handling of bits
and states in the codec driver in the past.
Peter Ujfalusi (4):
MFD: TWL4030: Add audio_mclk to the codec platform data
OMAP: Configure audio_mclk for twl4030-codec MFD
MFD: twl4030-codec: APLL_INFREQ handling in the MFD driver
ASoC: TWL4030: Do not modify the APLL_CTL register
arch/arm/mach-omap2/board-3430sdp.c | 1 +
arch/arm/mach-omap2/board-omap3beagle.c | 1 +
arch/arm/mach-omap2/board-omap3evm.c | 1 +
arch/arm/mach-omap2/board-omap3pandora.c | 1 +
arch/arm/mach-omap2/board-overo.c | 1 +
arch/arm/mach-omap2/board-zoom2.c | 1 +
drivers/mfd/twl4030-codec.c | 35 ++++++++++++++
include/linux/i2c/twl4030.h | 1 +
include/linux/mfd/twl4030-codec.h | 1 +
sound/soc/codecs/twl4030.c | 76 ++++++++++++------------------
10 files changed, 74 insertions(+), 45 deletions(-)
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/