ALSA: hda/cirrus - Add a quirk for Stumpy ChromeBox.
authorDylan Reid <dgreid@chromium.org>
Thu, 4 Apr 2013 22:35:31 +0000 (15:35 -0700)
committerTakashi Iwai <tiwai@suse.de>
Fri, 5 Apr 2013 05:35:37 +0000 (07:35 +0200)
The Stumpy ChromeBox needs its pin configs fixed up.

Signed-off-by: Dylan Reid <dgreid@chromium.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/patch_cirrus.c

index 0d9c58f..bd8d46c 100644 (file)
@@ -68,6 +68,7 @@ enum {
 enum {
        CS421X_CDB4210,
        CS421X_SENSE_B,
+       CS421X_STUMPY,
 };
 
 /* Vendor-specific processing widget */
@@ -538,6 +539,7 @@ static int patch_cs420x(struct hda_codec *codec)
 /* CS4210 board names */
 static const struct hda_model_fixup cs421x_models[] = {
        { .id = CS421X_CDB4210, .name = "cdb4210" },
+       { .id = CS421X_STUMPY, .name = "stumpy" },
        {}
 };
 
@@ -559,6 +561,17 @@ static const struct hda_pintbl cdb4210_pincfgs[] = {
        {} /* terminator */
 };
 
+/* Stumpy ChromeBox */
+static const struct hda_pintbl stumpy_pincfgs[] = {
+       { 0x05, 0x022120f0 },
+       { 0x06, 0x901700f0 },
+       { 0x07, 0x02a120f0 },
+       { 0x08, 0x77a70037 },
+       { 0x09, 0x77a6003e },
+       { 0x0a, 0x434510f0 },
+       {} /* terminator */
+};
+
 /* Setup GPIO/SENSE for each board (if used) */
 static void cs421x_fixup_sense_b(struct hda_codec *codec,
                                 const struct hda_fixup *fix, int action)
@@ -578,7 +591,11 @@ static const struct hda_fixup cs421x_fixups[] = {
        [CS421X_SENSE_B] = {
                .type = HDA_FIXUP_FUNC,
                .v.func = cs421x_fixup_sense_b,
-       }
+       },
+       [CS421X_STUMPY] = {
+               .type = HDA_FIXUP_PINS,
+               .v.pins = stumpy_pincfgs,
+       },
 };
 
 static const struct hda_verb cs421x_coef_init_verbs[] = {