This patch: * adds the pinconfigs for all 5 Apple boards and 14 Subsystem IDs (support for possibly all iMac, Mac, MacMini etc etc) * adds "intel-mac-v1" to v5 models which replace the current * reflects changes in Alsa-Configuration.txt Please review. Regards. -- Ivan N. Zlatev Web: http://www.i-nZ.net "It's all some kind of whacked out conspiracy."
diff -r 337962e19de6 Documentation/ALSA-Configuration.txt --- a/Documentation/ALSA-Configuration.txt Fri May 25 12:18:49 2007 +0200 +++ b/Documentation/ALSA-Configuration.txt Sun May 27 22:20:34 2007 +0100 @@ -923,12 +923,11 @@ Prior to version 0.9.0rc4 options had a ref Reference board 3stack D945 3stack 5stack D945 5stack + SPDIF - macmini Intel Mac Mini - macbook Intel Mac Book - 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) + intel-mac-v1 Intel Mac Type 1 + intel-mac-v2 Intel Mac Type 2 + intel-mac-v3 Intel Mac Type 3 + intel-mac-v4 Intel Mac Type 4 + intel-mac-v5 Intel Mac Type 5 STAC9202/9250/9251 ref Reference board, base config diff -r 337962e19de6 pci/hda/patch_sigmatel.c --- a/pci/hda/patch_sigmatel.c Fri May 25 12:18:49 2007 +0200 +++ b/pci/hda/patch_sigmatel.c Sun May 27 22:19:14 2007 +0100 @@ -59,12 +59,11 @@ enum { STAC_D945_REF, STAC_D945GTP3, STAC_D945GTP5, - STAC_MACMINI, - STAC_MACBOOK, - STAC_MACBOOK_PRO_V1, - STAC_MACBOOK_PRO_V2, - STAC_IMAC_INTEL, - STAC_IMAC_INTEL_20, + STAC_INTEL_MAC_V1, + STAC_INTEL_MAC_V2, + STAC_INTEL_MAC_V3, + STAC_INTEL_MAC_V4, + STAC_INTEL_MAC_V5, STAC_922X_MODELS }; @@ -550,27 +549,33 @@ static unsigned int d945gtp5_pin_configs 0x02a19320, 0x40000100, }; -static unsigned int macbook_pro_v1_pin_configs[10] = { - 0x0321e230, 0x03a1e020, 0x9017e110, 0x01014010, - 0x01a19021, 0x0381e021, 0x1345e240, 0x13c5e22e, - 0x02a19320, 0x400000fb -}; - -static unsigned int macbook_pro_v2_pin_configs[10] = { - 0x0221401f, 0x90a70120, 0x01813024, 0x01014010, - 0x400000fd, 0x01016011, 0x1345e240, 0x13c5e22e, - 0x400000fc, 0x400000fb, -}; - -static unsigned int imac_intel_pin_configs[10] = { - 0x0121e230, 0x90a70120, 0x9017e110, 0x400000fe, - 0x400000fd, 0x0181e021, 0x1145e040, 0x400000fa, - 0x400000fc, 0x400000fb, -}; - -static unsigned int imac_intel_20_pin_configs[10] = { +static unsigned int apple_mac_v1_pin_configs[10] = { + 0x0121E21F, 0x400000FF, 0x9017E110, 0x400000FD, + 0x400000FE, 0x0181E020, 0x1145E030, 0x11C5E240, + 0x400000FC, 0x400000FB, +}; + +static unsigned int apple_mac_v2_pin_configs[10] = { + 0x0121E21F, 0x90A7012E, 0x9017E110, 0x400000FD, + 0x400000FE, 0x0181E020, 0x1145E230, 0x500000FA, + 0x400000FC, 0x400000FB, +}; + +static unsigned int apple_mac_v3_pin_configs[10] = { 0x0121E21F, 0x90A7012E, 0x9017E110, 0x400000FD, 0x400000FE, 0x0181E020, 0x1145E230, 0x11C5E240, + 0x400000FC, 0x400000FB, +}; + +static unsigned int apple_mac_v4_pin_configs[10] = { + 0x0321E21F, 0x03A1E02E, 0x9017E110, 0x9017E11F, + 0x400000FE, 0x0381E020, 0x1345E230, 0x13C5E240, + 0x400000FC, 0x400000FB, +}; + +static unsigned int apple_mac_v5_pin_configs[10] = { + 0x0321E21F, 0x03A1E02E, 0x9017E110, 0x9017E11F, + 0x400000FE, 0x0381E020, 0x1345E230, 0x13C5E240, 0x400000FC, 0x400000FB, }; @@ -578,24 +583,22 @@ static unsigned int *stac922x_brd_tbl[ST [STAC_D945_REF] = ref922x_pin_configs, [STAC_D945GTP3] = d945gtp3_pin_configs, [STAC_D945GTP5] = d945gtp5_pin_configs, - [STAC_MACMINI] = macbook_pro_v1_pin_configs, - [STAC_MACBOOK] = macbook_pro_v1_pin_configs, - [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, + [STAC_INTEL_MAC_V1] = apple_mac_v1_pin_configs, + [STAC_INTEL_MAC_V2] = apple_mac_v2_pin_configs, + [STAC_INTEL_MAC_V3] = apple_mac_v3_pin_configs, + [STAC_INTEL_MAC_V4] = apple_mac_v4_pin_configs, + [STAC_INTEL_MAC_V5] = apple_mac_v5_pin_configs, }; static const char *stac922x_models[STAC_922X_MODELS] = { [STAC_D945_REF] = "ref", [STAC_D945GTP5] = "5stack", [STAC_D945GTP3] = "3stack", - [STAC_MACMINI] = "macmini", - [STAC_MACBOOK] = "macbook", - [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", + [STAC_INTEL_MAC_V1] = "intel-mac-v1", + [STAC_INTEL_MAC_V2] = "intel-mac-v2", + [STAC_INTEL_MAC_V3] = "intel-mac-v3", + [STAC_INTEL_MAC_V4] = "intel-mac-v4", + [STAC_INTEL_MAC_V5] = "intel-mac-v5", }; static struct snd_pci_quirk stac922x_cfg_tbl[] = { @@ -658,7 +661,7 @@ static struct snd_pci_quirk stac922x_cfg /* other systems */ /* Apple Mac Mini (early 2006) */ SND_PCI_QUIRK(0x8384, 0x7680, - "Mac Mini", STAC_MACMINI), + "Mac Mini", STAC_INTEL_MAC_V3), {} /* terminator */ }; @@ -2012,27 +2015,36 @@ static int patch_stac922x(struct hda_cod spec->board_config = snd_hda_check_board_config(codec, STAC_922X_MODELS, stac922x_models, stac922x_cfg_tbl); - if (spec->board_config == STAC_MACMINI) { + if (spec->board_config == STAC_INTEL_MAC_V3) { spec->gpio_mute = 1; /* Intel Macs have all same PCI SSID, so we need to check * codec SSID to distinguish the exact models */ printk(KERN_INFO "hda_codec: STAC922x, Apple subsys_id=%x\n", codec->subsystem_id); switch (codec->subsystem_id) { - case 0x106b0a00: /* MacBook First generatoin */ - spec->board_config = STAC_MACBOOK; + + case 0x106B0800: + spec->board_config = STAC_INTEL_MAC_V1; break; - case 0x106b0200: /* MacBook Pro first generation */ - spec->board_config = STAC_MACBOOK_PRO_V1; + case 0x106B0600: + case 0x106B0700: + spec->board_config = STAC_INTEL_MAC_V2; break; - case 0x106b1e00: /* MacBook Pro second generation */ - spec->board_config = STAC_MACBOOK_PRO_V2; + case 0x106B0E00: + case 0x106B0F00: + case 0x106B1600: + case 0x106B1700: + case 0x106B0200: + case 0x106B1E00: + spec->board_config = STAC_INTEL_MAC_V3; break; - case 0x106b0700: /* Intel-based iMac */ - spec->board_config = STAC_IMAC_INTEL; + case 0x106B1A00: + case 0x00000100: + spec->board_config = STAC_INTEL_MAC_V4; break; - case 0x106b1700: /* Intel iMac 20 */ - spec->board_config = STAC_IMAC_INTEL_20; + case 0x106b0A00: + case 0x106B2200: + spec->board_config = STAC_INTEL_MAC_V5; break; } }
_______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel