summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMisha Zhilin <misha@epiphan.com>2008-08-01 12:45:14 +0200
committerJaroslav Kysela <perex@perex.cz>2008-08-01 13:37:16 +0200
commit740dc9c4766b462ae88a630e969ddd3ef83a6125 (patch)
treec599fc7d2601df2217fd981b837d781ed399c82d
parentf90c06a2b613eea24a77d56f24b084745c43713d (diff)
downloadlinux-3.10-740dc9c4766b462ae88a630e969ddd3ef83a6125.tar.gz
linux-3.10-740dc9c4766b462ae88a630e969ddd3ef83a6125.tar.bz2
linux-3.10-740dc9c4766b462ae88a630e969ddd3ef83a6125.zip
ALSA: ice1724 - Support for Terrasoniq/MUSONIK TS22 PCI card
Added support for Terrasoniq/MUSONIK TS22 PCI card. Signed-off-by: Misha Zhilin <misha@epiphan.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
-rw-r--r--sound/pci/ice1712/phase.c12
-rw-r--r--sound/pci/ice1712/phase.h4
2 files changed, 15 insertions, 1 deletions
diff --git a/sound/pci/ice1712/phase.c b/sound/pci/ice1712/phase.c
index 5a158b73dca..f5acdeef443 100644
--- a/sound/pci/ice1712/phase.c
+++ b/sound/pci/ice1712/phase.c
@@ -120,6 +120,7 @@ static int __devinit phase22_init(struct snd_ice1712 *ice)
// Configure DAC/ADC description for generic part of ice1724
switch (ice->eeprom.subvendor) {
case VT1724_SUBDEVICE_PHASE22:
+ case VT1724_SUBDEVICE_TS22:
ice->num_total_dacs = 2;
ice->num_total_adcs = 2;
ice->vt1720 = 1; // Envy24HT-S have 16 bit wide GPIO
@@ -136,6 +137,7 @@ static int __devinit phase22_init(struct snd_ice1712 *ice)
ice->akm_codecs = 1;
switch (ice->eeprom.subvendor) {
case VT1724_SUBDEVICE_PHASE22:
+ case VT1724_SUBDEVICE_TS22:
if ((err = snd_ice1712_akm4xxx_init(ak, &akm_phase22, &akm_phase22_priv, ice)) < 0)
return err;
break;
@@ -150,6 +152,7 @@ static int __devinit phase22_add_controls(struct snd_ice1712 *ice)
switch (ice->eeprom.subvendor) {
case VT1724_SUBDEVICE_PHASE22:
+ case VT1724_SUBDEVICE_TS22:
err = snd_ice1712_akm4xxx_build_controls(ice);
if (err < 0)
return err;
@@ -904,5 +907,14 @@ struct snd_ice1712_card_info snd_vt1724_phase_cards[] __devinitdata = {
.eeprom_size = sizeof(phase28_eeprom),
.eeprom_data = phase28_eeprom,
},
+ {
+ .subvendor = VT1724_SUBDEVICE_TS22,
+ .name = "Terrasoniq TS22 PCI",
+ .model = "TS22",
+ .chip_init = phase22_init,
+ .build_controls = phase22_add_controls,
+ .eeprom_size = sizeof(phase22_eeprom),
+ .eeprom_data = phase22_eeprom,
+ },
{ } /* terminator */
};
diff --git a/sound/pci/ice1712/phase.h b/sound/pci/ice1712/phase.h
index 13e841b5548..5f0c4dbf30d 100644
--- a/sound/pci/ice1712/phase.h
+++ b/sound/pci/ice1712/phase.h
@@ -25,10 +25,12 @@
*/
#define PHASE_DEVICE_DESC "{Terratec,Phase 22},"\
- "{Terratec,Phase 28},"
+ "{Terratec,Phase 28},"\
+ "{Terrasoniq,TS22},"
#define VT1724_SUBDEVICE_PHASE22 0x3b155011
#define VT1724_SUBDEVICE_PHASE28 0x3b154911
+#define VT1724_SUBDEVICE_TS22 0x3b157b11
/* entry point */
extern struct snd_ice1712_card_info snd_vt1724_phase_cards[];