ALSA: hda/ca0132 - Add init data for SoundBlaster AE-7.
authorConnor McAdams <conmanx360@gmail.com>
Tue, 25 Aug 2020 20:10:34 +0000 (16:10 -0400)
committerTakashi Iwai <tiwai@suse.de>
Wed, 26 Aug 2020 08:28:17 +0000 (10:28 +0200)
Add initialization data for the SoundBlaster AE-7 card.

Signed-off-by: Connor McAdams <conmanx360@gmail.com>
Link: https://lore.kernel.org/r/20200825201040.30339-16-conmanx360@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/patch_ca0132.c

index cd46112c827e8af26465ff9e5d46f076259c6dd7..dc1eb9bfcc5eda08e3c7ecb6379db14f2e92df37 100644 (file)
@@ -3582,6 +3582,7 @@ static void ca0132_gpio_init(struct hda_codec *codec)
        switch (ca0132_quirk(spec)) {
        case QUIRK_SBZ:
        case QUIRK_AE5:
+       case QUIRK_AE7:
                snd_hda_codec_write(codec, 0x01, 0, 0x793, 0x00);
                snd_hda_codec_write(codec, 0x01, 0, 0x794, 0x53);
                snd_hda_codec_write(codec, 0x01, 0, 0x790, 0x23);
@@ -8911,6 +8912,19 @@ static void ca0132_alt_init(struct hda_codec *codec)
                snd_hda_sequence_write(codec, spec->desktop_init_verbs);
                ca0113_mmio_command_set(codec, 0x30, 0x32, 0x3f);
                break;
+       case QUIRK_AE7:
+               ca0132_gpio_init(codec);
+               snd_hda_codec_write(codec, WIDGET_CHIP_CTRL, 0,
+                               VENDOR_CHIPIO_8051_ADDRESS_LOW, 0x49);
+               snd_hda_codec_write(codec, WIDGET_CHIP_CTRL, 0,
+                               VENDOR_CHIPIO_PLL_PMU_WRITE, 0x88);
+               snd_hda_sequence_write(codec, spec->chip_init_verbs);
+               snd_hda_sequence_write(codec, spec->desktop_init_verbs);
+               chipio_write(codec, 0x18b008, 0x000000f8);
+               chipio_write(codec, 0x18b008, 0x000000f0);
+               chipio_write(codec, 0x18b030, 0x00000020);
+               ca0113_mmio_command_set(codec, 0x30, 0x32, 0x3f);
+               break;
        case QUIRK_ZXR:
                snd_hda_sequence_write(codec, spec->chip_init_verbs);
                snd_hda_sequence_write(codec, spec->desktop_init_verbs);