Commit 740dc9c4 authored by Misha Zhilin's avatar Misha Zhilin Committed by Jaroslav Kysela

ALSA: ice1724 - Support for Terrasoniq/MUSONIK TS22 PCI card

Added support for Terrasoniq/MUSONIK TS22 PCI card.
Signed-off-by: default avatarMisha Zhilin <misha@epiphan.com>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
Signed-off-by: default avatarJaroslav Kysela <perex@perex.cz>
parent f90c06a2
...@@ -120,6 +120,7 @@ static int __devinit phase22_init(struct snd_ice1712 *ice) ...@@ -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) ...@@ -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) ...@@ -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 = { ...@@ -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 */
}; };
...@@ -25,10 +25,12 @@ ...@@ -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[];
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment