summaryrefslogtreecommitdiff
path: root/firmware/target/coldfire/mpio/audio-mpio.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/coldfire/mpio/audio-mpio.c')
-rw-r--r--firmware/target/coldfire/mpio/audio-mpio.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/firmware/target/coldfire/mpio/audio-mpio.c b/firmware/target/coldfire/mpio/audio-mpio.c
index 217881547e..88c43383ca 100644
--- a/firmware/target/coldfire/mpio/audio-mpio.c
+++ b/firmware/target/coldfire/mpio/audio-mpio.c
@@ -46,6 +46,7 @@ void audio_set_output_source(int source)
46 if ((unsigned)source >= AUDIO_NUM_SOURCES) 46 if ((unsigned)source >= AUDIO_NUM_SOURCES)
47 source = AUDIO_SRC_PLAYBACK; 47 source = AUDIO_SRC_PLAYBACK;
48 48
49 /* route incoming audio samples to DAC */
49 IIS2CONFIG = (IIS2CONFIG & ~(7 << 8)) | (txsrc_select[source+1] << 8); 50 IIS2CONFIG = (IIS2CONFIG & ~(7 << 8)) | (txsrc_select[source+1] << 8);
50 51
51 restore_irq(level); 52 restore_irq(level);
@@ -73,8 +74,8 @@ void audio_input_mux(int source, unsigned flags)
73 break; 74 break;
74 75
75 case AUDIO_SRC_MIC: 76 case AUDIO_SRC_MIC:
76 case AUDIO_SRC_LINEIN: 77 case AUDIO_SRC_LINEIN:
77 /* recording only */ 78 /* recording only */
78 if (source != last_source) 79 if (source != last_source)
79 { 80 {
80 audiohw_set_recsrc(source,true); 81 audiohw_set_recsrc(source,true);
@@ -89,10 +90,10 @@ void audio_input_mux(int source, unsigned flags)
89 90
90 last_recording = recording; 91 last_recording = recording;
91 92
93 audiohw_set_recsrc(source,recording);
92 /* Int. when 6 samples in FIFO, PDIR2 src = iis1RcvData */ 94 /* Int. when 6 samples in FIFO, PDIR2 src = iis1RcvData */
93 coldfire_set_dataincontrol(recording ? 95 coldfire_set_dataincontrol(recording ?
94 ((3 << 14) | (4 << 3)) : 0); 96 ((3 << 14) | (4 << 3)) : 0);
95 audiohw_set_recsrc(source, recording);
96 break; 97 break;
97 } 98 }
98 99