From 0dae0f83cd9956d0959f6d6de9f5391da6483274 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Mon, 21 May 2007 12:41:29 +0200
Subject: [PATCH] [ALSA] hda-codec - Add support of newer version of Intel iMac

Added the pin configs for newer version of Intel iMac.
The information provided by Ivan N. Zlatev <contact@i-nz.net>.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
---
 Documentation/sound/alsa/ALSA-Configuration.txt |  1 +
 sound/pci/hda/patch_sigmatel.c                  | 12 ++++++++++++
 2 files changed, 13 insertions(+)

diff --git a/Documentation/sound/alsa/ALSA-Configuration.txt b/Documentation/sound/alsa/ALSA-Configuration.txt
index 32124bf0049..bef13521f6c 100644
--- a/Documentation/sound/alsa/ALSA-Configuration.txt
+++ b/Documentation/sound/alsa/ALSA-Configuration.txt
@@ -923,6 +923,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
 	  macbook-pro-v1 Intel Mac Book Pro 1st generation
 	  macbook-pro	Intel Mac Book Pro 2nd generation
 	  imac-intel	Intel iMac
+	  imac-intel-20	Intel iMac (newer version)
 
 	STAC9202/9250/9251
 	  ref		Reference board, base config
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c
index e3964fc4c40..3653f57b7f6 100644
--- a/sound/pci/hda/patch_sigmatel.c
+++ b/sound/pci/hda/patch_sigmatel.c
@@ -64,6 +64,7 @@ enum {
 	STAC_MACBOOK_PRO_V1,
 	STAC_MACBOOK_PRO_V2,
 	STAC_IMAC_INTEL,
+	STAC_IMAC_INTEL_20,
 	STAC_922X_MODELS
 };
 
@@ -567,6 +568,12 @@ static unsigned int imac_intel_pin_configs[10] = {
 	0x400000fc, 0x400000fb,
 };
 
+static unsigned int imac_intel_20_pin_configs[10] = {
+	0x0121E21F, 0x90A7012E, 0x9017E110, 0x400000FD,
+	0x400000FE, 0x0181E020, 0x1145E230, 0x11C5E240,
+	0x400000FC, 0x400000FB,
+};
+
 static unsigned int *stac922x_brd_tbl[STAC_922X_MODELS] = {
 	[STAC_D945_REF] = ref922x_pin_configs,
 	[STAC_D945GTP3] = d945gtp3_pin_configs,
@@ -576,6 +583,7 @@ static unsigned int *stac922x_brd_tbl[STAC_922X_MODELS] = {
 	[STAC_MACBOOK_PRO_V1] = macbook_pro_v1_pin_configs,
 	[STAC_MACBOOK_PRO_V2] = macbook_pro_v2_pin_configs,
 	[STAC_IMAC_INTEL] = imac_intel_pin_configs,
+	[STAC_IMAC_INTEL_20] = imac_intel_20_pin_configs,
 };
 
 static const char *stac922x_models[STAC_922X_MODELS] = {
@@ -587,6 +595,7 @@ static const char *stac922x_models[STAC_922X_MODELS] = {
 	[STAC_MACBOOK_PRO_V1]	= "macbook-pro-v1",
 	[STAC_MACBOOK_PRO_V2]	= "macbook-pro",
 	[STAC_IMAC_INTEL] = "imac-intel",
+	[STAC_IMAC_INTEL_20] = "imac-intel-20",
 };
 
 static struct snd_pci_quirk stac922x_cfg_tbl[] = {
@@ -2037,6 +2046,9 @@ static int patch_stac922x(struct hda_codec *codec)
 		case 0x106b0700: /* Intel-based iMac */
 			spec->board_config = STAC_IMAC_INTEL;
 			break;
+		case 0x106b1700: /* Intel iMac 20 */
+			spec->board_config = STAC_IMAC_INTEL_20;
+			break;
 		}
 	}
 
-- 
2.20.1