Commit f027ac7a authored by Mark Brown's avatar Mark Brown

Merge remote-tracking branch 'asoc/topic/wm8962' into asoc-next

parents 1c2fa548 ae2ff9f6
...@@ -1758,6 +1758,9 @@ SOC_DOUBLE_R_TLV("EQ4 Volume", WM8962_EQ3, WM8962_EQ23, ...@@ -1758,6 +1758,9 @@ SOC_DOUBLE_R_TLV("EQ4 Volume", WM8962_EQ3, WM8962_EQ23,
WM8962_EQL_B4_GAIN_SHIFT, 31, 0, eq_tlv), WM8962_EQL_B4_GAIN_SHIFT, 31, 0, eq_tlv),
SOC_DOUBLE_R_TLV("EQ5 Volume", WM8962_EQ3, WM8962_EQ23, SOC_DOUBLE_R_TLV("EQ5 Volume", WM8962_EQ3, WM8962_EQ23,
WM8962_EQL_B5_GAIN_SHIFT, 31, 0, eq_tlv), WM8962_EQL_B5_GAIN_SHIFT, 31, 0, eq_tlv),
SND_SOC_BYTES("EQL Coefficients", WM8962_EQ4, 18),
SND_SOC_BYTES("EQR Coefficients", WM8962_EQ24, 18),
SOC_SINGLE("3D Switch", WM8962_THREED1, 0, 1, 0), SOC_SINGLE("3D Switch", WM8962_THREED1, 0, 1, 0),
SND_SOC_BYTES_MASK("3D Coefficients", WM8962_THREED1, 4, WM8962_THREED_ENA), 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,6 +1778,11 @@ WM8962_DSP2_ENABLE("HPF2 Switch", WM8962_HPF2_ENA_SHIFT),
SND_SOC_BYTES("HPF Coefficients", WM8962_LHPF2, 1), SND_SOC_BYTES("HPF Coefficients", WM8962_LHPF2, 1),
WM8962_DSP2_ENABLE("HD Bass Switch", WM8962_HDBASS_ENA_SHIFT), WM8962_DSP2_ENABLE("HD Bass Switch", WM8962_HDBASS_ENA_SHIFT),
SND_SOC_BYTES("HD Bass Coefficients", WM8962_HDBASS_AI_1, 30), SND_SOC_BYTES("HD Bass Coefficients", WM8962_HDBASS_AI_1, 30),
SOC_DOUBLE("ALC Switch", WM8962_ALC1, WM8962_ALCL_ENA_SHIFT,
WM8962_ALCR_ENA_SHIFT, 1, 0),
SND_SOC_BYTES_MASK("ALC Coefficients", WM8962_ALC1, 4,
WM8962_ALCL_ENA_MASK | WM8962_ALCR_ENA_MASK),
}; };
static const struct snd_kcontrol_new wm8962_spk_mono_controls[] = { static const struct snd_kcontrol_new wm8962_spk_mono_controls[] = {
...@@ -3616,28 +3624,28 @@ static int wm8962_i2c_probe(struct i2c_client *i2c, ...@@ -3616,28 +3624,28 @@ static int wm8962_i2c_probe(struct i2c_client *i2c,
0); 0);
/* Apply static configuration for GPIOs */ /* Apply static configuration for GPIOs */
for (i = 0; i < ARRAY_SIZE(pdata->gpio_init); i++) for (i = 0; i < ARRAY_SIZE(wm8962->pdata.gpio_init); i++)
if (pdata->gpio_init[i]) { if (wm8962->pdata.gpio_init[i]) {
wm8962_set_gpio_mode(wm8962, i + 1); wm8962_set_gpio_mode(wm8962, i + 1);
regmap_write(wm8962->regmap, 0x200 + i, regmap_write(wm8962->regmap, 0x200 + i,
pdata->gpio_init[i] & 0xffff); wm8962->pdata.gpio_init[i] & 0xffff);
} }
/* Put the speakers into mono mode? */ /* Put the speakers into mono mode? */
if (pdata->spk_mono) if (wm8962->pdata.spk_mono)
regmap_update_bits(wm8962->regmap, WM8962_CLASS_D_CONTROL_2, regmap_update_bits(wm8962->regmap, WM8962_CLASS_D_CONTROL_2,
WM8962_SPK_MONO_MASK, WM8962_SPK_MONO); WM8962_SPK_MONO_MASK, WM8962_SPK_MONO);
/* Micbias setup, detection enable and detection /* Micbias setup, detection enable and detection
* threasholds. */ * threasholds. */
if (pdata->mic_cfg) if (wm8962->pdata.mic_cfg)
regmap_update_bits(wm8962->regmap, WM8962_ADDITIONAL_CONTROL_4, regmap_update_bits(wm8962->regmap, WM8962_ADDITIONAL_CONTROL_4,
WM8962_MICDET_ENA | WM8962_MICDET_ENA |
WM8962_MICDET_THR_MASK | WM8962_MICDET_THR_MASK |
WM8962_MICSHORT_THR_MASK | WM8962_MICSHORT_THR_MASK |
WM8962_MICBIAS_LVL, WM8962_MICBIAS_LVL,
pdata->mic_cfg); wm8962->pdata.mic_cfg);
/* Latch volume update bits */ /* Latch volume update bits */
regmap_update_bits(wm8962->regmap, WM8962_LEFT_INPUT_VOLUME, regmap_update_bits(wm8962->regmap, WM8962_LEFT_INPUT_VOLUME,
...@@ -3682,7 +3690,7 @@ static int wm8962_i2c_probe(struct i2c_client *i2c, ...@@ -3682,7 +3690,7 @@ static int wm8962_i2c_probe(struct i2c_client *i2c,
} }
if (wm8962->irq) { if (wm8962->irq) {
if (pdata->irq_active_low) { if (wm8962->pdata.irq_active_low) {
trigger = IRQF_TRIGGER_LOW; trigger = IRQF_TRIGGER_LOW;
irq_pol = WM8962_IRQ_POL; irq_pol = WM8962_IRQ_POL;
} else { } else {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment