diff options
Diffstat (limited to 'drivers/media/common/tuners/tuner-xc2028.h')
-rw-r--r-- | drivers/media/common/tuners/tuner-xc2028.h | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/drivers/media/common/tuners/tuner-xc2028.h b/drivers/media/common/tuners/tuner-xc2028.h new file mode 100644 index 000000000000..fc2f132a5541 --- /dev/null +++ b/drivers/media/common/tuners/tuner-xc2028.h | |||
@@ -0,0 +1,63 @@ | |||
1 | /* tuner-xc2028 | ||
2 | * | ||
3 | * Copyright (c) 2007-2008 Mauro Carvalho Chehab (mchehab@infradead.org) | ||
4 | * This code is placed under the terms of the GNU General Public License v2 | ||
5 | */ | ||
6 | |||
7 | #ifndef __TUNER_XC2028_H__ | ||
8 | #define __TUNER_XC2028_H__ | ||
9 | |||
10 | #include "dvb_frontend.h" | ||
11 | |||
12 | #define XC2028_DEFAULT_FIRMWARE "xc3028-v27.fw" | ||
13 | |||
14 | /* Dmoduler IF (kHz) */ | ||
15 | #define XC3028_FE_DEFAULT 0 /* Don't load SCODE */ | ||
16 | #define XC3028_FE_LG60 6000 | ||
17 | #define XC3028_FE_ATI638 6380 | ||
18 | #define XC3028_FE_OREN538 5380 | ||
19 | #define XC3028_FE_OREN36 3600 | ||
20 | #define XC3028_FE_TOYOTA388 3880 | ||
21 | #define XC3028_FE_TOYOTA794 7940 | ||
22 | #define XC3028_FE_DIBCOM52 5200 | ||
23 | #define XC3028_FE_ZARLINK456 4560 | ||
24 | #define XC3028_FE_CHINA 5200 | ||
25 | |||
26 | struct xc2028_ctrl { | ||
27 | char *fname; | ||
28 | int max_len; | ||
29 | unsigned int scode_table; | ||
30 | unsigned int mts :1; | ||
31 | unsigned int d2633 :1; | ||
32 | unsigned int input1:1; | ||
33 | unsigned int vhfbw7:1; | ||
34 | unsigned int uhfbw8:1; | ||
35 | unsigned int demod; | ||
36 | }; | ||
37 | |||
38 | struct xc2028_config { | ||
39 | struct i2c_adapter *i2c_adap; | ||
40 | u8 i2c_addr; | ||
41 | void *video_dev; | ||
42 | struct xc2028_ctrl *ctrl; | ||
43 | int (*callback) (void *dev, int command, int arg); | ||
44 | }; | ||
45 | |||
46 | /* xc2028 commands for callback */ | ||
47 | #define XC2028_TUNER_RESET 0 | ||
48 | #define XC2028_RESET_CLK 1 | ||
49 | |||
50 | #if defined(CONFIG_TUNER_XC2028) || (defined(CONFIG_TUNER_XC2028_MODULE) && defined(MODULE)) | ||
51 | extern struct dvb_frontend *xc2028_attach(struct dvb_frontend *fe, | ||
52 | struct xc2028_config *cfg); | ||
53 | #else | ||
54 | static inline struct dvb_frontend *xc2028_attach(struct dvb_frontend *fe, | ||
55 | struct xc2028_config *cfg) | ||
56 | { | ||
57 | printk(KERN_INFO "%s: not probed - driver disabled by Kconfig\n", | ||
58 | __func__); | ||
59 | return NULL; | ||
60 | } | ||
61 | #endif | ||
62 | |||
63 | #endif /* __TUNER_XC2028_H__ */ | ||