summaryrefslogtreecommitdiff
path: root/firmware/target/arm
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2010-05-26 05:13:45 +0000
committerMichael Sevakis <jethead71@rockbox.org>2010-05-26 05:13:45 +0000
commit72ccb14ab1a2b38b89120330378ecec64fc8df7b (patch)
tree41b364e3a53772b6663fcf34a31c755a85c8c702 /firmware/target/arm
parentab27aa1526983cf1992ce8974c61a3b10ac551dd (diff)
downloadrockbox-72ccb14ab1a2b38b89120330378ecec64fc8df7b.tar.gz
rockbox-72ccb14ab1a2b38b89120330378ecec64fc8df7b.zip
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
Diffstat (limited to 'firmware/target/arm')
-rw-r--r--firmware/target/arm/imx31/gigabeat-s/audio-gigabeat-s.c10
1 files changed, 10 insertions, 0 deletions
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 @@
23#include "audiohw.h" 23#include "audiohw.h"
24#include "audio.h" 24#include "audio.h"
25 25
26void audiohw_enable_tone_controls(bool enable);
27void audiohw_enable_depth_3d(bool enable);
28
26/* Set the audio source for IIS TX */ 29/* Set the audio source for IIS TX */
27void audio_set_output_source(int source) 30void audio_set_output_source(int source)
28{ 31{
@@ -30,12 +33,19 @@ void audio_set_output_source(int source)
30 { 33 {
31 default: 34 default:
32 case AUDIO_SRC_PLAYBACK: 35 case AUDIO_SRC_PLAYBACK:
36 audiohw_enable_tone_controls(true);
37 audiohw_enable_depth_3d(true);
33 /* Receive data from PORT2 (SSI2) */ 38 /* Receive data from PORT2 (SSI2) */
34 AUDMUX_PDCR4 = AUDMUX_PDCR_RXDSEL_PORT2; 39 AUDMUX_PDCR4 = AUDMUX_PDCR_RXDSEL_PORT2;
35 /* wmc_clear(WMC_COMPANDING_CTRL, WMC_LOOPBACK); */ 40 /* wmc_clear(WMC_COMPANDING_CTRL, WMC_LOOPBACK); */
36 break; 41 break;
37 42
38 case AUDIO_SRC_FMRADIO: 43 case AUDIO_SRC_FMRADIO:
44 /* Analog path doesn't support these and digital radio playback
45 * cannot be done without mixing on the MCU if voice is to be
46 * heard. Any recording should match what is heard. */
47 audiohw_enable_tone_controls(false);
48 audiohw_enable_depth_3d(false);
39 /* External source - receive data from self (loopback to TX) */ 49 /* External source - receive data from self (loopback to TX) */
40 AUDMUX_PDCR4 = AUDMUX_PDCR_RXDSEL_PORT4; 50 AUDMUX_PDCR4 = AUDMUX_PDCR_RXDSEL_PORT4;
41 /* wmc_set(WMC_COMPANDING_CTRL, WMC_LOOPBACK); */ 51 /* wmc_set(WMC_COMPANDING_CTRL, WMC_LOOPBACK); */