diff options
Diffstat (limited to 'firmware/drivers')
-rw-r--r-- | firmware/drivers/audio/ak4537.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/firmware/drivers/audio/ak4537.c b/firmware/drivers/audio/ak4537.c index 799bf83946..bea3dc7019 100644 --- a/firmware/drivers/audio/ak4537.c +++ b/firmware/drivers/audio/ak4537.c | |||
@@ -273,6 +273,8 @@ void audiohw_enable_recording(bool source_mic) | |||
273 | /* power up right channel input and ADC */ | 273 | /* power up right channel input and ADC */ |
274 | akc_set(AK4537_PM3, PMADR | PMIPGR); | 274 | akc_set(AK4537_PM3, PMADR | PMIPGR); |
275 | } | 275 | } |
276 | /* ADC -> DAC, external data to DAC ignored */ | ||
277 | akc_set(AK4537_MODE2, LOOP); | ||
276 | } | 278 | } |
277 | 279 | ||
278 | void audiohw_disable_recording(void) | 280 | void audiohw_disable_recording(void) |
@@ -286,6 +288,9 @@ void audiohw_disable_recording(void) | |||
286 | /* power down ADC, mic preamp and line amp */ | 288 | /* power down ADC, mic preamp and line amp */ |
287 | akc_clear(AK4537_PM1, PMADL | PMMICL | PMIPGL); | 289 | akc_clear(AK4537_PM1, PMADL | PMMICL | PMIPGL); |
288 | akc_clear(AK4537_PM3, PMADR | PMMICR | PMIPGR); | 290 | akc_clear(AK4537_PM3, PMADR | PMMICR | PMIPGR); |
291 | |||
292 | /* break ADC -> DAC connection */ | ||
293 | akc_clear(AK4537_MODE2, LOOP); | ||
289 | } | 294 | } |
290 | 295 | ||
291 | void audiohw_set_recvol(int left, int right, int type) | 296 | void audiohw_set_recvol(int left, int right, int type) |
@@ -329,10 +334,6 @@ void audiohw_set_recvol(int left, int right, int type) | |||
329 | 334 | ||
330 | void audiohw_set_monitor(bool enable) | 335 | void audiohw_set_monitor(bool enable) |
331 | { | 336 | { |
332 | if (enable) | 337 | (void)enable; |
333 | /* mix input signal to headphone output */ | ||
334 | akc_set(AK4537_SIGSEL2, MICL); | ||
335 | else | ||
336 | akc_clear(AK4537_SIGSEL2, MICL); | ||
337 | } | 338 | } |
338 | #endif /* HAVE_RECORDING */ | 339 | #endif /* HAVE_RECORDING */ |