summaryrefslogtreecommitdiff
path: root/firmware/target/hosted/ypr0/audio-ypr0.c
diff options
context:
space:
mode:
authorLorenzo Miori <memorys60@gmail.com>2012-04-07 10:30:23 +0200
committerThomas Martitz <kugel@rockbox.org>2012-05-28 19:39:14 +0200
commit3cad5573b68917442564dc4f210fac056447c5cd (patch)
tree16e7f637a7bf9a22b00fde445a97f267b5467cc2 /firmware/target/hosted/ypr0/audio-ypr0.c
parent9c33f93c1c9bfd37f33f638eccceefa4c0d5b5e6 (diff)
downloadrockbox-3cad5573b68917442564dc4f210fac056447c5cd.tar.gz
rockbox-3cad5573b68917442564dc4f210fac056447c5cd.zip
ypr0: This patch adds radio support to Samsung YP-R0
Basically it uses the default SI4700 radio chip driver, the only thing that's different is the I2C access, written specifically to interact with my kernel module. Next things to add are: - RDS support! Change-Id: I0ed125641e00f93124d7a34f90dd508e7f1db5a4 Signed-off-by: Lorenzo Miori <memorys60@gmail.com>
Diffstat (limited to 'firmware/target/hosted/ypr0/audio-ypr0.c')
-rw-r--r--firmware/target/hosted/ypr0/audio-ypr0.c69
1 files changed, 69 insertions, 0 deletions
diff --git a/firmware/target/hosted/ypr0/audio-ypr0.c b/firmware/target/hosted/ypr0/audio-ypr0.c
new file mode 100644
index 0000000000..dfd63ef5cd
--- /dev/null
+++ b/firmware/target/hosted/ypr0/audio-ypr0.c
@@ -0,0 +1,69 @@
1/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
9 *
10 * Copyright (C) 2009 by Bertrik Sikken
11 *
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
16 *
17 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
18 * KIND, either express or implied.
19 *
20 ****************************************************************************/
21#include "config.h"
22#include "system.h"
23#include "cpu.h"
24#include "audio.h"
25#include "audiohw.h"
26#include "sound.h"
27
28int audio_channels = 2;
29int audio_output_source = AUDIO_SRC_PLAYBACK;
30
31void audio_set_output_source(int source)
32{
33 if ((unsigned)source >= AUDIO_NUM_SOURCES)
34 source = AUDIO_SRC_PLAYBACK;
35
36 audio_output_source = source;
37} /* audio_set_output_source */
38
39void audio_input_mux(int source, unsigned flags)
40{
41 static int last_source = AUDIO_SRC_PLAYBACK;
42
43 (void)flags;
44
45 switch (source)
46 {
47 default: /* playback - no recording */
48 source = AUDIO_SRC_PLAYBACK;
49 case AUDIO_SRC_PLAYBACK:
50 audio_channels = 2;
51 if (source != last_source)
52 {
53 audiohw_set_monitor(false);
54
55 }
56 break;
57
58 case AUDIO_SRC_FMRADIO: /* recording and playback */
59 audio_channels = 2;
60 if (source == last_source)
61 break;
62
63 audiohw_set_monitor(true);
64 break;
65 } /* end switch */
66
67 last_source = source;
68} /* audio_input_mux */
69