summaryrefslogtreecommitdiffstats
path: root/firmware
diff options
context:
space:
mode:
Diffstat (limited to 'firmware')
-rw-r--r--firmware/drivers/tuner/stfm1000.c49
-rw-r--r--firmware/export/config.h2
-rw-r--r--firmware/export/stfm1000.h42
-rw-r--r--firmware/export/tuner.h5
-rw-r--r--firmware/tuner.c6
5 files changed, 104 insertions, 0 deletions
diff --git a/firmware/drivers/tuner/stfm1000.c b/firmware/drivers/tuner/stfm1000.c
new file mode 100644
index 0000000000..ae96993285
--- /dev/null
+++ b/firmware/drivers/tuner/stfm1000.c
@@ -0,0 +1,49 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ * $Id$
+ *
+ * Copyright (C) 2012 by amaury Pouly
+ *
+ * Based on Rockbox iriver bootloader by Linus Nielsen Feltzing
+ * and the ipodlinux bootloader by Daniel Palffy and Bernard Leach
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+#include "config.h"
+#include "system.h"
+#include <string.h>
+#include "kernel.h"
+#include "power.h"
+#include "tuner.h" /* tuner abstraction interface */
+#include "fmradio.h"
+#include "fmradio_i2c.h" /* physical interface driver */
+#include "stfm1000.h"
+
+void stfm1000_init(void)
+{
+}
+
+int stfm1000_set(int setting, int value)
+{
+ (void) setting;
+ (void) value;
+ return -1;
+}
+
+int stfm1000_get(int setting)
+{
+ (void) setting;
+ return -1;
+} \ No newline at end of file
diff --git a/firmware/export/config.h b/firmware/export/config.h
index edd3bb2ba5..e17b152e39 100644
--- a/firmware/export/config.h
+++ b/firmware/export/config.h
@@ -42,6 +42,7 @@
#define LV240000 0x20 /* Sanyo */
#define IPOD_REMOTE_TUNER 0x40 /* Apple */
#define RDA5802 0x80 /* RDA Microelectronics */
+#define STFM1000 0x100 /* Sigmatel */
/* CONFIG_CODEC */
#define MAS3587F 3587
@@ -294,6 +295,7 @@ Lyre prototype 1 */
#define NAND_SAMSUNG 3
#define NAND_CC 4 /* ChinaChip */
#define NAND_RK27XX 5
+#define NAND_IMX233 6
/* CONFIG_RTC */
#define RTC_M41ST84W 1 /* Archos Recorder */
diff --git a/firmware/export/stfm1000.h b/firmware/export/stfm1000.h
new file mode 100644
index 0000000000..2143a81ad4
--- /dev/null
+++ b/firmware/export/stfm1000.h
@@ -0,0 +1,42 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ *
+ * $Id$
+ *
+ * Tuner header for the STFM1000
+ *
+ * Copyright (C) 2012 Amaury Pouly
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+
+#ifndef __STFM1000__
+#define __STFM1000__
+#include <stdint.h>
+
+#define HAVE_RADIO_REGION
+#define HAVE_RADIO_RSSI
+
+bool stfm1000_detect(void);
+void stfm1000_init(void);
+int stfm1000_set(int setting, int value);
+int stfm1000_get(int setting);
+
+#ifndef CONFIG_TUNER_MULTI
+#define tuner_set stfm1000_set
+#define tuner_get stfm1000_get
+#endif
+
+#endif /* __STFM1000__ */
diff --git a/firmware/export/tuner.h b/firmware/export/tuner.h
index 694da7cc6c..050bbd0f33 100644
--- a/firmware/export/tuner.h
+++ b/firmware/export/tuner.h
@@ -139,6 +139,11 @@ extern int (*tuner_get)(int setting);
#include "ipod_remote_tuner.h"
#endif
+/* SigmaTel/Freescale STFM1000 */
+#if (CONFIG_TUNER & STFM1000)
+#include "stfm1000.h"
+#endif
+
#if defined(SIMULATOR)
#undef tuner_set
int tuner_set(int setting, int value);
diff --git a/firmware/tuner.c b/firmware/tuner.c
index 278584264b..c9c5bc0639 100644
--- a/firmware/tuner.c
+++ b/firmware/tuner.c
@@ -94,6 +94,12 @@ void tuner_init(void)
rda5802_get,
rda5802_init())
#endif
+ #if (CONFIG_TUNER & STFM1000)
+ TUNER_TYPE_CASE(STFM1000,
+ stfm1000_set,
+ stfm1000_get,
+ stfm1000_init())
+ #endif
}
}
#endif /* SIMULATOR */