ALSA: ice1724 - Support for Terrasoniq/MUSONIK TS22 PCI card
authorMisha Zhilin <misha@epiphan.com>
Fri, 1 Aug 2008 10:45:14 +0000 (12:45 +0200)
committerJaroslav Kysela <perex@perex.cz>
Fri, 1 Aug 2008 11:37:16 +0000 (13:37 +0200)
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>
sound/pci/ice1712/phase.c
sound/pci/ice1712/phase.h

index 5a158b7..f5acdee 100644 (file)
@@ -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 */
 };
index 13e841b..5f0c4db 100644 (file)
  */      
 
 #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[];