|
@@ -272,18 +272,25 @@ static void oxygen_init(struct oxygen *chip)
|
|
|
OXYGEN_RATE_48000 | chip->model->dac_i2s_format |
|
|
|
OXYGEN_I2S_MCLK_256 | OXYGEN_I2S_BITS_16 |
|
|
|
OXYGEN_I2S_MASTER | OXYGEN_I2S_BCLK_64);
|
|
|
- oxygen_write16(chip, OXYGEN_I2S_A_FORMAT,
|
|
|
- OXYGEN_RATE_48000 | chip->model->adc_i2s_format |
|
|
|
- OXYGEN_I2S_MCLK_256 | OXYGEN_I2S_BITS_16 |
|
|
|
- OXYGEN_I2S_MASTER | OXYGEN_I2S_BCLK_64);
|
|
|
- oxygen_write16(chip, OXYGEN_I2S_B_FORMAT,
|
|
|
- OXYGEN_RATE_48000 | chip->model->adc_i2s_format |
|
|
|
- OXYGEN_I2S_MCLK_256 | OXYGEN_I2S_BITS_16 |
|
|
|
- OXYGEN_I2S_MASTER | OXYGEN_I2S_BCLK_64);
|
|
|
+ if (chip->model->pcm_dev_cfg & CAPTURE_0_FROM_I2S_1)
|
|
|
+ oxygen_write16(chip, OXYGEN_I2S_A_FORMAT,
|
|
|
+ OXYGEN_RATE_48000 | chip->model->adc_i2s_format |
|
|
|
+ OXYGEN_I2S_MCLK_256 | OXYGEN_I2S_BITS_16 |
|
|
|
+ OXYGEN_I2S_MASTER | OXYGEN_I2S_BCLK_64);
|
|
|
+ else
|
|
|
+ oxygen_write16(chip, OXYGEN_I2S_A_FORMAT,
|
|
|
+ OXYGEN_I2S_MASTER | OXYGEN_I2S_MUTE_MCLK);
|
|
|
+ if (chip->model->pcm_dev_cfg & (CAPTURE_0_FROM_I2S_2 |
|
|
|
+ CAPTURE_2_FROM_I2S_2))
|
|
|
+ oxygen_write16(chip, OXYGEN_I2S_B_FORMAT,
|
|
|
+ OXYGEN_RATE_48000 | chip->model->adc_i2s_format |
|
|
|
+ OXYGEN_I2S_MCLK_256 | OXYGEN_I2S_BITS_16 |
|
|
|
+ OXYGEN_I2S_MASTER | OXYGEN_I2S_BCLK_64);
|
|
|
+ else
|
|
|
+ oxygen_write16(chip, OXYGEN_I2S_B_FORMAT,
|
|
|
+ OXYGEN_I2S_MASTER | OXYGEN_I2S_MUTE_MCLK);
|
|
|
oxygen_write16(chip, OXYGEN_I2S_C_FORMAT,
|
|
|
- OXYGEN_RATE_48000 | chip->model->adc_i2s_format |
|
|
|
- OXYGEN_I2S_MCLK_256 | OXYGEN_I2S_BITS_16 |
|
|
|
- OXYGEN_I2S_MASTER | OXYGEN_I2S_BCLK_64);
|
|
|
+ OXYGEN_I2S_MASTER | OXYGEN_I2S_MUTE_MCLK);
|
|
|
oxygen_write32_masked(chip, OXYGEN_SPDIF_CONTROL,
|
|
|
OXYGEN_SPDIF_SENSE_MASK |
|
|
|
OXYGEN_SPDIF_LOCK_MASK |
|