Support for mystery FM chip in some Sansa Clip+, FS #11403 by me
[kugel-rb.git] / firmware / export / fmclipplus.h
blob20961f47befaeac7a7f20c5fe4d1fbd61d9f476a
1 /***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
9 * $Id$
11 * Tuner header for the Silicon Labs Mystery radio chip in some Sansa Clip+
13 * Copyright (C) 2010 Bertrik Sikken
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 ****************************************************************************/
25 #ifndef _FMCLIPPLUS_H_
26 #define _FMCLIPPLUS_H_
28 #define HAVE_RADIO_REGION
30 struct fmclipplus_region_data
32 unsigned char deemphasis; /* 0: 75us, 1: 50us */
33 unsigned char band; /* 0: us/europe, 1: japan */
34 } __attribute__((packed));
36 extern const struct fmclipplus_region_data fmclipplus_region_data[TUNER_NUM_REGIONS];
38 struct fmclipplus_dbg_info
40 uint16_t regs[32]; /* Read registers */
43 bool fmclipplus_detect(void);
44 void fmclipplus_init(void);
45 int fmclipplus_set(int setting, int value);
46 int fmclipplus_get(int setting);
47 void fmclipplus_dbg_info(struct fmclipplus_dbg_info *nfo);
49 #ifndef CONFIG_TUNER_MULTI
50 #define tuner_set fmclipplus_set
51 #define tuner_get fmclipplus_get
52 #endif
54 #endif /* _FMCLIPPLUS_H_ */