summaryrefslogtreecommitdiff
path: root/firmware/export/ipod_remote_tuner.h
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/export/ipod_remote_tuner.h')
-rw-r--r--firmware/export/ipod_remote_tuner.h75
1 files changed, 75 insertions, 0 deletions
diff --git a/firmware/export/ipod_remote_tuner.h b/firmware/export/ipod_remote_tuner.h
new file mode 100644
index 0000000000..28fcfe1e93
--- /dev/null
+++ b/firmware/export/ipod_remote_tuner.h
@@ -0,0 +1,75 @@
1/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id: ipod_remote_tuner.h
9 * Tuner header for the ipod remote tuner and others remote tuners
10 *
11 * Copyright (C) 2009 Laurent Gautier
12 *
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.
17 *
18 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
19 * KIND, either express or implied.
20 *
21 ****************************************************************************/
22
23#ifndef _IPOD_REMOTE_TUNER_H_
24#define _IPOD_REMOTE_TUNER_H_
25
26#define HAVE_RADIO_REGION
27#define TIMEOUT_VALUE 20
28
29extern int radio_present;
30extern int tuner_frequency;
31extern int tuner_signal_power;
32extern int radio_tuned;
33
34/* update tuner state: plugged or unplugged when in radio mode */
35extern void rmt_tuner_region(int region);
36extern void rmt_tuner_set_freq(int curr_freq);
37extern void rmt_tuner_freq(void);
38extern void rmt_tuner_scan(int direction);
39
40/* tuner mode state: ON or OFF */
41extern void rmt_tuner_sleep(int state);
42
43/* parameters are stereo/mono, deemphasis, delta freq... */
44extern void rmt_tuner_set_param(unsigned char tuner_param);
45
46extern void rmt_tuner_mute(int value);
47extern void rmt_tuner_signal_power(unsigned char value);
48
49extern void rmt_tuner_rds_data(void);
50
51struct rmt_tuner_region_data
52{
53 /* 0: 50us, 1: 75us */
54 unsigned char deemphasis;
55 /* 0: europe, 1: japan (BL in TEA spec)*/
56 unsigned char band;
57 /* 0: us/australia (200kHz), 1: europe/japan (100kHz), 2: (50kHz) */
58 unsigned char spacing;
59} __attribute__((packed));
60
61extern const struct rmt_tuner_region_data
62 rmt_tuner_region_data[TUNER_NUM_REGIONS];
63
64int ipod_rmt_tuner_set(int setting, int value);
65int ipod_rmt_tuner_get(int setting);
66char* ipod_get_rds_info(int setting);
67
68
69#ifndef CONFIG_TUNER_MULTI
70#define tuner_set ipod_rmt_tuner_set
71#define tuner_get ipod_rmt_tuner_get
72#define tuner_get_rds_info ipod_get_rds_info
73#endif
74
75#endif /* _IPOD_REMOTE_TUNER_H_ */