aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBard Liao <bardliao@realtek.com>2016-02-24 02:51:26 -0500
committerMark Brown <broonie@kernel.org>2016-02-24 03:24:34 -0500
commit4b2fe3822ae16436ed0aba379c500558f7846ce1 (patch)
tree217e87fc8eb2c405052f2f571ccf0e079ff7731e
parent92e963f50fc74041b5e9e744c330dca48e04f08d (diff)
ASoC: rt298: enable IRQ for jack detection
There are some registers needed for enabling rt298 IRQ missed on current driver. Signed-off-by: Bard Liao <bardliao@realtek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--sound/soc/codecs/rt298.c6
-rw-r--r--sound/soc/codecs/rt298.h8
2 files changed, 14 insertions, 0 deletions
diff --git a/sound/soc/codecs/rt298.c b/sound/soc/codecs/rt298.c
index 30c6de62ae6c..e67ef5f8d4f3 100644
--- a/sound/soc/codecs/rt298.c
+++ b/sound/soc/codecs/rt298.c
@@ -1225,6 +1225,12 @@ static int rt298_i2c_probe(struct i2c_client *i2c,
1225 regmap_update_bits(rt298->regmap, 1225 regmap_update_bits(rt298->regmap,
1226 RT298_WIND_FILTER_CTRL, 0x0082, 0x0082); 1226 RT298_WIND_FILTER_CTRL, 0x0082, 0x0082);
1227 regmap_update_bits(rt298->regmap, RT298_IRQ_CTRL, 0x2, 0x2); 1227 regmap_update_bits(rt298->regmap, RT298_IRQ_CTRL, 0x2, 0x2);
1228
1229 regmap_write(rt298->regmap, RT298_UNSOLICITED_INLINE_CMD, 0x81);
1230 regmap_write(rt298->regmap, RT298_UNSOLICITED_HP_OUT, 0x82);
1231 regmap_write(rt298->regmap, RT298_UNSOLICITED_MIC1, 0x84);
1232 regmap_update_bits(rt298->regmap, RT298_IRQ_FLAG_CTRL, 0x2, 0x2);
1233
1228 rt298->is_hp_in = -1; 1234 rt298->is_hp_in = -1;
1229 1235
1230 if (rt298->i2c->irq) { 1236 if (rt298->i2c->irq) {
diff --git a/sound/soc/codecs/rt298.h b/sound/soc/codecs/rt298.h
index 31da16265f2b..d66f8847b676 100644
--- a/sound/soc/codecs/rt298.h
+++ b/sound/soc/codecs/rt298.h
@@ -34,6 +34,7 @@
34#define RT298_HP_OUT 0x21 34#define RT298_HP_OUT 0x21
35#define RT298_MIXER_IN1 0x22 35#define RT298_MIXER_IN1 0x22
36#define RT298_MIXER_IN2 0x23 36#define RT298_MIXER_IN2 0x23
37#define RT298_INLINE_CMD 0x55
37 38
38#define RT298_SET_PIN_SFT 6 39#define RT298_SET_PIN_SFT 6
39#define RT298_SET_PIN_ENABLE 0x40 40#define RT298_SET_PIN_ENABLE 0x40
@@ -124,6 +125,12 @@
124 VERB_CMD(AC_VERB_SET_COEF_INDEX, RT298_VENDOR_REGISTERS, 0) 125 VERB_CMD(AC_VERB_SET_COEF_INDEX, RT298_VENDOR_REGISTERS, 0)
125#define RT298_PROC_COEF\ 126#define RT298_PROC_COEF\
126 VERB_CMD(AC_VERB_SET_PROC_COEF, RT298_VENDOR_REGISTERS, 0) 127 VERB_CMD(AC_VERB_SET_PROC_COEF, RT298_VENDOR_REGISTERS, 0)
128#define RT298_UNSOLICITED_INLINE_CMD\
129 VERB_CMD(AC_VERB_SET_UNSOLICITED_ENABLE, RT298_INLINE_CMD, 0)
130#define RT298_UNSOLICITED_HP_OUT\
131 VERB_CMD(AC_VERB_SET_UNSOLICITED_ENABLE, RT298_HP_OUT, 0)
132#define RT298_UNSOLICITED_MIC1\
133 VERB_CMD(AC_VERB_SET_UNSOLICITED_ENABLE, RT298_MIC1, 0)
127 134
128/* Index registers */ 135/* Index registers */
129#define RT298_A_BIAS_CTRL1 0x01 136#define RT298_A_BIAS_CTRL1 0x01
@@ -148,6 +155,7 @@
148#define RT298_DEPOP_CTRL2 0x67 155#define RT298_DEPOP_CTRL2 0x67
149#define RT298_DEPOP_CTRL3 0x68 156#define RT298_DEPOP_CTRL3 0x68
150#define RT298_DEPOP_CTRL4 0x69 157#define RT298_DEPOP_CTRL4 0x69
158#define RT298_IRQ_FLAG_CTRL 0x7c
151 159
152/* SPDIF (0x06) */ 160/* SPDIF (0x06) */
153#define RT298_SPDIF_SEL_SFT 0 161#define RT298_SPDIF_SEL_SFT 0