Skip to content

Commit

Permalink
ALSA: virtuoso: add Xonar Essence STX II daughterboard support
Browse files Browse the repository at this point in the history
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 <[email protected]>
Signed-off-by: Clemens Ladisch <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
  • Loading branch information
cladisch authored and tiwai committed Sep 8, 2014
1 parent dd38dc1 commit d6cc58e
Showing 1 changed file with 13 additions and 2 deletions.
15 changes: 13 additions & 2 deletions sound/pci/oxygen/xonar_pcm179x.c
Original file line number Diff line number Diff line change
Expand Up @@ -419,6 +419,7 @@ static void xonar_st_init_common(struct oxygen *chip)

data->generic.output_enable_bit = GPIO_ST_OUTPUT_ENABLE;
data->dacs = chip->model.dac_channels_mixer / 2;
data->h6 = chip->model.dac_channels_mixer > 2;
data->hp_gain_offset = 2*-18;

pcm1796_init(chip);
Expand Down Expand Up @@ -1142,8 +1143,18 @@ int get_xonar_pcm179x_model(struct oxygen *chip,
break;
case 0x85f4:
chip->model = model_xonar_st;
/* TODO: daughterboard support */
chip->model.shortname = "Xonar STX II";
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";
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.resume = xonar_stx_resume;
chip->model.set_dac_params = set_pcm1796_params;
Expand Down

0 comments on commit d6cc58e

Please sign in to comment.