1
0
Fork 0
forked from len0rd/rockbox

Accept FS#7178 - Sansa e200 FM tuner support by Ivan Zupan. Do the needed integration work into recording and the AS3514 audio driver. Do a little AS3514 fiq_record tweak to have it all work nicely from the start.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13573 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Michael Sevakis 2007-06-06 19:23:48 +00:00
parent af4cd0a84c
commit 21a4a87ca2
12 changed files with 1039 additions and 39 deletions

View file

@ -22,7 +22,7 @@
/* Define bitmask of input sources - recordable bitmask can be defined
explicitly if different */
#define INPUT_SRC_CAPS (SRC_CAP_MIC)
#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_FMRADIO)
/* define this if you have a bitmap LCD display */
#define HAVE_LCD_BITMAP
@ -88,8 +88,8 @@
#define AB_REPEAT_ENABLE 1
/* FM Tuner */
/*#define CONFIG_TUNER TEA5767
#define CONFIG_TUNER_XTAL 32768 *//* TODO: what is this? */
#define CONFIG_TUNER LV24020LP
#define HAVE_TUNER_PWR_CTRL
/* Define this for LCD backlight available */
#define HAVE_BACKLIGHT

View file

@ -29,6 +29,7 @@
/* CONFIG_TUNER (note these are combineable bit-flags) */
#define S1A0903X01 0x01 /* Samsung */
#define TEA5767 0x02 /* Philips */
#define LV24020LP 0x04 /* Sanyo */
/* CONFIG_CODEC */
#define MAS3587F 3587

View file

@ -17,28 +17,42 @@
* KIND, either express or implied.
*
****************************************************************************/
#ifndef __TUNER_SAMSUNG_H__
#define __TUNER_SAMSUNG_H__
#ifndef __TUNER_H__
#define __TUNER_H__
#include "hwcompat.h"
/* settings to the tuner layer */
#define RADIO_ALL -1 /* debug */
#define RADIO_SLEEP 0
#define RADIO_FREQUENCY 1
#define RADIO_MUTE 2
#define RADIO_IF_MEASUREMENT 3
#define RADIO_SENSITIVITY 4
#define RADIO_FORCE_MONO 5
#define RADIO_SCAN_FREQUENCY 6
#define RADIO_ALL -1 /* debug */
#define RADIO_SLEEP 0
#define RADIO_FREQUENCY 1
#define RADIO_MUTE 2
#define RADIO_IF_MEASUREMENT 3
#define RADIO_SENSITIVITY 4
#define RADIO_FORCE_MONO 5
#define RADIO_SCAN_FREQUENCY 6
#if (CONFIG_TUNER & TEA5767)
#define RADIO_SET_DEEMPHASIS 7
#define RADIO_SET_BAND 8
#define RADIO_SET_DEEMPHASIS 7
#define RADIO_SET_BAND 8
#endif
#if (CONFIG_TUNER & LV24020LP)
#define RADIO_REGION 9 /* to be used for all tuners */
#define RADIO_REG_STAT 100
#define RADIO_MSS_FM 101
#define RADIO_MSS_IF 102
#define RADIO_MSS_SD 103
#define RADIO_IF_SET 104
#define RADIO_SD_SET 105
#endif
/* readback from the tuner layer */
#define RADIO_PRESENT 0
#define RADIO_TUNED 1
#define RADIO_STEREO 2
#define RADIO_PRESENT 0
#define RADIO_TUNED 1
#define RADIO_STEREO 2
#define REGION_EUROPE 0
#define REGION_US_CANADA 1
#define REGION_JAPAN 2
#define REGION_KOREA 3
#if CONFIG_TUNER
@ -49,6 +63,9 @@ int radio_get(int setting);
#if CONFIG_TUNER == S1A0903X01 /* FM recorder */
#define radio_set samsung_set
#define radio_get samsung_get
#elif CONFIG_TUNER == LV24020LP /* Sansa */
#define radio_set sanyo_set
#define radio_get sanyo_get
#elif CONFIG_TUNER == TEA5767 /* iRiver, iAudio */
#define radio_set philips_set
#define radio_get philips_get
@ -57,14 +74,19 @@ int radio_get(int setting);
#define radio_get _radio_get
int (*_radio_set)(int setting, int value);
int (*_radio_get)(int setting);
#endif
#endif
#endif /* CONFIG_TUNER == */
#endif /* SIMULATOR */
#if (CONFIG_TUNER & S1A0903X01)
int samsung_set(int setting, int value);
int samsung_get(int setting);
#endif /* CONFIG_TUNER & S1A0903X01 */
#if (CONFIG_TUNER & LV24020LP)
int sanyo_set(int setting, int value);
int sanyo_get(int setting);
#endif /* CONFIG_TUNER & LV24020LP */
#if (CONFIG_TUNER & TEA5767)
struct philips_dbg_info
{
@ -98,4 +120,4 @@ static inline void tuner_init(void)
#endif /* #if CONFIG_TUNER */
#endif
#endif /* __TUNER_H__ */