Remove the calls to backlight_lcd_sleep_countdown from target specific code and move...
[kugel-rb.git] / firmware / export / tuner.h
blob8f1839a7bb981bc8837e5ae1f41e9d6340322e3e
1 /***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
9 * Tuner abstraction layer
11 * Copyright (C) 2004 Jörg Hohensohn
13 * This program is free software; you can redistribute it and/or
14 * modify it under the terms of the GNU General Public License
15 * as published by the Free Software Foundation; either version 2
16 * of the License, or (at your option) any later version.
18 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
19 * KIND, either express or implied.
21 ****************************************************************************/
22 #ifndef __TUNER_H__
23 #define __TUNER_H__
25 #include "hwcompat.h"
27 /** Settings to the tuner layer **/
28 enum
30 RADIO_ALL = -1, /* debug */
31 RADIO_SLEEP,
32 RADIO_FREQUENCY,
33 RADIO_MUTE,
34 RADIO_FORCE_MONO,
35 RADIO_SCAN_FREQUENCY,
37 /* Put new general-purpose settings above this line */
38 __RADIO_SET_STANDARD_LAST
41 /** Readback from the tuner layer **/
42 enum
44 RADIO_PRESENT = 0,
45 RADIO_TUNED,
46 RADIO_STEREO,
48 /* Put new general-purpose readback values above this line */
49 __RADIO_GET_STANDARD_LAST
52 /** Tuner regions **/
54 /* Basic region information */
55 enum
57 REGION_EUROPE = 0,
58 REGION_US_CANADA,
59 REGION_JAPAN,
60 REGION_KOREA,
62 /* Add new regions above this line */
63 TUNER_NUM_REGIONS
66 struct fm_region_data
68 int freq_min;
69 int freq_max;
70 int freq_step;
73 extern const struct fm_region_data fm_region_data[TUNER_NUM_REGIONS];
75 #if CONFIG_TUNER
77 #ifdef SIMULATOR
78 int tuner_set(int setting, int value);
79 int tuner_get(int setting);
80 #else
82 #ifdef CONFIG_TUNER_MULTI
83 extern int (*tuner_set)(int setting, int value);
84 extern int (*tuner_get)(int setting);
85 #endif /* CONFIG_TUNER_MULTI */
87 /** Sanyo LV24020LP **/
88 #if (CONFIG_TUNER & LV24020LP)
89 /* Sansa c200, e200 */
90 #include "lv24020lp.h"
91 #endif
93 /** Samsung S1A0903X01 **/
94 #if (CONFIG_TUNER & S1A0903X01)
95 /* Ondio FM, FM Recorder */
96 #include "s1a0903x01.h"
97 #endif
99 /** Philips TEA5767 **/
100 #if (CONFIG_TUNER & TEA5767)
101 /* Ondio FM, FM Recorder, Recorder V2, iRiver h100/h300, iAudio x5 */
102 #include "tea5767.h"
103 #endif
105 /* Silicon Labs 4700 */
106 #if (CONFIG_TUNER & SI4700)
107 #include "si4700.h"
108 #endif
110 #endif /* SIMULATOR */
112 /* Additional messages that get enumerated after tuner driver headers */
114 /* for tuner_set */
115 enum
117 __RADIO_SET_ADDITIONAL_START = __RADIO_SET_STANDARD_LAST-1,
118 #ifdef HAVE_RADIO_REGION
119 RADIO_REGION,
120 #endif
122 RADIO_SET_CHIP_FIRST
125 /* for tuner_get */
126 enum
128 __RADIO_GET_ADDITIONAL_START = __RADIO_GET_STANDARD_LAST-1,
130 RADIO_GET_CHIP_FIRST
133 /** **/
135 void tuner_init(void);
136 bool tuner_power(bool power);
138 #endif /* #if CONFIG_TUNER */
140 #endif /* __TUNER_H__ */