diff options
author | Mark Brown <broonie@linaro.org> | 2013-11-04 01:04:22 -0500 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2013-11-04 01:04:22 -0500 |
commit | f027ac7a72f6ad0bc1a138a2464a6b7af4436fb2 (patch) | |
tree | 42ef4d51581e6f181f12b51b493ffb54e0e46a71 | |
parent | 1c2fa548bf731ba1a076decbf1c494221a906baf (diff) | |
parent | ae2ff9f6c529ba28adea906037a93fd14e46e052 (diff) |
Merge remote-tracking branch 'asoc/topic/wm8962' into asoc-next
-rw-r--r-- | sound/soc/codecs/wm8962.c | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/sound/soc/codecs/wm8962.c b/sound/soc/codecs/wm8962.c index 2bf9ee7c5407..3a2f96c5442c 100644 --- a/sound/soc/codecs/wm8962.c +++ b/sound/soc/codecs/wm8962.c | |||
@@ -1758,6 +1758,9 @@ SOC_DOUBLE_R_TLV("EQ4 Volume", WM8962_EQ3, WM8962_EQ23, | |||
1758 | WM8962_EQL_B4_GAIN_SHIFT, 31, 0, eq_tlv), | 1758 | WM8962_EQL_B4_GAIN_SHIFT, 31, 0, eq_tlv), |
1759 | SOC_DOUBLE_R_TLV("EQ5 Volume", WM8962_EQ3, WM8962_EQ23, | 1759 | SOC_DOUBLE_R_TLV("EQ5 Volume", WM8962_EQ3, WM8962_EQ23, |
1760 | WM8962_EQL_B5_GAIN_SHIFT, 31, 0, eq_tlv), | 1760 | WM8962_EQL_B5_GAIN_SHIFT, 31, 0, eq_tlv), |
1761 | SND_SOC_BYTES("EQL Coefficients", WM8962_EQ4, 18), | ||
1762 | SND_SOC_BYTES("EQR Coefficients", WM8962_EQ24, 18), | ||
1763 | |||
1761 | 1764 | ||
1762 | SOC_SINGLE("3D Switch", WM8962_THREED1, 0, 1, 0), | 1765 | SOC_SINGLE("3D Switch", WM8962_THREED1, 0, 1, 0), |
1763 | SND_SOC_BYTES_MASK("3D Coefficients", WM8962_THREED1, 4, WM8962_THREED_ENA), | 1766 | SND_SOC_BYTES_MASK("3D Coefficients", WM8962_THREED1, 4, WM8962_THREED_ENA), |
@@ -1775,6 +1778,11 @@ WM8962_DSP2_ENABLE("HPF2 Switch", WM8962_HPF2_ENA_SHIFT), | |||
1775 | SND_SOC_BYTES("HPF Coefficients", WM8962_LHPF2, 1), | 1778 | SND_SOC_BYTES("HPF Coefficients", WM8962_LHPF2, 1), |
1776 | WM8962_DSP2_ENABLE("HD Bass Switch", WM8962_HDBASS_ENA_SHIFT), | 1779 | WM8962_DSP2_ENABLE("HD Bass Switch", WM8962_HDBASS_ENA_SHIFT), |
1777 | SND_SOC_BYTES("HD Bass Coefficients", WM8962_HDBASS_AI_1, 30), | 1780 | SND_SOC_BYTES("HD Bass Coefficients", WM8962_HDBASS_AI_1, 30), |
1781 | |||
1782 | SOC_DOUBLE("ALC Switch", WM8962_ALC1, WM8962_ALCL_ENA_SHIFT, | ||
1783 | WM8962_ALCR_ENA_SHIFT, 1, 0), | ||
1784 | SND_SOC_BYTES_MASK("ALC Coefficients", WM8962_ALC1, 4, | ||
1785 | WM8962_ALCL_ENA_MASK | WM8962_ALCR_ENA_MASK), | ||
1778 | }; | 1786 | }; |
1779 | 1787 | ||
1780 | static const struct snd_kcontrol_new wm8962_spk_mono_controls[] = { | 1788 | static const struct snd_kcontrol_new wm8962_spk_mono_controls[] = { |
@@ -3616,28 +3624,28 @@ static int wm8962_i2c_probe(struct i2c_client *i2c, | |||
3616 | 0); | 3624 | 0); |
3617 | 3625 | ||
3618 | /* Apply static configuration for GPIOs */ | 3626 | /* Apply static configuration for GPIOs */ |
3619 | for (i = 0; i < ARRAY_SIZE(pdata->gpio_init); i++) | 3627 | for (i = 0; i < ARRAY_SIZE(wm8962->pdata.gpio_init); i++) |
3620 | if (pdata->gpio_init[i]) { | 3628 | if (wm8962->pdata.gpio_init[i]) { |
3621 | wm8962_set_gpio_mode(wm8962, i + 1); | 3629 | wm8962_set_gpio_mode(wm8962, i + 1); |
3622 | regmap_write(wm8962->regmap, 0x200 + i, | 3630 | regmap_write(wm8962->regmap, 0x200 + i, |
3623 | pdata->gpio_init[i] & 0xffff); | 3631 | wm8962->pdata.gpio_init[i] & 0xffff); |
3624 | } | 3632 | } |
3625 | 3633 | ||
3626 | 3634 | ||
3627 | /* Put the speakers into mono mode? */ | 3635 | /* Put the speakers into mono mode? */ |
3628 | if (pdata->spk_mono) | 3636 | if (wm8962->pdata.spk_mono) |
3629 | regmap_update_bits(wm8962->regmap, WM8962_CLASS_D_CONTROL_2, | 3637 | regmap_update_bits(wm8962->regmap, WM8962_CLASS_D_CONTROL_2, |
3630 | WM8962_SPK_MONO_MASK, WM8962_SPK_MONO); | 3638 | WM8962_SPK_MONO_MASK, WM8962_SPK_MONO); |
3631 | 3639 | ||
3632 | /* Micbias setup, detection enable and detection | 3640 | /* Micbias setup, detection enable and detection |
3633 | * threasholds. */ | 3641 | * threasholds. */ |
3634 | if (pdata->mic_cfg) | 3642 | if (wm8962->pdata.mic_cfg) |
3635 | regmap_update_bits(wm8962->regmap, WM8962_ADDITIONAL_CONTROL_4, | 3643 | regmap_update_bits(wm8962->regmap, WM8962_ADDITIONAL_CONTROL_4, |
3636 | WM8962_MICDET_ENA | | 3644 | WM8962_MICDET_ENA | |
3637 | WM8962_MICDET_THR_MASK | | 3645 | WM8962_MICDET_THR_MASK | |
3638 | WM8962_MICSHORT_THR_MASK | | 3646 | WM8962_MICSHORT_THR_MASK | |
3639 | WM8962_MICBIAS_LVL, | 3647 | WM8962_MICBIAS_LVL, |
3640 | pdata->mic_cfg); | 3648 | wm8962->pdata.mic_cfg); |
3641 | 3649 | ||
3642 | /* Latch volume update bits */ | 3650 | /* Latch volume update bits */ |
3643 | regmap_update_bits(wm8962->regmap, WM8962_LEFT_INPUT_VOLUME, | 3651 | regmap_update_bits(wm8962->regmap, WM8962_LEFT_INPUT_VOLUME, |
@@ -3682,7 +3690,7 @@ static int wm8962_i2c_probe(struct i2c_client *i2c, | |||
3682 | } | 3690 | } |
3683 | 3691 | ||
3684 | if (wm8962->irq) { | 3692 | if (wm8962->irq) { |
3685 | if (pdata->irq_active_low) { | 3693 | if (wm8962->pdata.irq_active_low) { |
3686 | trigger = IRQF_TRIGGER_LOW; | 3694 | trigger = IRQF_TRIGGER_LOW; |
3687 | irq_pol = WM8962_IRQ_POL; | 3695 | irq_pol = WM8962_IRQ_POL; |
3688 | } else { | 3696 | } else { |