diff options
author | Clemens Ladisch <clemens@ladisch.de> | 2008-03-19 08:20:13 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2008-04-24 12:00:28 +0200 |
commit | 87eedd2fd409d5cd515ccd6fc454cef15c5fa38b (patch) | |
tree | c955e0f3073e743e00f01a8aad8fe55b09d6556c | |
parent | f009ad9b39e6484d8e36e9e5029c07eab8c12e8f (diff) | |
download | linux-3.10-87eedd2fd409d5cd515ccd6fc454cef15c5fa38b.tar.gz linux-3.10-87eedd2fd409d5cd515ccd6fc454cef15c5fa38b.tar.bz2 linux-3.10-87eedd2fd409d5cd515ccd6fc454cef15c5fa38b.zip |
[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 <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r-- | sound/pci/oxygen/hifier.c | 2 | ||||
-rw-r--r-- | sound/pci/oxygen/oxygen.c | 6 | ||||
-rw-r--r-- | sound/pci/oxygen/oxygen_lib.c | 10 | ||||
-rw-r--r-- | sound/pci/oxygen/virtuoso.c | 3 |
4 files changed, 12 insertions, 9 deletions
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, }; |