summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--firmware/drivers/audio/ak4537.c11
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)
/* power up right channel input and ADC */
akc_set(AK4537_PM3, PMADR | PMIPGR);
}
+ /* ADC -> DAC, external data to DAC ignored */
+ akc_set(AK4537_MODE2, LOOP);
}
void audiohw_disable_recording(void)
@@ -286,6 +288,9 @@ void audiohw_disable_recording(void)
/* power down ADC, mic preamp and line amp */
akc_clear(AK4537_PM1, PMADL | PMMICL | PMIPGL);
akc_clear(AK4537_PM3, PMADR | PMMICR | PMIPGR);
+
+ /* break ADC -> DAC connection */
+ akc_clear(AK4537_MODE2, LOOP);
}
void audiohw_set_recvol(int left, int right, int type)
@@ -329,10 +334,6 @@ void audiohw_set_recvol(int left, int right, int type)
void audiohw_set_monitor(bool enable)
{
- if (enable)
- /* mix input signal to headphone output */
- akc_set(AK4537_SIGSEL2, MICL);
- else
- akc_clear(AK4537_SIGSEL2, MICL);
+ (void)enable;
}
#endif /* HAVE_RECORDING */