summaryrefslogtreecommitdiff
path: root/asoc
diff options
context:
space:
mode:
authorqctecmdr <qctecmdr@localhost>2020-07-30 01:44:59 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2020-07-30 01:44:59 -0700
commit73a741960f52fa52fb085327a3e6f792fa71863a (patch)
tree00b29a04cb787207a0708c88669d48e79a6e5b6e /asoc
parentd0271980890d7cdf579bce97dffdaceb11c14d5c (diff)
parent21d5ac5462e195606c3ada740628e81f0f8b1710 (diff)
downloadmsm-extra-73a741960f52fa52fb085327a3e6f792fa71863a.tar.gz
Merge "ASoC: wsa883x: Update sequence for temperature"
Diffstat (limited to 'asoc')
-rw-r--r--asoc/codecs/wsa883x/wsa883x.c19
1 files changed, 16 insertions, 3 deletions
diff --git a/asoc/codecs/wsa883x/wsa883x.c b/asoc/codecs/wsa883x/wsa883x.c
index c14114f9..db102426 100644
--- a/asoc/codecs/wsa883x/wsa883x.c
+++ b/asoc/codecs/wsa883x/wsa883x.c
@@ -847,7 +847,7 @@ static const struct snd_kcontrol_new wsa883x_snd_controls[] = {
SOC_SINGLE_EXT("WSA PA Mute", SND_SOC_NOPM, 0, 1, 0,
wsa883x_get_mute, wsa883x_set_mute),
- SOC_SINGLE_EXT("WSA Temp", SND_SOC_NOPM, 0, 1, 0,
+ SOC_SINGLE_EXT("WSA Temp", SND_SOC_NOPM, 0, UINT_MAX, 0,
wsa_get_temp, NULL),
SOC_ENUM_EXT("WSA MODE", wsa_dev_mode_enum,
@@ -1070,7 +1070,19 @@ static int32_t wsa883x_temp_reg_read(struct snd_soc_component *component,
mutex_lock(&wsa883x->res_lock);
- /* TODO Vote for global PA */
+ snd_soc_component_update_bits(component, WSA883X_PA_FSM_BYP,
+ 0x01, 0x01);
+ snd_soc_component_update_bits(component, WSA883X_PA_FSM_BYP,
+ 0x04, 0x04);
+ snd_soc_component_update_bits(component, WSA883X_PA_FSM_BYP,
+ 0x02, 0x02);
+ snd_soc_component_update_bits(component, WSA883X_PA_FSM_BYP,
+ 0x80, 0x80);
+ snd_soc_component_update_bits(component, WSA883X_PA_FSM_BYP,
+ 0x20, 0x20);
+ snd_soc_component_update_bits(component, WSA883X_PA_FSM_BYP,
+ 0x40, 0x40);
+
snd_soc_component_update_bits(component, WSA883X_TADC_VALUE_CTL,
0x01, 0x00);
wsa_temp_reg->dmeas_msb = snd_soc_component_read32(
@@ -1088,7 +1100,8 @@ static int32_t wsa883x_temp_reg_read(struct snd_soc_component *component,
wsa_temp_reg->d2_lsb = snd_soc_component_read32(
component, WSA883X_OTP_REG_4);
- /* TODO Unvote for global PA */
+ snd_soc_component_update_bits(component, WSA883X_PA_FSM_BYP,
+ 0xE7, 0x00);
mutex_unlock(&wsa883x->res_lock);
return 0;