Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 524d7692 authored by Mark Brown's avatar Mark Brown
Browse files

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: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
parent 1435b940
Loading
Loading
Loading
Loading
+6 −14
Original line number Diff line number Diff line
@@ -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,
				 enum snd_soc_bias_level level)
{
	u16 reg, reg2;
	u16 reg;

	switch (level) {
	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_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
			 * enable Class W support.
			 */
			dev_dbg(codec->dev, "Enabling Class W\n");
			snd_soc_write(codec, WM8903_CLASS_W_0, reg |
				     WM8903_CP_DYN_FREQ | WM8903_CP_DYN_V);
			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);
		}

		reg = snd_soc_read(codec, WM8903_VMID_CONTROL_0);
+0 −19
Original line number Diff line number Diff line
@@ -94,8 +94,6 @@ extern int wm8903_mic_detect(struct snd_soc_codec *codec,
#define WM8903_INTERRUPT_STATUS_1_MASK          0x7A
#define WM8903_INTERRUPT_POLARITY_1             0x7B
#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_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 */

/*
 * 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