ALSA: hda - load EQ params into IDT codec on HP bNB13 systems
authorVitaliy Kulikov <Vitaliy.Kulikov@idt.com>
Thu, 14 Nov 2013 17:52:16 +0000 (11:52 -0600)
committerTakashi Iwai <tiwai@suse.de>
Fri, 15 Nov 2013 10:57:54 +0000 (11:57 +0100)
Adds linear EQ filtering for integrated speaker protection

Signed-off-by: Vitaliy Kulikov <vitaliy.kulikov@idt.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/patch_sigmatel.c

index 69a549a..d2cc004 100644 (file)
@@ -100,6 +100,7 @@ enum {
        STAC_92HD83XXX_HEADSET_JACK,
        STAC_92HD83XXX_HP,
        STAC_HP_ENVY_BASS,
+       STAC_HP_BNB13_EQ,
        STAC_92HD83XXX_MODELS
 };
 
@@ -2106,6 +2107,434 @@ static void stac92hd83xxx_fixup_headset_jack(struct hda_codec *codec,
                spec->headset_jack = 1;
 }
 
+static const struct hda_verb hp_bnb13_eq_verbs[] = {
+       /* 44.1KHz base */
+       { 0x22, 0x7A6, 0x3E },
+       { 0x22, 0x7A7, 0x68 },
+       { 0x22, 0x7A8, 0x17 },
+       { 0x22, 0x7A9, 0x3E },
+       { 0x22, 0x7AA, 0x68 },
+       { 0x22, 0x7AB, 0x17 },
+       { 0x22, 0x7AC, 0x00 },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0x83 },
+       { 0x22, 0x7A7, 0x2F },
+       { 0x22, 0x7A8, 0xD1 },
+       { 0x22, 0x7A9, 0x83 },
+       { 0x22, 0x7AA, 0x2F },
+       { 0x22, 0x7AB, 0xD1 },
+       { 0x22, 0x7AC, 0x01 },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0x3E },
+       { 0x22, 0x7A7, 0x68 },
+       { 0x22, 0x7A8, 0x17 },
+       { 0x22, 0x7A9, 0x3E },
+       { 0x22, 0x7AA, 0x68 },
+       { 0x22, 0x7AB, 0x17 },
+       { 0x22, 0x7AC, 0x02 },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0x7C },
+       { 0x22, 0x7A7, 0xC6 },
+       { 0x22, 0x7A8, 0x0C },
+       { 0x22, 0x7A9, 0x7C },
+       { 0x22, 0x7AA, 0xC6 },
+       { 0x22, 0x7AB, 0x0C },
+       { 0x22, 0x7AC, 0x03 },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0xC3 },
+       { 0x22, 0x7A7, 0x25 },
+       { 0x22, 0x7A8, 0xAF },
+       { 0x22, 0x7A9, 0xC3 },
+       { 0x22, 0x7AA, 0x25 },
+       { 0x22, 0x7AB, 0xAF },
+       { 0x22, 0x7AC, 0x04 },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0x3E },
+       { 0x22, 0x7A7, 0x85 },
+       { 0x22, 0x7A8, 0x73 },
+       { 0x22, 0x7A9, 0x3E },
+       { 0x22, 0x7AA, 0x85 },
+       { 0x22, 0x7AB, 0x73 },
+       { 0x22, 0x7AC, 0x05 },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0x85 },
+       { 0x22, 0x7A7, 0x39 },
+       { 0x22, 0x7A8, 0xC7 },
+       { 0x22, 0x7A9, 0x85 },
+       { 0x22, 0x7AA, 0x39 },
+       { 0x22, 0x7AB, 0xC7 },
+       { 0x22, 0x7AC, 0x06 },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0x3C },
+       { 0x22, 0x7A7, 0x90 },
+       { 0x22, 0x7A8, 0xB0 },
+       { 0x22, 0x7A9, 0x3C },
+       { 0x22, 0x7AA, 0x90 },
+       { 0x22, 0x7AB, 0xB0 },
+       { 0x22, 0x7AC, 0x07 },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0x7A },
+       { 0x22, 0x7A7, 0xC6 },
+       { 0x22, 0x7A8, 0x39 },
+       { 0x22, 0x7A9, 0x7A },
+       { 0x22, 0x7AA, 0xC6 },
+       { 0x22, 0x7AB, 0x39 },
+       { 0x22, 0x7AC, 0x08 },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0xC4 },
+       { 0x22, 0x7A7, 0xE9 },
+       { 0x22, 0x7A8, 0xDC },
+       { 0x22, 0x7A9, 0xC4 },
+       { 0x22, 0x7AA, 0xE9 },
+       { 0x22, 0x7AB, 0xDC },
+       { 0x22, 0x7AC, 0x09 },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0x3D },
+       { 0x22, 0x7A7, 0xE1 },
+       { 0x22, 0x7A8, 0x0D },
+       { 0x22, 0x7A9, 0x3D },
+       { 0x22, 0x7AA, 0xE1 },
+       { 0x22, 0x7AB, 0x0D },
+       { 0x22, 0x7AC, 0x0A },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0x89 },
+       { 0x22, 0x7A7, 0xB6 },
+       { 0x22, 0x7A8, 0xEB },
+       { 0x22, 0x7A9, 0x89 },
+       { 0x22, 0x7AA, 0xB6 },
+       { 0x22, 0x7AB, 0xEB },
+       { 0x22, 0x7AC, 0x0B },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0x39 },
+       { 0x22, 0x7A7, 0x9D },
+       { 0x22, 0x7A8, 0xFE },
+       { 0x22, 0x7A9, 0x39 },
+       { 0x22, 0x7AA, 0x9D },
+       { 0x22, 0x7AB, 0xFE },
+       { 0x22, 0x7AC, 0x0C },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0x76 },
+       { 0x22, 0x7A7, 0x49 },
+       { 0x22, 0x7A8, 0x15 },
+       { 0x22, 0x7A9, 0x76 },
+       { 0x22, 0x7AA, 0x49 },
+       { 0x22, 0x7AB, 0x15 },
+       { 0x22, 0x7AC, 0x0D },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0xC8 },
+       { 0x22, 0x7A7, 0x80 },
+       { 0x22, 0x7A8, 0xF5 },
+       { 0x22, 0x7A9, 0xC8 },
+       { 0x22, 0x7AA, 0x80 },
+       { 0x22, 0x7AB, 0xF5 },
+       { 0x22, 0x7AC, 0x0E },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0x40 },
+       { 0x22, 0x7A7, 0x00 },
+       { 0x22, 0x7A8, 0x00 },
+       { 0x22, 0x7A9, 0x40 },
+       { 0x22, 0x7AA, 0x00 },
+       { 0x22, 0x7AB, 0x00 },
+       { 0x22, 0x7AC, 0x0F },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0x90 },
+       { 0x22, 0x7A7, 0x68 },
+       { 0x22, 0x7A8, 0xF1 },
+       { 0x22, 0x7A9, 0x90 },
+       { 0x22, 0x7AA, 0x68 },
+       { 0x22, 0x7AB, 0xF1 },
+       { 0x22, 0x7AC, 0x10 },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0x34 },
+       { 0x22, 0x7A7, 0x47 },
+       { 0x22, 0x7A8, 0x6C },
+       { 0x22, 0x7A9, 0x34 },
+       { 0x22, 0x7AA, 0x47 },
+       { 0x22, 0x7AB, 0x6C },
+       { 0x22, 0x7AC, 0x11 },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0x6F },
+       { 0x22, 0x7A7, 0x97 },
+       { 0x22, 0x7A8, 0x0F },
+       { 0x22, 0x7A9, 0x6F },
+       { 0x22, 0x7AA, 0x97 },
+       { 0x22, 0x7AB, 0x0F },
+       { 0x22, 0x7AC, 0x12 },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0xCB },
+       { 0x22, 0x7A7, 0xB8 },
+       { 0x22, 0x7A8, 0x94 },
+       { 0x22, 0x7A9, 0xCB },
+       { 0x22, 0x7AA, 0xB8 },
+       { 0x22, 0x7AB, 0x94 },
+       { 0x22, 0x7AC, 0x13 },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0x40 },
+       { 0x22, 0x7A7, 0x00 },
+       { 0x22, 0x7A8, 0x00 },
+       { 0x22, 0x7A9, 0x40 },
+       { 0x22, 0x7AA, 0x00 },
+       { 0x22, 0x7AB, 0x00 },
+       { 0x22, 0x7AC, 0x14 },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0x95 },
+       { 0x22, 0x7A7, 0x76 },
+       { 0x22, 0x7A8, 0x5B },
+       { 0x22, 0x7A9, 0x95 },
+       { 0x22, 0x7AA, 0x76 },
+       { 0x22, 0x7AB, 0x5B },
+       { 0x22, 0x7AC, 0x15 },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0x31 },
+       { 0x22, 0x7A7, 0xAC },
+       { 0x22, 0x7A8, 0x31 },
+       { 0x22, 0x7A9, 0x31 },
+       { 0x22, 0x7AA, 0xAC },
+       { 0x22, 0x7AB, 0x31 },
+       { 0x22, 0x7AC, 0x16 },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0x6A },
+       { 0x22, 0x7A7, 0x89 },
+       { 0x22, 0x7A8, 0xA5 },
+       { 0x22, 0x7A9, 0x6A },
+       { 0x22, 0x7AA, 0x89 },
+       { 0x22, 0x7AB, 0xA5 },
+       { 0x22, 0x7AC, 0x17 },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0xCE },
+       { 0x22, 0x7A7, 0x53 },
+       { 0x22, 0x7A8, 0xCF },
+       { 0x22, 0x7A9, 0xCE },
+       { 0x22, 0x7AA, 0x53 },
+       { 0x22, 0x7AB, 0xCF },
+       { 0x22, 0x7AC, 0x18 },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0x40 },
+       { 0x22, 0x7A7, 0x00 },
+       { 0x22, 0x7A8, 0x00 },
+       { 0x22, 0x7A9, 0x40 },
+       { 0x22, 0x7AA, 0x00 },
+       { 0x22, 0x7AB, 0x00 },
+       { 0x22, 0x7AC, 0x19 },
+       { 0x22, 0x7AD, 0x80 },
+       /* 48KHz base */
+       { 0x22, 0x7A6, 0x3E },
+       { 0x22, 0x7A7, 0x88 },
+       { 0x22, 0x7A8, 0xDC },
+       { 0x22, 0x7A9, 0x3E },
+       { 0x22, 0x7AA, 0x88 },
+       { 0x22, 0x7AB, 0xDC },
+       { 0x22, 0x7AC, 0x1A },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0x82 },
+       { 0x22, 0x7A7, 0xEE },
+       { 0x22, 0x7A8, 0x46 },
+       { 0x22, 0x7A9, 0x82 },
+       { 0x22, 0x7AA, 0xEE },
+       { 0x22, 0x7AB, 0x46 },
+       { 0x22, 0x7AC, 0x1B },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0x3E },
+       { 0x22, 0x7A7, 0x88 },
+       { 0x22, 0x7A8, 0xDC },
+       { 0x22, 0x7A9, 0x3E },
+       { 0x22, 0x7AA, 0x88 },
+       { 0x22, 0x7AB, 0xDC },
+       { 0x22, 0x7AC, 0x1C },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0x7D },
+       { 0x22, 0x7A7, 0x09 },
+       { 0x22, 0x7A8, 0x28 },
+       { 0x22, 0x7A9, 0x7D },
+       { 0x22, 0x7AA, 0x09 },
+       { 0x22, 0x7AB, 0x28 },
+       { 0x22, 0x7AC, 0x1D },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0xC2 },
+       { 0x22, 0x7A7, 0xE5 },
+       { 0x22, 0x7A8, 0xB4 },
+       { 0x22, 0x7A9, 0xC2 },
+       { 0x22, 0x7AA, 0xE5 },
+       { 0x22, 0x7AB, 0xB4 },
+       { 0x22, 0x7AC, 0x1E },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0x3E },
+       { 0x22, 0x7A7, 0xA3 },
+       { 0x22, 0x7A8, 0x1F },
+       { 0x22, 0x7A9, 0x3E },
+       { 0x22, 0x7AA, 0xA3 },
+       { 0x22, 0x7AB, 0x1F },
+       { 0x22, 0x7AC, 0x1F },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0x84 },
+       { 0x22, 0x7A7, 0xCA },
+       { 0x22, 0x7A8, 0xF1 },
+       { 0x22, 0x7A9, 0x84 },
+       { 0x22, 0x7AA, 0xCA },
+       { 0x22, 0x7AB, 0xF1 },
+       { 0x22, 0x7AC, 0x20 },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0x3C },
+       { 0x22, 0x7A7, 0xD5 },
+       { 0x22, 0x7A8, 0x9C },
+       { 0x22, 0x7A9, 0x3C },
+       { 0x22, 0x7AA, 0xD5 },
+       { 0x22, 0x7AB, 0x9C },
+       { 0x22, 0x7AC, 0x21 },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0x7B },
+       { 0x22, 0x7A7, 0x35 },
+       { 0x22, 0x7A8, 0x0F },
+       { 0x22, 0x7A9, 0x7B },
+       { 0x22, 0x7AA, 0x35 },
+       { 0x22, 0x7AB, 0x0F },
+       { 0x22, 0x7AC, 0x22 },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0xC4 },
+       { 0x22, 0x7A7, 0x87 },
+       { 0x22, 0x7A8, 0x45 },
+       { 0x22, 0x7A9, 0xC4 },
+       { 0x22, 0x7AA, 0x87 },
+       { 0x22, 0x7AB, 0x45 },
+       { 0x22, 0x7AC, 0x23 },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0x3E },
+       { 0x22, 0x7A7, 0x0A },
+       { 0x22, 0x7A8, 0x78 },
+       { 0x22, 0x7A9, 0x3E },
+       { 0x22, 0x7AA, 0x0A },
+       { 0x22, 0x7AB, 0x78 },
+       { 0x22, 0x7AC, 0x24 },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0x88 },
+       { 0x22, 0x7A7, 0xE2 },
+       { 0x22, 0x7A8, 0x05 },
+       { 0x22, 0x7A9, 0x88 },
+       { 0x22, 0x7AA, 0xE2 },
+       { 0x22, 0x7AB, 0x05 },
+       { 0x22, 0x7AC, 0x25 },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0x3A },
+       { 0x22, 0x7A7, 0x1A },
+       { 0x22, 0x7A8, 0xA3 },
+       { 0x22, 0x7A9, 0x3A },
+       { 0x22, 0x7AA, 0x1A },
+       { 0x22, 0x7AB, 0xA3 },
+       { 0x22, 0x7AC, 0x26 },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0x77 },
+       { 0x22, 0x7A7, 0x1D },
+       { 0x22, 0x7A8, 0xFB },
+       { 0x22, 0x7A9, 0x77 },
+       { 0x22, 0x7AA, 0x1D },
+       { 0x22, 0x7AB, 0xFB },
+       { 0x22, 0x7AC, 0x27 },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0xC7 },
+       { 0x22, 0x7A7, 0xDA },
+       { 0x22, 0x7A8, 0xE5 },
+       { 0x22, 0x7A9, 0xC7 },
+       { 0x22, 0x7AA, 0xDA },
+       { 0x22, 0x7AB, 0xE5 },
+       { 0x22, 0x7AC, 0x28 },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0x40 },
+       { 0x22, 0x7A7, 0x00 },
+       { 0x22, 0x7A8, 0x00 },
+       { 0x22, 0x7A9, 0x40 },
+       { 0x22, 0x7AA, 0x00 },
+       { 0x22, 0x7AB, 0x00 },
+       { 0x22, 0x7AC, 0x29 },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0x8E },
+       { 0x22, 0x7A7, 0xD7 },
+       { 0x22, 0x7A8, 0x22 },
+       { 0x22, 0x7A9, 0x8E },
+       { 0x22, 0x7AA, 0xD7 },
+       { 0x22, 0x7AB, 0x22 },
+       { 0x22, 0x7AC, 0x2A },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0x35 },
+       { 0x22, 0x7A7, 0x26 },
+       { 0x22, 0x7A8, 0xC6 },
+       { 0x22, 0x7A9, 0x35 },
+       { 0x22, 0x7AA, 0x26 },
+       { 0x22, 0x7AB, 0xC6 },
+       { 0x22, 0x7AC, 0x2B },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0x71 },
+       { 0x22, 0x7A7, 0x28 },
+       { 0x22, 0x7A8, 0xDE },
+       { 0x22, 0x7A9, 0x71 },
+       { 0x22, 0x7AA, 0x28 },
+       { 0x22, 0x7AB, 0xDE },
+       { 0x22, 0x7AC, 0x2C },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0xCA },
+       { 0x22, 0x7A7, 0xD9 },
+       { 0x22, 0x7A8, 0x3A },
+       { 0x22, 0x7A9, 0xCA },
+       { 0x22, 0x7AA, 0xD9 },
+       { 0x22, 0x7AB, 0x3A },
+       { 0x22, 0x7AC, 0x2D },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0x40 },
+       { 0x22, 0x7A7, 0x00 },
+       { 0x22, 0x7A8, 0x00 },
+       { 0x22, 0x7A9, 0x40 },
+       { 0x22, 0x7AA, 0x00 },
+       { 0x22, 0x7AB, 0x00 },
+       { 0x22, 0x7AC, 0x2E },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0x93 },
+       { 0x22, 0x7A7, 0x5E },
+       { 0x22, 0x7A8, 0xD8 },
+       { 0x22, 0x7A9, 0x93 },
+       { 0x22, 0x7AA, 0x5E },
+       { 0x22, 0x7AB, 0xD8 },
+       { 0x22, 0x7AC, 0x2F },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0x32 },
+       { 0x22, 0x7A7, 0xB7 },
+       { 0x22, 0x7A8, 0xB1 },
+       { 0x22, 0x7A9, 0x32 },
+       { 0x22, 0x7AA, 0xB7 },
+       { 0x22, 0x7AB, 0xB1 },
+       { 0x22, 0x7AC, 0x30 },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0x6C },
+       { 0x22, 0x7A7, 0xA1 },
+       { 0x22, 0x7A8, 0x28 },
+       { 0x22, 0x7A9, 0x6C },
+       { 0x22, 0x7AA, 0xA1 },
+       { 0x22, 0x7AB, 0x28 },
+       { 0x22, 0x7AC, 0x31 },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0xCD },
+       { 0x22, 0x7A7, 0x48 },
+       { 0x22, 0x7A8, 0x4F },
+       { 0x22, 0x7A9, 0xCD },
+       { 0x22, 0x7AA, 0x48 },
+       { 0x22, 0x7AB, 0x4F },
+       { 0x22, 0x7AC, 0x32 },
+       { 0x22, 0x7AD, 0x80 },
+       { 0x22, 0x7A6, 0x40 },
+       { 0x22, 0x7A7, 0x00 },
+       { 0x22, 0x7A8, 0x00 },
+       { 0x22, 0x7A9, 0x40 },
+       { 0x22, 0x7AA, 0x00 },
+       { 0x22, 0x7AB, 0x00 },
+       { 0x22, 0x7AC, 0x33 },
+       { 0x22, 0x7AD, 0x80 },
+       /* common */
+       { 0x22, 0x782, 0xC1 },
+       { 0x22, 0x771, 0x2C },
+       { 0x22, 0x772, 0x2C },
+       { 0x22, 0x788, 0x04 },
+       { 0x01, 0x7B0, 0x08 },
+       {}
+};
+
 static const struct hda_fixup stac92hd83xxx_fixups[] = {
        [STAC_92HD83XXX_REF] = {
                .type = HDA_FIXUP_PINS,
@@ -2174,6 +2603,12 @@ static const struct hda_fixup stac92hd83xxx_fixups[] = {
                        {}
                },
        },
+       [STAC_HP_BNB13_EQ] = {
+               .type = HDA_FIXUP_VERBS,
+               .v.verbs = hp_bnb13_eq_verbs,
+               .chained = true,
+               .chain_id = STAC_92HD83XXX_HP_MIC_LED,
+       },
 };
 
 static const struct hda_model_fixup stac92hd83xxx_models[] = {
@@ -2189,6 +2624,7 @@ static const struct hda_model_fixup stac92hd83xxx_models[] = {
        { .id = STAC_92HD83XXX_HP_MIC_LED, .name = "hp-mic-led" },
        { .id = STAC_92HD83XXX_HEADSET_JACK, .name = "headset-jack" },
        { .id = STAC_HP_ENVY_BASS, .name = "hp-envy-bass" },
+       { .id = STAC_HP_BNB13_EQ, .name = "hp-bnb13-eq" },
        {}
 };
 
@@ -2235,7 +2671,101 @@ static const struct snd_pci_quirk stac92hd83xxx_fixup_tbl[] = {
        SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x1888,
                          "HP Envy Spectre", STAC_HP_ENVY_BASS),
        SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x18df,
-                         "HP Folio", STAC_92HD83XXX_HP_MIC_LED),
+                         "HP Folio", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x18F8,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x1909,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x190A,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x1940,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x1941,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x1942,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x1943,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x1944,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x1945,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x1946,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x1948,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x1949,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x194A,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x194B,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x194C,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x194E,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x194F,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x1950,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x1951,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x195A,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x195B,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x195C,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x1991,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x2103,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x2104,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x2105,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x2106,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x2107,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x2108,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x2109,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x210A,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x210B,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x211C,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x211D,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x211E,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x211F,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x2120,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x2121,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x2122,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x2123,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x213E,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x213F,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x2140,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x21B2,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x21B3,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x21B5,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x21B6,
+                         "HP bNB13", STAC_HP_BNB13_EQ),
        SND_PCI_QUIRK_MASK(PCI_VENDOR_ID_HP, 0xff00, 0x1900,
                          "HP", STAC_92HD83XXX_HP_MIC_LED),
        SND_PCI_QUIRK_MASK(PCI_VENDOR_ID_HP, 0xff00, 0x2000,