Commit | Line | Data |
---|---|---|
6cb45879 MCC |
1 | /* tuner-xc2028 |
2 | * | |
3 | * Copyright (c) 2007 Mauro Carvalho Chehab (mchehab@infradead.org) | |
4 | * This code is placed under the terms of the GNU General Public License v2 | |
5 | */ | |
6 | ||
215b95ba MCC |
7 | #ifndef __TUNER_XC2028_H__ |
8 | #define __TUNER_XC2028_H__ | |
9 | ||
10 | #include "dvb_frontend.h" | |
11 | ||
de3fe21b MCC |
12 | #define XC2028_DEFAULT_FIRMWARE "xc3028-v27.fw" |
13 | ||
66c2d53d MCC |
14 | /* Dmoduler IF (kHz) */ |
15 | #define XC3028_FE_DEFAULT 0 | |
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 | |
b542dfdc | 25 | |
de3fe21b | 26 | struct xc2028_ctrl { |
de3fe21b | 27 | char *fname; |
352fae1d | 28 | int max_len; |
e0f0b37a | 29 | unsigned int scode_table; |
d74cb25e MCC |
30 | unsigned int mts :1; |
31 | unsigned int d2633 :1; | |
32 | unsigned int input1:1; | |
3dfefc50 CP |
33 | unsigned int vhfbw7:1; |
34 | unsigned int uhfbw8:1; | |
66c2d53d | 35 | unsigned int demod; |
de3fe21b MCC |
36 | }; |
37 | ||
a37b4c9b ML |
38 | struct xc2028_config { |
39 | struct i2c_adapter *i2c_adap; | |
40 | u8 i2c_addr; | |
41 | void *video_dev; | |
71a2ee37 | 42 | struct xc2028_ctrl *ctrl; |
a37b4c9b ML |
43 | int (*callback) (void *dev, int command, int arg); |
44 | }; | |
45 | ||
6cb45879 MCC |
46 | /* xc2028 commands for callback */ |
47 | #define XC2028_TUNER_RESET 0 | |
48 | #define XC2028_RESET_CLK 1 | |
701672eb | 49 | |
215b95ba | 50 | #if defined(CONFIG_TUNER_XC2028) || (defined(CONFIG_TUNER_XC2028_MODULE) && defined(MODULE)) |
7972f988 MK |
51 | extern struct dvb_frontend *xc2028_attach(struct dvb_frontend *fe, |
52 | struct xc2028_config *cfg); | |
215b95ba | 53 | #else |
7972f988 MK |
54 | static inline struct dvb_frontend *xc2028_attach(struct dvb_frontend *fe, |
55 | struct xc2028_config *cfg) | |
215b95ba MCC |
56 | { |
57 | printk(KERN_INFO "%s: not probed - driver disabled by Kconfig\n", | |
58 | __FUNCTION__); | |
7972f988 | 59 | return NULL; |
215b95ba MCC |
60 | } |
61 | #endif | |
62 | ||
63 | #endif /* __TUNER_XC2028_H__ */ |