ASoC: Remove incorrect WM8903 erratum workaround

Due to a typographical error in the erratum workaround it was never
functional so just remove it.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
This commit is contained in:
Mark Brown 2010-12-23 11:17:24 +00:00
parent 1435b9402f
commit 524d7692bc
2 changed files with 6 additions and 33 deletions

View File

@ -1014,7 +1014,7 @@ static int wm8903_add_widgets(struct snd_soc_codec *codec)
static int wm8903_set_bias_level(struct snd_soc_codec *codec, static int wm8903_set_bias_level(struct snd_soc_codec *codec,
enum snd_soc_bias_level level) enum snd_soc_bias_level level)
{ {
u16 reg, reg2; u16 reg;
switch (level) { switch (level) {
case SND_SOC_BIAS_ON: case SND_SOC_BIAS_ON:
@ -1038,23 +1038,15 @@ static int wm8903_set_bias_level(struct snd_soc_codec *codec,
wm8903_run_sequence(codec, 0); wm8903_run_sequence(codec, 0);
wm8903_sync_reg_cache(codec, codec->reg_cache); wm8903_sync_reg_cache(codec, codec->reg_cache);
/* Enable low impedence charge pump output */
reg = snd_soc_read(codec,
WM8903_CONTROL_INTERFACE_TEST_1);
snd_soc_write(codec, WM8903_CONTROL_INTERFACE_TEST_1,
reg | WM8903_TEST_KEY);
reg2 = snd_soc_read(codec, WM8903_CHARGE_PUMP_TEST_1);
snd_soc_write(codec, WM8903_CHARGE_PUMP_TEST_1,
reg2 | WM8903_CP_SW_KELVIN_MODE_MASK);
snd_soc_write(codec, WM8903_CONTROL_INTERFACE_TEST_1,
reg);
/* By default no bypass paths are enabled so /* By default no bypass paths are enabled so
* enable Class W support. * enable Class W support.
*/ */
dev_dbg(codec->dev, "Enabling Class W\n"); dev_dbg(codec->dev, "Enabling Class W\n");
snd_soc_write(codec, WM8903_CLASS_W_0, reg | snd_soc_update_bits(codec, WM8903_CLASS_W_0,
WM8903_CP_DYN_FREQ | WM8903_CP_DYN_V); WM8903_CP_DYN_FREQ |
WM8903_CP_DYN_V,
WM8903_CP_DYN_FREQ |
WM8903_CP_DYN_V);
} }
reg = snd_soc_read(codec, WM8903_VMID_CONTROL_0); reg = snd_soc_read(codec, WM8903_VMID_CONTROL_0);

View File

@ -94,8 +94,6 @@ extern int wm8903_mic_detect(struct snd_soc_codec *codec,
#define WM8903_INTERRUPT_STATUS_1_MASK 0x7A #define WM8903_INTERRUPT_STATUS_1_MASK 0x7A
#define WM8903_INTERRUPT_POLARITY_1 0x7B #define WM8903_INTERRUPT_POLARITY_1 0x7B
#define WM8903_INTERRUPT_CONTROL 0x7E #define WM8903_INTERRUPT_CONTROL 0x7E
#define WM8903_CONTROL_INTERFACE_TEST_1 0x81
#define WM8903_CHARGE_PUMP_TEST_1 0x95
#define WM8903_CLOCK_RATE_TEST_4 0xA4 #define WM8903_CLOCK_RATE_TEST_4 0xA4
#define WM8903_ANALOGUE_OUTPUT_BIAS_0 0xAC #define WM8903_ANALOGUE_OUTPUT_BIAS_0 0xAC
@ -1202,23 +1200,6 @@ extern int wm8903_mic_detect(struct snd_soc_codec *codec,
#define WM8903_IRQ_POL_WIDTH 1 /* IRQ_POL */ #define WM8903_IRQ_POL_WIDTH 1 /* IRQ_POL */
/* /*
* R129 (0x81) - Control Interface Test 1
*/
#define WM8903_USER_KEY 0x0002 /* USER_KEY */
#define WM8903_USER_KEY_MASK 0x0002 /* USER_KEY */
#define WM8903_USER_KEY_SHIFT 1 /* USER_KEY */
#define WM8903_USER_KEY_WIDTH 1 /* USER_KEY */
#define WM8903_TEST_KEY 0x0001 /* TEST_KEY */
#define WM8903_TEST_KEY_MASK 0x0001 /* TEST_KEY */
#define WM8903_TEST_KEY_SHIFT 0 /* TEST_KEY */
#define WM8903_TEST_KEY_WIDTH 1 /* TEST_KEY */
/*
* R149 (0x95) - Charge Pump Test 1
*/
#define WM8903_CP_SW_KELVIN_MODE_MASK 0x0006 /* CP_SW_KELVIN_MODE - [2:1] */
#define WM8903_CP_SW_KELVIN_MODE_SHIFT 1 /* CP_SW_KELVIN_MODE - [2:1] */
#define WM8903_CP_SW_KELVIN_MODE_WIDTH 2 /* CP_SW_KELVIN_MODE - [2:1] */
/* /*
* R164 (0xA4) - Clock Rate Test 4 * R164 (0xA4) - Clock Rate Test 4