From 87eedd2fd409d5cd515ccd6fc454cef15c5fa38b Mon Sep 17 00:00:00 2001 From: Clemens Ladisch Date: Wed, 19 Mar 2008 08:20:13 +0100 Subject: [ALSA] oxygen: make SPI/2-wire configuration model-specific Allow the model drivers to specify if the codec communication goes over SPI or a 2-wire bus. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai --- sound/pci/oxygen/hifier.c | 2 +- sound/pci/oxygen/oxygen.c | 6 ++++-- sound/pci/oxygen/oxygen_lib.c | 10 +++++----- sound/pci/oxygen/virtuoso.c | 3 ++- 4 files changed, 12 insertions(+), 9 deletions(-) (limited to 'sound/pci') diff --git a/sound/pci/oxygen/hifier.c b/sound/pci/oxygen/hifier.c index fa489ed3ed4..143d83d916d 100644 --- a/sound/pci/oxygen/hifier.c +++ b/sound/pci/oxygen/hifier.c @@ -164,7 +164,7 @@ static const struct oxygen_model model_hifier = { PLAYBACK_1_TO_SPDIF | CAPTURE_0_FROM_I2S_1, .dac_channels = 2, - .function_flags = 0, + .function_flags = OXYGEN_FUNCTION_SPI, .dac_i2s_format = OXYGEN_I2S_FORMAT_LJUST, .adc_i2s_format = OXYGEN_I2S_FORMAT_LJUST, }; diff --git a/sound/pci/oxygen/oxygen.c b/sound/pci/oxygen/oxygen.c index 9faf43c949b..e9031ede962 100644 --- a/sound/pci/oxygen/oxygen.c +++ b/sound/pci/oxygen/oxygen.c @@ -310,7 +310,8 @@ static const struct oxygen_model model_generic = { CAPTURE_1_FROM_SPDIF | CAPTURE_2_FROM_AC97_1, .dac_channels = 8, - .function_flags = OXYGEN_FUNCTION_ENABLE_SPI_4_5, + .function_flags = OXYGEN_FUNCTION_SPI | + OXYGEN_FUNCTION_ENABLE_SPI_4_5, .dac_i2s_format = OXYGEN_I2S_FORMAT_LJUST, .adc_i2s_format = OXYGEN_I2S_FORMAT_LJUST, }; @@ -335,7 +336,8 @@ static const struct oxygen_model model_meridian = { CAPTURE_1_FROM_SPDIF | CAPTURE_2_FROM_AC97_1, .dac_channels = 8, - .function_flags = OXYGEN_FUNCTION_ENABLE_SPI_4_5, + .function_flags = OXYGEN_FUNCTION_SPI | + OXYGEN_FUNCTION_ENABLE_SPI_4_5, .dac_i2s_format = OXYGEN_I2S_FORMAT_LJUST, .adc_i2s_format = OXYGEN_I2S_FORMAT_LJUST, }; diff --git a/sound/pci/oxygen/oxygen_lib.c b/sound/pci/oxygen/oxygen_lib.c index a1abb50eedb..b7c7eb33106 100644 --- a/sound/pci/oxygen/oxygen_lib.c +++ b/sound/pci/oxygen/oxygen_lib.c @@ -240,12 +240,12 @@ static void oxygen_init(struct oxygen *chip) chip->has_ac97_0 = (i & OXYGEN_AC97_CODEC_0) != 0; chip->has_ac97_1 = (i & OXYGEN_AC97_CODEC_1) != 0; - oxygen_set_bits8(chip, OXYGEN_FUNCTION, - OXYGEN_FUNCTION_RESET_CODEC | - chip->model->function_flags); oxygen_write8_masked(chip, OXYGEN_FUNCTION, - OXYGEN_FUNCTION_SPI, - OXYGEN_FUNCTION_2WIRE_SPI_MASK); + OXYGEN_FUNCTION_RESET_CODEC | + chip->model->function_flags, + OXYGEN_FUNCTION_RESET_CODEC | + OXYGEN_FUNCTION_2WIRE_SPI_MASK | + OXYGEN_FUNCTION_ENABLE_SPI_4_5); oxygen_write8(chip, OXYGEN_DMA_STATUS, 0); oxygen_write8(chip, OXYGEN_DMA_PAUSE, 0); oxygen_write8(chip, OXYGEN_PLAY_CHANNELS, diff --git a/sound/pci/oxygen/virtuoso.c b/sound/pci/oxygen/virtuoso.c index 5cd1fac1413..5bf3661ab1f 100644 --- a/sound/pci/oxygen/virtuoso.c +++ b/sound/pci/oxygen/virtuoso.c @@ -353,7 +353,8 @@ static const struct oxygen_model model_xonar = { CAPTURE_0_FROM_I2S_2 | CAPTURE_1_FROM_SPDIF, .dac_channels = 8, - .function_flags = OXYGEN_FUNCTION_ENABLE_SPI_4_5, + .function_flags = OXYGEN_FUNCTION_SPI | + OXYGEN_FUNCTION_ENABLE_SPI_4_5, .dac_i2s_format = OXYGEN_I2S_FORMAT_LJUST, .adc_i2s_format = OXYGEN_I2S_FORMAT_LJUST, }; -- cgit v1.2.3