mirror of
https://github.com/team-infusion-developers/android_kernel_samsung_msm8976.git
synced 2024-09-21 11:53:01 +00:00
[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>
This commit is contained in:
parent
f000fd8093
commit
d80fd0935e
|
@ -238,6 +238,7 @@ static void snd_ice1712_ews_cs8404_spdif_write(struct snd_ice1712 *ice, unsigned
|
||||||
case ICE1712_SUBDEVICE_EWS88MT:
|
case ICE1712_SUBDEVICE_EWS88MT:
|
||||||
case ICE1712_SUBDEVICE_EWS88MT_NEW:
|
case ICE1712_SUBDEVICE_EWS88MT_NEW:
|
||||||
case ICE1712_SUBDEVICE_PHASE88:
|
case ICE1712_SUBDEVICE_PHASE88:
|
||||||
|
case ICE1712_SUBDEVICE_TS88:
|
||||||
if (snd_i2c_sendbytes(spec->i2cdevs[EWS_I2C_CS8404], &bits, 1)
|
if (snd_i2c_sendbytes(spec->i2cdevs[EWS_I2C_CS8404], &bits, 1)
|
||||||
!= 1)
|
!= 1)
|
||||||
goto _error;
|
goto _error;
|
||||||
|
@ -433,6 +434,7 @@ static int __devinit snd_ice1712_ews_init(struct snd_ice1712 *ice)
|
||||||
case ICE1712_SUBDEVICE_EWS88MT:
|
case ICE1712_SUBDEVICE_EWS88MT:
|
||||||
case ICE1712_SUBDEVICE_EWS88MT_NEW:
|
case ICE1712_SUBDEVICE_EWS88MT_NEW:
|
||||||
case ICE1712_SUBDEVICE_PHASE88:
|
case ICE1712_SUBDEVICE_PHASE88:
|
||||||
|
case ICE1712_SUBDEVICE_TS88:
|
||||||
ice->num_total_dacs = 8;
|
ice->num_total_dacs = 8;
|
||||||
ice->num_total_adcs = 8;
|
ice->num_total_adcs = 8;
|
||||||
break;
|
break;
|
||||||
|
@ -475,6 +477,8 @@ static int __devinit snd_ice1712_ews_init(struct snd_ice1712 *ice)
|
||||||
case ICE1712_SUBDEVICE_EWS88MT:
|
case ICE1712_SUBDEVICE_EWS88MT:
|
||||||
case ICE1712_SUBDEVICE_EWS88MT_NEW:
|
case ICE1712_SUBDEVICE_EWS88MT_NEW:
|
||||||
case ICE1712_SUBDEVICE_PHASE88:
|
case ICE1712_SUBDEVICE_PHASE88:
|
||||||
|
case ICE1712_SUBDEVICE_TS88:
|
||||||
|
|
||||||
err = snd_i2c_device_create(ice->i2c, "CS8404",
|
err = snd_i2c_device_create(ice->i2c, "CS8404",
|
||||||
ICE1712_EWS88MT_CS8404_ADDR,
|
ICE1712_EWS88MT_CS8404_ADDR,
|
||||||
&spec->i2cdevs[EWS_I2C_CS8404]);
|
&spec->i2cdevs[EWS_I2C_CS8404]);
|
||||||
|
@ -518,6 +522,7 @@ static int __devinit snd_ice1712_ews_init(struct snd_ice1712 *ice)
|
||||||
case ICE1712_SUBDEVICE_EWS88MT:
|
case ICE1712_SUBDEVICE_EWS88MT:
|
||||||
case ICE1712_SUBDEVICE_EWS88MT_NEW:
|
case ICE1712_SUBDEVICE_EWS88MT_NEW:
|
||||||
case ICE1712_SUBDEVICE_PHASE88:
|
case ICE1712_SUBDEVICE_PHASE88:
|
||||||
|
case ICE1712_SUBDEVICE_TS88:
|
||||||
case ICE1712_SUBDEVICE_EWS88D:
|
case ICE1712_SUBDEVICE_EWS88D:
|
||||||
/* set up CS8404 */
|
/* set up CS8404 */
|
||||||
ice->spdif.ops.open = ews88_open_spdif;
|
ice->spdif.ops.open = ews88_open_spdif;
|
||||||
|
@ -547,6 +552,7 @@ static int __devinit snd_ice1712_ews_init(struct snd_ice1712 *ice)
|
||||||
case ICE1712_SUBDEVICE_EWS88MT:
|
case ICE1712_SUBDEVICE_EWS88MT:
|
||||||
case ICE1712_SUBDEVICE_EWS88MT_NEW:
|
case ICE1712_SUBDEVICE_EWS88MT_NEW:
|
||||||
case ICE1712_SUBDEVICE_PHASE88:
|
case ICE1712_SUBDEVICE_PHASE88:
|
||||||
|
case ICE1712_SUBDEVICE_TS88:
|
||||||
err = snd_ice1712_akm4xxx_init(ak, &akm_ews88mt, &akm_ews88mt_priv, ice);
|
err = snd_ice1712_akm4xxx_init(ak, &akm_ews88mt, &akm_ews88mt_priv, ice);
|
||||||
break;
|
break;
|
||||||
case ICE1712_SUBDEVICE_EWX2496:
|
case ICE1712_SUBDEVICE_EWX2496:
|
||||||
|
@ -973,6 +979,7 @@ static int __devinit snd_ice1712_ews_add_controls(struct snd_ice1712 *ice)
|
||||||
case ICE1712_SUBDEVICE_EWS88MT:
|
case ICE1712_SUBDEVICE_EWS88MT:
|
||||||
case ICE1712_SUBDEVICE_EWS88MT_NEW:
|
case ICE1712_SUBDEVICE_EWS88MT_NEW:
|
||||||
case ICE1712_SUBDEVICE_PHASE88:
|
case ICE1712_SUBDEVICE_PHASE88:
|
||||||
|
case ICE1712_SUBDEVICE_TS88:
|
||||||
case ICE1712_SUBDEVICE_DMX6FIRE:
|
case ICE1712_SUBDEVICE_DMX6FIRE:
|
||||||
err = snd_ice1712_akm4xxx_build_controls(ice);
|
err = snd_ice1712_akm4xxx_build_controls(ice);
|
||||||
if (err < 0)
|
if (err < 0)
|
||||||
|
@ -992,6 +999,7 @@ static int __devinit snd_ice1712_ews_add_controls(struct snd_ice1712 *ice)
|
||||||
case ICE1712_SUBDEVICE_EWS88MT:
|
case ICE1712_SUBDEVICE_EWS88MT:
|
||||||
case ICE1712_SUBDEVICE_EWS88MT_NEW:
|
case ICE1712_SUBDEVICE_EWS88MT_NEW:
|
||||||
case ICE1712_SUBDEVICE_PHASE88:
|
case ICE1712_SUBDEVICE_PHASE88:
|
||||||
|
case ICE1712_SUBDEVICE_TS88:
|
||||||
err = snd_ctl_add(ice->card, snd_ctl_new1(&snd_ice1712_ews88mt_input_sense, ice));
|
err = snd_ctl_add(ice->card, snd_ctl_new1(&snd_ice1712_ews88mt_input_sense, ice));
|
||||||
if (err < 0)
|
if (err < 0)
|
||||||
return err;
|
return err;
|
||||||
|
@ -1048,6 +1056,13 @@ struct snd_ice1712_card_info snd_ice1712_ews_cards[] __devinitdata = {
|
||||||
.chip_init = snd_ice1712_ews_init,
|
.chip_init = snd_ice1712_ews_init,
|
||||||
.build_controls = snd_ice1712_ews_add_controls,
|
.build_controls = snd_ice1712_ews_add_controls,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
.subvendor = ICE1712_SUBDEVICE_TS88,
|
||||||
|
.name = "terrasoniq TS88",
|
||||||
|
.model = "phase88",
|
||||||
|
.chip_init = snd_ice1712_ews_init,
|
||||||
|
.build_controls = snd_ice1712_ews_add_controls,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
.subvendor = ICE1712_SUBDEVICE_EWS88D,
|
.subvendor = ICE1712_SUBDEVICE_EWS88D,
|
||||||
.name = "TerraTec EWS88D",
|
.name = "TerraTec EWS88D",
|
||||||
|
|
|
@ -30,7 +30,8 @@
|
||||||
"{TerraTec,EWS 88MT},"\
|
"{TerraTec,EWS 88MT},"\
|
||||||
"{TerraTec,EWS 88D},"\
|
"{TerraTec,EWS 88D},"\
|
||||||
"{TerraTec,DMX 6Fire},"\
|
"{TerraTec,DMX 6Fire},"\
|
||||||
"{TerraTec,Phase 88},"
|
"{TerraTec,Phase 88}," \
|
||||||
|
"{terrasoniq,TS 88},"
|
||||||
|
|
||||||
#define ICE1712_SUBDEVICE_EWX2496 0x3b153011
|
#define ICE1712_SUBDEVICE_EWX2496 0x3b153011
|
||||||
#define ICE1712_SUBDEVICE_EWS88MT 0x3b151511
|
#define ICE1712_SUBDEVICE_EWS88MT 0x3b151511
|
||||||
|
@ -38,6 +39,7 @@
|
||||||
#define ICE1712_SUBDEVICE_EWS88D 0x3b152b11
|
#define ICE1712_SUBDEVICE_EWS88D 0x3b152b11
|
||||||
#define ICE1712_SUBDEVICE_DMX6FIRE 0x3b153811
|
#define ICE1712_SUBDEVICE_DMX6FIRE 0x3b153811
|
||||||
#define ICE1712_SUBDEVICE_PHASE88 0x3b155111
|
#define ICE1712_SUBDEVICE_PHASE88 0x3b155111
|
||||||
|
#define ICE1712_SUBDEVICE_TS88 0x3b157c11
|
||||||
|
|
||||||
/* entry point */
|
/* entry point */
|
||||||
extern struct snd_ice1712_card_info snd_ice1712_ews_cards[];
|
extern struct snd_ice1712_card_info snd_ice1712_ews_cards[];
|
||||||
|
|
Loading…
Reference in a new issue