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>
This commit is contained in:
Misha Zhilin
2008-08-01 12:45:14 +02:00
committed by Jaroslav Kysela
parent f90c06a2b6
commit 740dc9c476
2 changed files with 15 additions and 1 deletions

View File

@@ -120,6 +120,7 @@ static int __devinit phase22_init(struct snd_ice1712 *ice)
// Configure DAC/ADC description for generic part of ice1724 // Configure DAC/ADC description for generic part of ice1724
switch (ice->eeprom.subvendor) { switch (ice->eeprom.subvendor) {
case VT1724_SUBDEVICE_PHASE22: case VT1724_SUBDEVICE_PHASE22:
case VT1724_SUBDEVICE_TS22:
ice->num_total_dacs = 2; ice->num_total_dacs = 2;
ice->num_total_adcs = 2; ice->num_total_adcs = 2;
ice->vt1720 = 1; // Envy24HT-S have 16 bit wide GPIO 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; ice->akm_codecs = 1;
switch (ice->eeprom.subvendor) { switch (ice->eeprom.subvendor) {
case VT1724_SUBDEVICE_PHASE22: case VT1724_SUBDEVICE_PHASE22:
case VT1724_SUBDEVICE_TS22:
if ((err = snd_ice1712_akm4xxx_init(ak, &akm_phase22, &akm_phase22_priv, ice)) < 0) if ((err = snd_ice1712_akm4xxx_init(ak, &akm_phase22, &akm_phase22_priv, ice)) < 0)
return err; return err;
break; break;
@@ -150,6 +152,7 @@ static int __devinit phase22_add_controls(struct snd_ice1712 *ice)
switch (ice->eeprom.subvendor) { switch (ice->eeprom.subvendor) {
case VT1724_SUBDEVICE_PHASE22: case VT1724_SUBDEVICE_PHASE22:
case VT1724_SUBDEVICE_TS22:
err = snd_ice1712_akm4xxx_build_controls(ice); err = snd_ice1712_akm4xxx_build_controls(ice);
if (err < 0) if (err < 0)
return err; return err;
@@ -904,5 +907,14 @@ struct snd_ice1712_card_info snd_vt1724_phase_cards[] __devinitdata = {
.eeprom_size = sizeof(phase28_eeprom), .eeprom_size = sizeof(phase28_eeprom),
.eeprom_data = 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 */ { } /* terminator */
}; };

View File

@@ -25,10 +25,12 @@
*/ */
#define PHASE_DEVICE_DESC "{Terratec,Phase 22},"\ #define PHASE_DEVICE_DESC "{Terratec,Phase 22},"\
"{Terratec,Phase 28}," "{Terratec,Phase 28},"\
"{Terrasoniq,TS22},"
#define VT1724_SUBDEVICE_PHASE22 0x3b155011 #define VT1724_SUBDEVICE_PHASE22 0x3b155011
#define VT1724_SUBDEVICE_PHASE28 0x3b154911 #define VT1724_SUBDEVICE_PHASE28 0x3b154911
#define VT1724_SUBDEVICE_TS22 0x3b157b11
/* entry point */ /* entry point */
extern struct snd_ice1712_card_info snd_vt1724_phase_cards[]; extern struct snd_ice1712_card_info snd_vt1724_phase_cards[];