summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Nielsen Feltzing <linus@haxx.se>2005-08-13 17:28:59 +0000
committerLinus Nielsen Feltzing <linus@haxx.se>2005-08-13 17:28:59 +0000
commit4af42510768f422e7f55e1f732fc36b5c3ee10a5 (patch)
tree524b644a8a46b1500877b1827ee1892b662b0b95
parentc0fc2054c2e17c33017f052ffdf70ad4eb0f2a7e (diff)
downloadrockbox-4af42510768f422e7f55e1f732fc36b5c3ee10a5.zip
rockbox-4af42510768f422e7f55e1f732fc36b5c3ee10a5.tar.gz
rockbox-4af42510768f422e7f55e1f732fc36b5c3ee10a5.tar.bz2
rockbox-4af42510768f422e7f55e1f732fc36b5c3ee10a5.tar.xz
Add pcm_set_mux() for switching between FM radio and Line input
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7315 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/export/pcm_record.h2
-rw-r--r--firmware/pcm_record.c11
2 files changed, 12 insertions, 1 deletions
diff --git a/firmware/export/pcm_record.h b/firmware/export/pcm_record.h
index 964d3a0..af73108 100644
--- a/firmware/export/pcm_record.h
+++ b/firmware/export/pcm_record.h
@@ -48,4 +48,6 @@ unsigned long pcm_num_recorded_bytes(void);
void pcm_pause_recording(void);
void pcm_resume_recording(void);
+void pcmrec_set_mux(int source);
+
#endif
diff --git a/firmware/pcm_record.c b/firmware/pcm_record.c
index 3101a16..6eb7bbc 100644
--- a/firmware/pcm_record.c
+++ b/firmware/pcm_record.c
@@ -655,4 +655,13 @@ static void pcmrec_thread(void)
logf("thread pcmrec done");
}
-
+void pcmrec_set_mux(int source)
+{
+ if(source == 0)
+ and_l(~0x00800000, &GPIO_OUT); /* Line In */
+ else
+ or_l(0x00800000, &GPIO_OUT); /* FM radio */
+
+ or_l(0x00800000, &GPIO_ENABLE);
+ or_l(0x00800000, &GPIO_FUNCTION);
+}