• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/src/linux/linux-2.6/sound/pci/ice1712/

Lines Matching refs:ice

105 static void aureon_pca9554_write(struct snd_ice1712 *ice, unsigned char reg,
113 tmp = snd_ice1712_gpio_read(ice);
115 snd_ice1712_gpio_set_mask(ice, ~(AUREON_SPI_MOSI|AUREON_SPI_CLK|
123 snd_ice1712_gpio_write(ice, tmp);
131 snd_ice1712_gpio_write(ice, tmp);
134 snd_ice1712_gpio_write(ice, tmp);
137 snd_ice1712_gpio_write(ice, tmp);
140 snd_ice1712_gpio_write(ice, tmp);
154 snd_ice1712_gpio_write(ice, tmp);
160 snd_ice1712_gpio_write(ice, tmp);
163 snd_ice1712_gpio_write(ice, tmp);
167 snd_ice1712_gpio_write(ice, tmp);
170 snd_ice1712_gpio_write(ice, tmp);
173 snd_ice1712_gpio_write(ice, tmp);
177 snd_ice1712_gpio_write(ice, tmp);
180 snd_ice1712_gpio_write(ice, tmp);
183 snd_ice1712_gpio_write(ice, tmp);
186 snd_ice1712_gpio_write(ice, tmp);
207 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
208 ucontrol->value.integer.value[0] = ice->spec.aureon.pca9554_out;
215 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
219 snd_ice1712_save_gpio_status(ice);
221 oval = ice->spec.aureon.pca9554_out;
224 aureon_pca9554_write(ice, PCA9554_OUT, nval);
225 ice->spec.aureon.pca9554_out = nval;
227 snd_ice1712_restore_gpio_status(ice);
233 static void aureon_ac97_write(struct snd_ice1712 *ice, unsigned short reg,
239 tmp = (snd_ice1712_gpio_read(ice) & ~0xFF) | (reg & 0x7F);
240 snd_ice1712_gpio_write(ice, tmp);
243 snd_ice1712_gpio_write(ice, tmp);
246 snd_ice1712_gpio_write(ice, tmp);
252 snd_ice1712_gpio_write(ice, tmp);
255 snd_ice1712_gpio_write(ice, tmp);
258 snd_ice1712_gpio_write(ice, tmp);
265 snd_ice1712_gpio_write(ice, tmp);
268 snd_ice1712_gpio_write(ice, tmp);
271 snd_ice1712_gpio_write(ice, tmp);
276 snd_ice1712_gpio_write(ice, tmp);
279 snd_ice1712_gpio_write(ice, tmp);
283 ice->spec.aureon.stac9744[(reg & 0x7F) >> 1] = val;
286 static unsigned short aureon_ac97_read(struct snd_ice1712 *ice, unsigned short reg)
288 return ice->spec.aureon.stac9744[(reg & 0x7F) >> 1];
294 static int aureon_ac97_init (struct snd_ice1712 *ice)
321 tmp = (snd_ice1712_gpio_read(ice) | AUREON_AC97_RESET) & ~AUREON_AC97_DATA_MASK;
322 snd_ice1712_gpio_write(ice, tmp);
326 snd_ice1712_gpio_write(ice, tmp);
330 snd_ice1712_gpio_write(ice, tmp);
333 memset(&ice->spec.aureon.stac9744, 0, sizeof(ice->spec.aureon.stac9744));
335 ice->spec.aureon.stac9744[(ac97_defaults[i]) >> 1] = ac97_defaults[i+1];
337 aureon_ac97_write(ice, AC97_MASTER, 0x0000); // Unmute AC'97 master volume permanently - muting is done by WM8770
358 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
361 mutex_lock(&ice->gpio_mutex);
363 vol = aureon_ac97_read(ice, kcontrol->private_value & 0x7F);
368 mutex_unlock(&ice->gpio_mutex);
374 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
378 snd_ice1712_save_gpio_status(ice);
380 ovol = aureon_ac97_read(ice, kcontrol->private_value & 0x7F);
387 aureon_ac97_write(ice, kcontrol->private_value & 0x7F, nvol);
389 snd_ice1712_restore_gpio_status(ice);
401 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
403 mutex_lock(&ice->gpio_mutex);
405 ucontrol->value.integer.value[0] = aureon_ac97_read(ice, kcontrol->private_value & 0x7F) & 0x8000 ? 0 : 1;
407 mutex_unlock(&ice->gpio_mutex);
413 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
417 snd_ice1712_save_gpio_status(ice);
419 ovol = aureon_ac97_read(ice, kcontrol->private_value & 0x7F);
423 aureon_ac97_write(ice, kcontrol->private_value & 0x7F, nvol);
425 snd_ice1712_restore_gpio_status(ice);
437 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
439 mutex_lock(&ice->gpio_mutex);
441 ucontrol->value.integer.value[0] = aureon_ac97_read(ice, AC97_MIC) & 0x0020 ? 0 : 1;
443 mutex_unlock(&ice->gpio_mutex);
449 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
453 snd_ice1712_save_gpio_status(ice);
455 ovol = aureon_ac97_read(ice, AC97_MIC);
459 aureon_ac97_write(ice, AC97_MIC, nvol);
461 snd_ice1712_restore_gpio_status(ice);
469 static void aureon_spi_write(struct snd_ice1712 *ice, unsigned int cs, unsigned int data, int bits)
475 tmp = snd_ice1712_gpio_read(ice);
477 if (ice->eeprom.subvendor == VT1724_SUBDEVICE_PRODIGY71LT ||
478 ice->eeprom.subvendor == VT1724_SUBDEVICE_PRODIGY71XT) {
479 snd_ice1712_gpio_set_mask(ice, ~(PRODIGY_SPI_MOSI|PRODIGY_SPI_CLK|PRODIGY_WM_CS));
484 snd_ice1712_gpio_set_mask(ice, ~(AUREON_WM_RW|AUREON_SPI_MOSI|AUREON_SPI_CLK|
493 snd_ice1712_gpio_write(ice, tmp);
498 snd_ice1712_gpio_write(ice, tmp);
504 snd_ice1712_gpio_write(ice, tmp);
507 snd_ice1712_gpio_write(ice, tmp);
513 snd_ice1712_gpio_write(ice, tmp);
516 snd_ice1712_gpio_write(ice, tmp);
523 static void aureon_spi_read(struct snd_ice1712 *ice, unsigned int cs, unsigned int data, int bits, unsigned char *buffer, int size) {
527 tmp = (snd_ice1712_gpio_read(ice) & ~AUREON_SPI_CLK) | AUREON_CS8415_CS|AUREON_WM_CS;
528 snd_ice1712_gpio_write(ice, tmp);
530 snd_ice1712_gpio_write(ice, tmp);
538 snd_ice1712_gpio_write(ice, tmp);
542 snd_ice1712_gpio_write(ice, tmp);
546 snd_ice1712_gpio_write(ice, tmp);
553 tmp = snd_ice1712_gpio_read(ice);
559 snd_ice1712_gpio_write(ice, tmp);
563 snd_ice1712_gpio_write(ice, tmp);
570 snd_ice1712_gpio_write(ice, tmp);
573 static unsigned char aureon_cs8415_get(struct snd_ice1712 *ice, int reg) {
575 aureon_spi_write(ice, AUREON_CS8415_CS, 0x2000 | reg, 16);
576 aureon_spi_read(ice, AUREON_CS8415_CS, 0x21, 8, &val, 1);
580 static void aureon_cs8415_read(struct snd_ice1712 *ice, int reg, unsigned char *buffer, int size) {
581 aureon_spi_write(ice, AUREON_CS8415_CS, 0x2000 | reg, 16);
582 aureon_spi_read(ice, AUREON_CS8415_CS, 0x21, 8, buffer, size);
585 static void aureon_cs8415_put(struct snd_ice1712 *ice, int reg, unsigned char val) {
586 aureon_spi_write(ice, AUREON_CS8415_CS, 0x200000 | (reg << 8) | val, 24);
592 static unsigned short wm_get(struct snd_ice1712 *ice, int reg)
595 return ((unsigned short)ice->akm[0].images[reg] << 8) |
596 ice->akm[0].images[reg + 1];
602 static void wm_put_nocache(struct snd_ice1712 *ice, int reg, unsigned short val)
604 aureon_spi_write(ice,
605 ((ice->eeprom.subvendor == VT1724_SUBDEVICE_PRODIGY71LT ||
606 ice->eeprom.subvendor == VT1724_SUBDEVICE_PRODIGY71XT) ?
614 static void wm_put(struct snd_ice1712 *ice, int reg, unsigned short val)
616 wm_put_nocache(ice, reg, val);
618 ice->akm[0].images[reg] = val >> 8;
619 ice->akm[0].images[reg + 1] = val;
640 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
642 mutex_lock(&ice->gpio_mutex);
644 ucontrol->value.integer.value[0] = (wm_get(ice, WM_OUT_MUX1) >> 1) & 0x01;
646 mutex_unlock(&ice->gpio_mutex);
651 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
655 snd_ice1712_save_gpio_status(ice);
657 ovol = wm_get(ice, WM_OUT_MUX1);
660 wm_put(ice, WM_OUT_MUX1, nvol);
662 snd_ice1712_restore_gpio_status(ice);
695 static void wm_set_vol(struct snd_ice1712 *ice, unsigned int index, unsigned short vol, unsigned short master)
704 wm_put(ice, index, nvol);
705 wm_put_nocache(ice, index, 0x180 | nvol);
715 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
717 mutex_lock(&ice->gpio_mutex);
718 ucontrol->value.integer.value[0] = (wm_get(ice, WM_MUTE) & 0x10) ? 0 : 1;
719 mutex_unlock(&ice->gpio_mutex);
725 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
729 snd_ice1712_save_gpio_status(ice);
730 oval = wm_get(ice, WM_MUTE);
733 wm_put(ice, WM_MUTE, nval);
734 snd_ice1712_restore_gpio_status(ice);
753 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
756 ucontrol->value.integer.value[i] = ice->spec.aureon.master[i] & ~WM_VOL_MUTE;
762 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
765 snd_ice1712_save_gpio_status(ice);
767 if (ucontrol->value.integer.value[ch] != ice->spec.aureon.master[ch]) {
769 ice->spec.aureon.master[ch] &= WM_VOL_MUTE;
770 ice->spec.aureon.master[ch] |= ucontrol->value.integer.value[ch];
771 for (dac = 0; dac < ice->num_total_dacs; dac += 2)
772 wm_set_vol(ice, WM_DAC_ATTEN + dac + ch,
773 ice->spec.aureon.vol[dac + ch],
774 ice->spec.aureon.master[ch]);
778 snd_ice1712_restore_gpio_status(ice);
797 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
803 ucontrol->value.integer.value[i] = ice->spec.aureon.vol[ofs+i] & ~WM_VOL_MUTE;
809 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
815 snd_ice1712_save_gpio_status(ice);
818 if (ucontrol->value.integer.value[i] != ice->spec.aureon.vol[ofs+i]) {
819 ice->spec.aureon.vol[ofs+i] &= WM_VOL_MUTE;
820 ice->spec.aureon.vol[ofs+i] |= ucontrol->value.integer.value[i];
821 wm_set_vol(ice, idx, ice->spec.aureon.vol[ofs+i],
822 ice->spec.aureon.master[i]);
826 snd_ice1712_restore_gpio_status(ice);
843 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
850 ucontrol->value.integer.value[i] = (ice->spec.aureon.vol[ofs+i] & WM_VOL_MUTE) ? 0 : 1;
856 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
862 snd_ice1712_save_gpio_status(ice);
864 int val = (ice->spec.aureon.vol[ofs + i] & WM_VOL_MUTE) ? 0 : 1;
866 ice->spec.aureon.vol[ofs + i] &= ~WM_VOL_MUTE;
867 ice->spec.aureon.vol[ofs + i] |=
869 wm_set_vol(ice, ofs + i, ice->spec.aureon.vol[ofs + i],
870 ice->spec.aureon.master[i]);
874 snd_ice1712_restore_gpio_status(ice);
892 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
894 ucontrol->value.integer.value[0] = (ice->spec.aureon.master[0] & WM_VOL_MUTE) ? 0 : 1;
895 ucontrol->value.integer.value[1] = (ice->spec.aureon.master[1] & WM_VOL_MUTE) ? 0 : 1;
901 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
904 snd_ice1712_save_gpio_status(ice);
906 int val = (ice->spec.aureon.master[i] & WM_VOL_MUTE) ? 0 : 1;
909 ice->spec.aureon.master[i] &= ~WM_VOL_MUTE;
910 ice->spec.aureon.master[i] |=
912 for (dac = 0; dac < ice->num_total_dacs; dac += 2)
913 wm_set_vol(ice, WM_DAC_ATTEN + dac + i,
914 ice->spec.aureon.vol[dac + i],
915 ice->spec.aureon.master[i]);
919 snd_ice1712_restore_gpio_status(ice);
939 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
942 mutex_lock(&ice->gpio_mutex);
943 val = wm_get(ice, WM_DAC_DIG_MASTER_ATTEN) & 0xff;
946 mutex_unlock(&ice->gpio_mutex);
952 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
956 snd_ice1712_save_gpio_status(ice);
959 ovol = wm_get(ice, WM_DAC_DIG_MASTER_ATTEN) & 0xff;
961 wm_put(ice, WM_DAC_DIG_MASTER_ATTEN, nvol); /* prelatch */
962 wm_put_nocache(ice, WM_DAC_DIG_MASTER_ATTEN, nvol | 0x100); /* update */
965 snd_ice1712_restore_gpio_status(ice);
983 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
987 mutex_lock(&ice->gpio_mutex);
989 val = wm_get(ice, WM_ADC_GAIN + i);
992 mutex_unlock(&ice->gpio_mutex);
998 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
1002 snd_ice1712_save_gpio_status(ice);
1004 old = wm_get(ice, WM_ADC_GAIN + i);
1007 wm_put(ice, WM_ADC_GAIN + i, new);
1011 snd_ice1712_restore_gpio_status(ice);
1030 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
1034 mutex_lock(&ice->gpio_mutex);
1037 vol = wm_get(ice, idx) & 0x1f;
1040 mutex_unlock(&ice->gpio_mutex);
1046 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
1051 snd_ice1712_save_gpio_status(ice);
1055 ovol = wm_get(ice, idx);
1057 wm_put(ice, idx, nvol | (ovol & ~0x1f));
1061 snd_ice1712_restore_gpio_status(ice);
1087 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
1091 if (ice->eeprom.subvendor == VT1724_SUBDEVICE_AUREON71_UNIVERSE) {
1108 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
1111 mutex_lock(&ice->gpio_mutex);
1112 val = wm_get(ice, WM_ADC_MUX);
1115 mutex_unlock(&ice->gpio_mutex);
1121 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
1125 snd_ice1712_save_gpio_status(ice);
1126 oval = wm_get(ice, WM_ADC_MUX);
1132 wm_put(ice, WM_ADC_MUX, nval);
1133 snd_ice1712_restore_gpio_status(ice);
1142 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
1156 if (ice->eeprom.subvendor == VT1724_SUBDEVICE_PRODIGY71)
1165 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
1167 //snd_ice1712_save_gpio_status(ice);
1168 //val = aureon_cs8415_get(ice, CS8415_CTRL2);
1169 ucontrol->value.enumerated.item[0] = ice->spec.aureon.cs8415_mux;
1170 //snd_ice1712_restore_gpio_status(ice);
1176 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
1180 snd_ice1712_save_gpio_status(ice);
1181 oval = aureon_cs8415_get(ice, CS8415_CTRL2);
1186 aureon_cs8415_put(ice, CS8415_CTRL2, nval);
1187 snd_ice1712_restore_gpio_status(ice);
1188 ice->spec.aureon.cs8415_mux = ucontrol->value.enumerated.item[0];
1203 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
1205 ratio = aureon_cs8415_get(ice, CS8415_RATIO);
1222 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
1223 snd_ice1712_save_gpio_status(ice);
1224 ucontrol->value.integer.value[0] = (aureon_cs8415_get(ice, CS8415_CTRL1) & 0x20) ? 0 : 1;
1225 snd_ice1712_restore_gpio_status(ice);
1231 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
1234 snd_ice1712_save_gpio_status(ice);
1235 oval = aureon_cs8415_get(ice, CS8415_CTRL1);
1241 aureon_cs8415_put(ice, CS8415_CTRL1, nval);
1242 snd_ice1712_restore_gpio_status(ice);
1256 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
1258 snd_ice1712_save_gpio_status(ice);
1259 aureon_cs8415_read(ice, CS8415_QSUB, ucontrol->value.bytes.data, 10);
1260 snd_ice1712_restore_gpio_status(ice);
1277 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
1279 snd_ice1712_save_gpio_status(ice);
1280 aureon_cs8415_read(ice, CS8415_C_BUFFER, ucontrol->value.iec958.status, 24);
1281 snd_ice1712_restore_gpio_status(ice);
1288 static int aureon_set_headphone_amp(struct snd_ice1712 *ice, int enable)
1292 tmp2 = tmp = snd_ice1712_gpio_read(ice);
1294 if (ice->eeprom.subvendor != VT1724_SUBDEVICE_PRODIGY71LT &&
1295 ice->eeprom.subvendor != VT1724_SUBDEVICE_PRODIGY71XT)
1300 if (ice->eeprom.subvendor != VT1724_SUBDEVICE_PRODIGY71LT &&
1301 ice->eeprom.subvendor != VT1724_SUBDEVICE_PRODIGY71XT)
1306 snd_ice1712_gpio_write(ice, tmp);
1312 static int aureon_get_headphone_amp(struct snd_ice1712 *ice)
1314 unsigned int tmp = snd_ice1712_gpio_read(ice);
1323 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
1325 ucontrol->value.integer.value[0] = aureon_get_headphone_amp(ice);
1332 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
1334 return aureon_set_headphone_amp(ice,ucontrol->value.integer.value[0]);
1345 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
1346 ucontrol->value.integer.value[0] = (wm_get(ice, WM_DAC_CTRL2) & 0xf) == 0xf;
1352 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
1354 temp2 = temp = wm_get(ice, WM_DAC_CTRL2);
1360 wm_put(ice, WM_DAC_CTRL2, temp);
1386 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
1387 ucontrol->value.enumerated.item[0] = (wm_get(ice, WM_MASTER) & 0x8) == 0x8;
1394 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
1396 temp2 = temp = wm_get(ice, WM_MASTER);
1404 wm_put(ice, WM_MASTER, temp);
1877 static int __devinit aureon_add_controls(struct snd_ice1712 *ice)
1883 if (ice->eeprom.subvendor == VT1724_SUBDEVICE_AUREON51_SKY)
1886 err = snd_ctl_add(ice->card, snd_ctl_new1(&aureon_dac_controls[i], ice));
1892 err = snd_ctl_add(ice->card, snd_ctl_new1(&wm_controls[i], ice));
1897 if (ice->eeprom.subvendor == VT1724_SUBDEVICE_AUREON71_UNIVERSE) {
1899 err = snd_ctl_add(ice->card, snd_ctl_new1(&universe_ac97_controls[i], ice));
1904 else if (ice->eeprom.subvendor != VT1724_SUBDEVICE_PRODIGY71LT &&
1905 ice->eeprom.subvendor != VT1724_SUBDEVICE_PRODIGY71XT) {
1907 err = snd_ctl_add(ice->card, snd_ctl_new1(&ac97_controls[i], ice));
1913 if (ice->eeprom.subvendor != VT1724_SUBDEVICE_PRODIGY71LT &&
1914 ice->eeprom.subvendor != VT1724_SUBDEVICE_PRODIGY71XT) {
1916 snd_ice1712_save_gpio_status(ice);
1917 id = aureon_cs8415_get(ice, CS8415_ID);
1925 err = snd_ctl_add(ice->card, (kctl = snd_ctl_new1(&cs8415_controls[i], ice)));
1929 kctl->id.device = ice->pcm->device;
1932 snd_ice1712_restore_gpio_status(ice);
1942 static int __devinit aureon_init(struct snd_ice1712 *ice)
2033 if (ice->eeprom.subvendor == VT1724_SUBDEVICE_AUREON51_SKY) {
2034 ice->num_total_dacs = 6;
2035 ice->num_total_adcs = 2;
2038 ice->num_total_dacs = 8;
2039 ice->num_total_adcs = 2;
2043 ice->akm = kzalloc(sizeof(struct snd_akm4xxx), GFP_KERNEL);
2044 if (! ice->akm)
2046 ice->akm_codecs = 1;
2048 if ((err = aureon_ac97_init(ice)) != 0)
2051 snd_ice1712_gpio_set_dir(ice, 0x5fffff); /* fix this for the time being */
2054 snd_ice1712_save_gpio_status(ice);
2055 snd_ice1712_gpio_set_mask(ice, ~(AUREON_WM_RESET|AUREON_WM_CS|AUREON_CS8415_CS|AUREON_HP_SEL));
2057 tmp = snd_ice1712_gpio_read(ice);
2059 snd_ice1712_gpio_write(ice, tmp);
2062 snd_ice1712_gpio_write(ice, tmp);
2065 snd_ice1712_gpio_write(ice, tmp);
2069 if (ice->eeprom.subvendor == VT1724_SUBDEVICE_PRODIGY71 ||
2070 ice->eeprom.subvendor == VT1724_SUBDEVICE_PRODIGY71LT ||
2071 ice->eeprom.subvendor == VT1724_SUBDEVICE_PRODIGY71XT)
2076 wm_put(ice, p[0], p[1]);
2079 if (ice->eeprom.subvendor != VT1724_SUBDEVICE_PRODIGY71LT &&
2080 ice->eeprom.subvendor != VT1724_SUBDEVICE_PRODIGY71XT) {
2082 aureon_spi_write(ice, AUREON_CS8415_CS, *p | 0x200000, 24);
2083 ice->spec.aureon.cs8415_mux = 1;
2085 aureon_set_headphone_amp(ice, 1);
2088 snd_ice1712_restore_gpio_status(ice);
2091 aureon_pca9554_write(ice, PCA9554_DIR, 0x00);
2092 aureon_pca9554_write(ice, PCA9554_OUT, 0x00); /* internal AUX */
2094 ice->spec.aureon.master[0] = WM_VOL_MUTE;
2095 ice->spec.aureon.master[1] = WM_VOL_MUTE;
2096 for (i = 0; i < ice->num_total_dacs; i++) {
2097 ice->spec.aureon.vol[i] = WM_VOL_MUTE;
2098 wm_set_vol(ice, i, ice->spec.aureon.vol[i], ice->spec.aureon.master[i % 2]);