1 /***************************************************************************
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
11 * Tuner header for the Silicon Labs SI4700
13 * Copyright (C) 2008 Dave Chapman
15 * This program is free software; you can redistribute it and/or
16 * modify it under the terms of the GNU General Public License
17 * as published by the Free Software Foundation; either version 2
18 * of the License, or (at your option) any later version.
20 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
21 * KIND, either express or implied.
23 ****************************************************************************/
29 #define HAVE_RADIO_REGION
30 #define HAVE_RADIO_RSSI
32 struct si4700_dbg_info
34 uint16_t regs
[16]; /* Read registers */
37 bool si4700_detect(void);
38 void si4700_init(void);
39 int si4700_set(int setting
, int value
);
40 int si4700_get(int setting
);
41 void si4700_dbg_info(struct si4700_dbg_info
*nfo
);
42 /* For interrupt-based mono/stereo indicator */
46 void si4700_rds_init(void);
47 /* Radio is fully powered up or about to be powered down */
48 void si4700_rds_powerup(bool on
);
49 #ifdef RDS_ISR_PROCESSING
50 /* Read raw RDS info for processing - asynchronously */
51 void si4700_read_raw_async(int count
); /* implemented by target */
52 void si4700_rds_read_raw_async(void);
53 void si4700_rds_read_raw_async_complete(unsigned char *regbuf
,
55 #else /* ndef RDS_ISR_PROCESSING */
56 /* Read raw RDS info for processing */
57 bool si4700_rds_read_raw(uint16_t data
[4]);
58 #endif /* RDS_ISR_PROCESSING */
59 /* Obtain specified string */
60 char* si4700_get_rds_info(int setting
);
61 /* Set the event flag */
62 void si4700_rds_set_event(void);
64 #ifndef CONFIG_TUNER_MULTI
65 #define tuner_set si4700_set
66 #define tuner_get si4700_get
67 #define tuner_get_rds_info si4700_get_rds_info
70 #endif /* _SI4700_H_ */