aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/ice1712
diff options
context:
space:
mode:
authorMisha Zhilin <misha@epiphan.com>2008-08-01 06:45:14 -0400
committerJaroslav Kysela <perex@perex.cz>2008-08-01 07:37:16 -0400
commit740dc9c4766b462ae88a630e969ddd3ef83a6125 (patch)
treec599fc7d2601df2217fd981b837d781ed399c82d /sound/pci/ice1712
parentf90c06a2b613eea24a77d56f24b084745c43713d (diff)
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>
Diffstat (limited to 'sound/pci/ice1712')
-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 5a158b73dcaa..f5acdeef4438 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)
120 // Configure DAC/ADC description for generic part of ice1724 120 // Configure DAC/ADC description for generic part of ice1724
121 switch (ice->eeprom.subvendor) { 121 switch (ice->eeprom.subvendor) {
122 case VT1724_SUBDEVICE_PHASE22: 122 case VT1724_SUBDEVICE_PHASE22:
123 case VT1724_SUBDEVICE_TS22:
123 ice->num_total_dacs = 2; 124 ice->num_total_dacs = 2;
124 ice->num_total_adcs = 2; 125 ice->num_total_adcs = 2;
125 ice->vt1720 = 1; // Envy24HT-S have 16 bit wide GPIO 126 ice->vt1720 = 1; // Envy24HT-S have 16 bit wide GPIO
@@ -136,6 +137,7 @@ static int __devinit phase22_init(struct snd_ice1712 *ice)
136 ice->akm_codecs = 1; 137 ice->akm_codecs = 1;
137 switch (ice->eeprom.subvendor) { 138 switch (ice->eeprom.subvendor) {
138 case VT1724_SUBDEVICE_PHASE22: 139 case VT1724_SUBDEVICE_PHASE22:
140 case VT1724_SUBDEVICE_TS22:
139 if ((err = snd_ice1712_akm4xxx_init(ak, &akm_phase22, &akm_phase22_priv, ice)) < 0) 141 if ((err = snd_ice1712_akm4xxx_init(ak, &akm_phase22, &akm_phase22_priv, ice)) < 0)
140 return err; 142 return err;
141 break; 143 break;
@@ -150,6 +152,7 @@ static int __devinit phase22_add_controls(struct snd_ice1712 *ice)
150 152
151 switch (ice->eeprom.subvendor) { 153 switch (ice->eeprom.subvendor) {
152 case VT1724_SUBDEVICE_PHASE22: 154 case VT1724_SUBDEVICE_PHASE22:
155 case VT1724_SUBDEVICE_TS22:
153 err = snd_ice1712_akm4xxx_build_controls(ice); 156 err = snd_ice1712_akm4xxx_build_controls(ice);
154 if (err < 0) 157 if (err < 0)
155 return err; 158 return err;
@@ -904,5 +907,14 @@ struct snd_ice1712_card_info snd_vt1724_phase_cards[] __devinitdata = {
904 .eeprom_size = sizeof(phase28_eeprom), 907 .eeprom_size = sizeof(phase28_eeprom),
905 .eeprom_data = phase28_eeprom, 908 .eeprom_data = phase28_eeprom,
906 }, 909 },
910 {
911 .subvendor = VT1724_SUBDEVICE_TS22,
912 .name = "Terrasoniq TS22 PCI",
913 .model = "TS22",
914 .chip_init = phase22_init,
915 .build_controls = phase22_add_controls,
916 .eeprom_size = sizeof(phase22_eeprom),
917 .eeprom_data = phase22_eeprom,
918 },
907 { } /* terminator */ 919 { } /* terminator */
908}; 920};
diff --git a/sound/pci/ice1712/phase.h b/sound/pci/ice1712/phase.h
index 13e841b55488..5f0c4dbf30d5 100644
--- a/sound/pci/ice1712/phase.h
+++ b/sound/pci/ice1712/phase.h
@@ -25,10 +25,12 @@
25 */ 25 */
26 26
27#define PHASE_DEVICE_DESC "{Terratec,Phase 22},"\ 27#define PHASE_DEVICE_DESC "{Terratec,Phase 22},"\
28 "{Terratec,Phase 28}," 28 "{Terratec,Phase 28},"\
29 "{Terrasoniq,TS22},"
29 30
30#define VT1724_SUBDEVICE_PHASE22 0x3b155011 31#define VT1724_SUBDEVICE_PHASE22 0x3b155011
31#define VT1724_SUBDEVICE_PHASE28 0x3b154911 32#define VT1724_SUBDEVICE_PHASE28 0x3b154911
33#define VT1724_SUBDEVICE_TS22 0x3b157b11
32 34
33/* entry point */ 35/* entry point */
34extern struct snd_ice1712_card_info snd_vt1724_phase_cards[]; 36extern struct snd_ice1712_card_info snd_vt1724_phase_cards[];