ALSA: virtuoso: add Xonar Essence STX II daughterboard support
Detect and handle the H6 daughterboard; it works the same as with the ST, except that there is no conflict with the CS2000 chip. Tested-by: Andreas Allacher <andreas.allacher@gmx.at> Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
dd38dc1a9b
commit
d6cc58e127
@ -419,6 +419,7 @@ static void xonar_st_init_common(struct oxygen *chip)
|
|||||||
|
|
||||||
data->generic.output_enable_bit = GPIO_ST_OUTPUT_ENABLE;
|
data->generic.output_enable_bit = GPIO_ST_OUTPUT_ENABLE;
|
||||||
data->dacs = chip->model.dac_channels_mixer / 2;
|
data->dacs = chip->model.dac_channels_mixer / 2;
|
||||||
|
data->h6 = chip->model.dac_channels_mixer > 2;
|
||||||
data->hp_gain_offset = 2*-18;
|
data->hp_gain_offset = 2*-18;
|
||||||
|
|
||||||
pcm1796_init(chip);
|
pcm1796_init(chip);
|
||||||
@ -1142,8 +1143,18 @@ int get_xonar_pcm179x_model(struct oxygen *chip,
|
|||||||
break;
|
break;
|
||||||
case 0x85f4:
|
case 0x85f4:
|
||||||
chip->model = model_xonar_st;
|
chip->model = model_xonar_st;
|
||||||
/* TODO: daughterboard support */
|
oxygen_clear_bits16(chip, OXYGEN_GPIO_CONTROL, GPIO_DB_MASK);
|
||||||
|
switch (oxygen_read16(chip, OXYGEN_GPIO_DATA) & GPIO_DB_MASK) {
|
||||||
|
default:
|
||||||
chip->model.shortname = "Xonar STX II";
|
chip->model.shortname = "Xonar STX II";
|
||||||
|
break;
|
||||||
|
case GPIO_DB_H6:
|
||||||
|
chip->model.shortname = "Xonar STX II+H6";
|
||||||
|
chip->model.dac_channels_pcm = 8;
|
||||||
|
chip->model.dac_channels_mixer = 8;
|
||||||
|
chip->model.dac_mclks = OXYGEN_MCLKS(256, 128, 128);
|
||||||
|
break;
|
||||||
|
}
|
||||||
chip->model.init = xonar_stx_init;
|
chip->model.init = xonar_stx_init;
|
||||||
chip->model.resume = xonar_stx_resume;
|
chip->model.resume = xonar_stx_resume;
|
||||||
chip->model.set_dac_params = set_pcm1796_params;
|
chip->model.set_dac_params = set_pcm1796_params;
|
||||||
|
Loading…
Reference in New Issue
Block a user