regmap_update_bits(rt298->regmap,
                                RT298_WIND_FILTER_CTRL, 0x0082, 0x0082);
        regmap_update_bits(rt298->regmap, RT298_IRQ_CTRL, 0x2, 0x2);
+
+       regmap_write(rt298->regmap, RT298_UNSOLICITED_INLINE_CMD, 0x81);
+       regmap_write(rt298->regmap, RT298_UNSOLICITED_HP_OUT, 0x82);
+       regmap_write(rt298->regmap, RT298_UNSOLICITED_MIC1, 0x84);
+       regmap_update_bits(rt298->regmap, RT298_IRQ_FLAG_CTRL, 0x2, 0x2);
+
        rt298->is_hp_in = -1;
 
        if (rt298->i2c->irq) {
 
 #define RT298_HP_OUT                                   0x21
 #define RT298_MIXER_IN1                                        0x22
 #define RT298_MIXER_IN2                                        0x23
+#define RT298_INLINE_CMD                               0x55
 
 #define RT298_SET_PIN_SFT                              6
 #define RT298_SET_PIN_ENABLE                           0x40
        VERB_CMD(AC_VERB_SET_COEF_INDEX, RT298_VENDOR_REGISTERS, 0)
 #define RT298_PROC_COEF\
        VERB_CMD(AC_VERB_SET_PROC_COEF, RT298_VENDOR_REGISTERS, 0)
+#define RT298_UNSOLICITED_INLINE_CMD\
+       VERB_CMD(AC_VERB_SET_UNSOLICITED_ENABLE, RT298_INLINE_CMD, 0)
+#define RT298_UNSOLICITED_HP_OUT\
+       VERB_CMD(AC_VERB_SET_UNSOLICITED_ENABLE, RT298_HP_OUT, 0)
+#define RT298_UNSOLICITED_MIC1\
+       VERB_CMD(AC_VERB_SET_UNSOLICITED_ENABLE, RT298_MIC1, 0)
 
 /* Index registers */
 #define RT298_A_BIAS_CTRL1     0x01
 #define RT298_DEPOP_CTRL2      0x67
 #define RT298_DEPOP_CTRL3      0x68
 #define RT298_DEPOP_CTRL4      0x69
+#define RT298_IRQ_FLAG_CTRL    0x7c
 
 /* SPDIF (0x06) */
 #define RT298_SPDIF_SEL_SFT    0