diff options
Diffstat (limited to 'firmware/drivers/audio')
-rw-r--r-- | firmware/drivers/audio/wm8978.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/firmware/drivers/audio/wm8978.c b/firmware/drivers/audio/wm8978.c index 0730ff5118..adc46c316f 100644 --- a/firmware/drivers/audio/wm8978.c +++ b/firmware/drivers/audio/wm8978.c | |||
@@ -499,7 +499,7 @@ void audiohw_enable_depth_3d(bool enable) | |||
499 | audiohw_set_depth_3d(wmc_vol.enh_3d); | 499 | audiohw_set_depth_3d(wmc_vol.enh_3d); |
500 | } | 500 | } |
501 | 501 | ||
502 | #ifdef HAVE_RECORDING | 502 | #if defined(HAVE_RECORDING) || defined(SAMSUNG_YPR1) |
503 | void audiohw_set_recsrc(int source, bool recording) | 503 | void audiohw_set_recsrc(int source, bool recording) |
504 | { | 504 | { |
505 | switch (source) | 505 | switch (source) |
@@ -561,6 +561,23 @@ void audiohw_set_recsrc(int source, bool recording) | |||
561 | /* Enable bypass to L/R mixers */ | 561 | /* Enable bypass to L/R mixers */ |
562 | wmc_set(WMC_LEFT_MIXER_CTRL, WMC_BYPL2LMIX); | 562 | wmc_set(WMC_LEFT_MIXER_CTRL, WMC_BYPL2LMIX); |
563 | wmc_set(WMC_RIGHT_MIXER_CTRL, WMC_BYPR2RMIX); | 563 | wmc_set(WMC_RIGHT_MIXER_CTRL, WMC_BYPR2RMIX); |
564 | #ifdef SAMSUNG_YPR1 | ||
565 | /* On Samsung YP-R1 we have to do some extra steps to select the AUX | ||
566 | * analog input source i.e. where the audio lines of the FM tuner are. | ||
567 | */ | ||
568 | wmc_set(WMC_LEFT_MIXER_CTRL, WMC_AUXL2LMIX); | ||
569 | wmc_set(WMC_RIGHT_MIXER_CTRL, WMC_AUXR2RMIX); | ||
570 | /* Set L/R AUX input gain to 0dB */ | ||
571 | wmc_write_masked(WMC_LEFT_MIXER_CTRL, 0x05 << WMC_AUXLMIXVOL_POS, | ||
572 | WMC_AUXLMIXVOL); | ||
573 | wmc_write_masked(WMC_RIGHT_MIXER_CTRL, 0x05 << WMC_AUXRMIXVOL_POS, | ||
574 | WMC_AUXRMIXVOL); | ||
575 | wmc_set(WMC_LEFT_MIXER_CTRL, WMC_DACL2LMIX); | ||
576 | wmc_set(WMC_RIGHT_MIXER_CTRL, WMC_DACR2RMIX); | ||
577 | wmc_set(WMC_POWER_MANAGEMENT1, WMC_OUT3MIXEN); | ||
578 | wmc_set(WMC_POWER_MANAGEMENT3, WMC_RMIXEN); | ||
579 | wmc_set(WMC_POWER_MANAGEMENT3, WMC_LMIXEN); | ||
580 | #endif | ||
564 | } | 581 | } |
565 | break; | 582 | break; |
566 | } | 583 | } |