diff options
author | Peter Lienig <lienig@rheinmetall-de.com> | 2008-04-22 11:05:07 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2008-04-24 06:00:40 -0400 |
commit | d80fd0935e2c177ae58d85cb736684ff6c00314d (patch) | |
tree | d63c3b2fdffc17079a83520e400cffe982fe47e7 /sound/pci | |
parent | f000fd80937c0d94c67f9f3e7026f1fbc8ef8873 (diff) |
[ALSA] ice1712 - Add Terrasoniq TS88 support
Added the support of Terrasonq TS88.
Signed-off-by: Peter Lienig <lienig@rheinmetall-de.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci')
-rw-r--r-- | sound/pci/ice1712/ews.c | 15 | ||||
-rw-r--r-- | sound/pci/ice1712/ews.h | 4 |
2 files changed, 18 insertions, 1 deletions
diff --git a/sound/pci/ice1712/ews.c b/sound/pci/ice1712/ews.c index 064760d2a027..013fc4f04822 100644 --- a/sound/pci/ice1712/ews.c +++ b/sound/pci/ice1712/ews.c | |||
@@ -238,6 +238,7 @@ static void snd_ice1712_ews_cs8404_spdif_write(struct snd_ice1712 *ice, unsigned | |||
238 | case ICE1712_SUBDEVICE_EWS88MT: | 238 | case ICE1712_SUBDEVICE_EWS88MT: |
239 | case ICE1712_SUBDEVICE_EWS88MT_NEW: | 239 | case ICE1712_SUBDEVICE_EWS88MT_NEW: |
240 | case ICE1712_SUBDEVICE_PHASE88: | 240 | case ICE1712_SUBDEVICE_PHASE88: |
241 | case ICE1712_SUBDEVICE_TS88: | ||
241 | if (snd_i2c_sendbytes(spec->i2cdevs[EWS_I2C_CS8404], &bits, 1) | 242 | if (snd_i2c_sendbytes(spec->i2cdevs[EWS_I2C_CS8404], &bits, 1) |
242 | != 1) | 243 | != 1) |
243 | goto _error; | 244 | goto _error; |
@@ -433,6 +434,7 @@ static int __devinit snd_ice1712_ews_init(struct snd_ice1712 *ice) | |||
433 | case ICE1712_SUBDEVICE_EWS88MT: | 434 | case ICE1712_SUBDEVICE_EWS88MT: |
434 | case ICE1712_SUBDEVICE_EWS88MT_NEW: | 435 | case ICE1712_SUBDEVICE_EWS88MT_NEW: |
435 | case ICE1712_SUBDEVICE_PHASE88: | 436 | case ICE1712_SUBDEVICE_PHASE88: |
437 | case ICE1712_SUBDEVICE_TS88: | ||
436 | ice->num_total_dacs = 8; | 438 | ice->num_total_dacs = 8; |
437 | ice->num_total_adcs = 8; | 439 | ice->num_total_adcs = 8; |
438 | break; | 440 | break; |
@@ -475,6 +477,8 @@ static int __devinit snd_ice1712_ews_init(struct snd_ice1712 *ice) | |||
475 | case ICE1712_SUBDEVICE_EWS88MT: | 477 | case ICE1712_SUBDEVICE_EWS88MT: |
476 | case ICE1712_SUBDEVICE_EWS88MT_NEW: | 478 | case ICE1712_SUBDEVICE_EWS88MT_NEW: |
477 | case ICE1712_SUBDEVICE_PHASE88: | 479 | case ICE1712_SUBDEVICE_PHASE88: |
480 | case ICE1712_SUBDEVICE_TS88: | ||
481 | |||
478 | err = snd_i2c_device_create(ice->i2c, "CS8404", | 482 | err = snd_i2c_device_create(ice->i2c, "CS8404", |
479 | ICE1712_EWS88MT_CS8404_ADDR, | 483 | ICE1712_EWS88MT_CS8404_ADDR, |
480 | &spec->i2cdevs[EWS_I2C_CS8404]); | 484 | &spec->i2cdevs[EWS_I2C_CS8404]); |
@@ -518,6 +522,7 @@ static int __devinit snd_ice1712_ews_init(struct snd_ice1712 *ice) | |||
518 | case ICE1712_SUBDEVICE_EWS88MT: | 522 | case ICE1712_SUBDEVICE_EWS88MT: |
519 | case ICE1712_SUBDEVICE_EWS88MT_NEW: | 523 | case ICE1712_SUBDEVICE_EWS88MT_NEW: |
520 | case ICE1712_SUBDEVICE_PHASE88: | 524 | case ICE1712_SUBDEVICE_PHASE88: |
525 | case ICE1712_SUBDEVICE_TS88: | ||
521 | case ICE1712_SUBDEVICE_EWS88D: | 526 | case ICE1712_SUBDEVICE_EWS88D: |
522 | /* set up CS8404 */ | 527 | /* set up CS8404 */ |
523 | ice->spdif.ops.open = ews88_open_spdif; | 528 | ice->spdif.ops.open = ews88_open_spdif; |
@@ -547,6 +552,7 @@ static int __devinit snd_ice1712_ews_init(struct snd_ice1712 *ice) | |||
547 | case ICE1712_SUBDEVICE_EWS88MT: | 552 | case ICE1712_SUBDEVICE_EWS88MT: |
548 | case ICE1712_SUBDEVICE_EWS88MT_NEW: | 553 | case ICE1712_SUBDEVICE_EWS88MT_NEW: |
549 | case ICE1712_SUBDEVICE_PHASE88: | 554 | case ICE1712_SUBDEVICE_PHASE88: |
555 | case ICE1712_SUBDEVICE_TS88: | ||
550 | err = snd_ice1712_akm4xxx_init(ak, &akm_ews88mt, &akm_ews88mt_priv, ice); | 556 | err = snd_ice1712_akm4xxx_init(ak, &akm_ews88mt, &akm_ews88mt_priv, ice); |
551 | break; | 557 | break; |
552 | case ICE1712_SUBDEVICE_EWX2496: | 558 | case ICE1712_SUBDEVICE_EWX2496: |
@@ -973,6 +979,7 @@ static int __devinit snd_ice1712_ews_add_controls(struct snd_ice1712 *ice) | |||
973 | case ICE1712_SUBDEVICE_EWS88MT: | 979 | case ICE1712_SUBDEVICE_EWS88MT: |
974 | case ICE1712_SUBDEVICE_EWS88MT_NEW: | 980 | case ICE1712_SUBDEVICE_EWS88MT_NEW: |
975 | case ICE1712_SUBDEVICE_PHASE88: | 981 | case ICE1712_SUBDEVICE_PHASE88: |
982 | case ICE1712_SUBDEVICE_TS88: | ||
976 | case ICE1712_SUBDEVICE_DMX6FIRE: | 983 | case ICE1712_SUBDEVICE_DMX6FIRE: |
977 | err = snd_ice1712_akm4xxx_build_controls(ice); | 984 | err = snd_ice1712_akm4xxx_build_controls(ice); |
978 | if (err < 0) | 985 | if (err < 0) |
@@ -992,6 +999,7 @@ static int __devinit snd_ice1712_ews_add_controls(struct snd_ice1712 *ice) | |||
992 | case ICE1712_SUBDEVICE_EWS88MT: | 999 | case ICE1712_SUBDEVICE_EWS88MT: |
993 | case ICE1712_SUBDEVICE_EWS88MT_NEW: | 1000 | case ICE1712_SUBDEVICE_EWS88MT_NEW: |
994 | case ICE1712_SUBDEVICE_PHASE88: | 1001 | case ICE1712_SUBDEVICE_PHASE88: |
1002 | case ICE1712_SUBDEVICE_TS88: | ||
995 | err = snd_ctl_add(ice->card, snd_ctl_new1(&snd_ice1712_ews88mt_input_sense, ice)); | 1003 | err = snd_ctl_add(ice->card, snd_ctl_new1(&snd_ice1712_ews88mt_input_sense, ice)); |
996 | if (err < 0) | 1004 | if (err < 0) |
997 | return err; | 1005 | return err; |
@@ -1049,6 +1057,13 @@ struct snd_ice1712_card_info snd_ice1712_ews_cards[] __devinitdata = { | |||
1049 | .build_controls = snd_ice1712_ews_add_controls, | 1057 | .build_controls = snd_ice1712_ews_add_controls, |
1050 | }, | 1058 | }, |
1051 | { | 1059 | { |
1060 | .subvendor = ICE1712_SUBDEVICE_TS88, | ||
1061 | .name = "terrasoniq TS88", | ||
1062 | .model = "phase88", | ||
1063 | .chip_init = snd_ice1712_ews_init, | ||
1064 | .build_controls = snd_ice1712_ews_add_controls, | ||
1065 | }, | ||
1066 | { | ||
1052 | .subvendor = ICE1712_SUBDEVICE_EWS88D, | 1067 | .subvendor = ICE1712_SUBDEVICE_EWS88D, |
1053 | .name = "TerraTec EWS88D", | 1068 | .name = "TerraTec EWS88D", |
1054 | .model = "ews88d", | 1069 | .model = "ews88d", |
diff --git a/sound/pci/ice1712/ews.h b/sound/pci/ice1712/ews.h index e4ed1b475b08..1c443718af03 100644 --- a/sound/pci/ice1712/ews.h +++ b/sound/pci/ice1712/ews.h | |||
@@ -30,7 +30,8 @@ | |||
30 | "{TerraTec,EWS 88MT},"\ | 30 | "{TerraTec,EWS 88MT},"\ |
31 | "{TerraTec,EWS 88D},"\ | 31 | "{TerraTec,EWS 88D},"\ |
32 | "{TerraTec,DMX 6Fire},"\ | 32 | "{TerraTec,DMX 6Fire},"\ |
33 | "{TerraTec,Phase 88}," | 33 | "{TerraTec,Phase 88}," \ |
34 | "{terrasoniq,TS 88}," | ||
34 | 35 | ||
35 | #define ICE1712_SUBDEVICE_EWX2496 0x3b153011 | 36 | #define ICE1712_SUBDEVICE_EWX2496 0x3b153011 |
36 | #define ICE1712_SUBDEVICE_EWS88MT 0x3b151511 | 37 | #define ICE1712_SUBDEVICE_EWS88MT 0x3b151511 |
@@ -38,6 +39,7 @@ | |||
38 | #define ICE1712_SUBDEVICE_EWS88D 0x3b152b11 | 39 | #define ICE1712_SUBDEVICE_EWS88D 0x3b152b11 |
39 | #define ICE1712_SUBDEVICE_DMX6FIRE 0x3b153811 | 40 | #define ICE1712_SUBDEVICE_DMX6FIRE 0x3b153811 |
40 | #define ICE1712_SUBDEVICE_PHASE88 0x3b155111 | 41 | #define ICE1712_SUBDEVICE_PHASE88 0x3b155111 |
42 | #define ICE1712_SUBDEVICE_TS88 0x3b157c11 | ||
41 | 43 | ||
42 | /* entry point */ | 44 | /* entry point */ |
43 | extern struct snd_ice1712_card_info snd_ice1712_ews_cards[]; | 45 | extern struct snd_ice1712_card_info snd_ice1712_ews_cards[]; |