From 72ccb14ab1a2b38b89120330378ecec64fc8df7b Mon Sep 17 00:00:00 2001 From: Michael Sevakis Date: Wed, 26 May 2010 05:13:45 +0000 Subject: Gigabeat S: Turn off hardware effects (tone and 3d) when doing digital loopback for FM recording otherwise the signal and levels are poorly represented in monitoring (can't just do ADC->DAC for general FM and get voice too). Some tweaking to input setup to improve gain a tiny bit. A little bit quieter startup too. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26300 a1c6a512-1295-4272-9138-f99709370657 --- firmware/target/arm/imx31/gigabeat-s/audio-gigabeat-s.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'firmware/target/arm') diff --git a/firmware/target/arm/imx31/gigabeat-s/audio-gigabeat-s.c b/firmware/target/arm/imx31/gigabeat-s/audio-gigabeat-s.c index f5e17a4039..9587b5683c 100644 --- a/firmware/target/arm/imx31/gigabeat-s/audio-gigabeat-s.c +++ b/firmware/target/arm/imx31/gigabeat-s/audio-gigabeat-s.c @@ -23,6 +23,9 @@ #include "audiohw.h" #include "audio.h" +void audiohw_enable_tone_controls(bool enable); +void audiohw_enable_depth_3d(bool enable); + /* Set the audio source for IIS TX */ void audio_set_output_source(int source) { @@ -30,12 +33,19 @@ void audio_set_output_source(int source) { default: case AUDIO_SRC_PLAYBACK: + audiohw_enable_tone_controls(true); + audiohw_enable_depth_3d(true); /* Receive data from PORT2 (SSI2) */ AUDMUX_PDCR4 = AUDMUX_PDCR_RXDSEL_PORT2; /* wmc_clear(WMC_COMPANDING_CTRL, WMC_LOOPBACK); */ break; case AUDIO_SRC_FMRADIO: + /* Analog path doesn't support these and digital radio playback + * cannot be done without mixing on the MCU if voice is to be + * heard. Any recording should match what is heard. */ + audiohw_enable_tone_controls(false); + audiohw_enable_depth_3d(false); /* External source - receive data from self (loopback to TX) */ AUDMUX_PDCR4 = AUDMUX_PDCR_RXDSEL_PORT4; /* wmc_set(WMC_COMPANDING_CTRL, WMC_LOOPBACK); */ -- cgit v1.2.3