diff options
Diffstat (limited to 'drivers/media/dvb-frontends/dib3000mc.h')
-rw-r--r-- | drivers/media/dvb-frontends/dib3000mc.h | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/drivers/media/dvb-frontends/dib3000mc.h b/drivers/media/dvb-frontends/dib3000mc.h new file mode 100644 index 000000000000..d75ffad2d752 --- /dev/null +++ b/drivers/media/dvb-frontends/dib3000mc.h | |||
@@ -0,0 +1,85 @@ | |||
1 | /* | ||
2 | * Driver for DiBcom DiB3000MC/P-demodulator. | ||
3 | * | ||
4 | * Copyright (C) 2004-6 DiBcom (http://www.dibcom.fr/) | ||
5 | * Copyright (C) 2004-5 Patrick Boettcher (patrick.boettcher\@desy.de) | ||
6 | * | ||
7 | * This code is partially based on the previous dib3000mc.c . | ||
8 | * | ||
9 | * This program is free software; you can redistribute it and/or | ||
10 | * modify it under the terms of the GNU General Public License as | ||
11 | * published by the Free Software Foundation, version 2. | ||
12 | */ | ||
13 | #ifndef DIB3000MC_H | ||
14 | #define DIB3000MC_H | ||
15 | |||
16 | #include "dibx000_common.h" | ||
17 | |||
18 | struct dib3000mc_config { | ||
19 | struct dibx000_agc_config *agc; | ||
20 | |||
21 | u8 phase_noise_mode; | ||
22 | u8 impulse_noise_mode; | ||
23 | |||
24 | u8 pwm3_inversion; | ||
25 | u8 use_pwm3; | ||
26 | u16 pwm3_value; | ||
27 | |||
28 | u16 max_time; | ||
29 | u16 ln_adc_level; | ||
30 | |||
31 | u8 agc_command1 :1; | ||
32 | u8 agc_command2 :1; | ||
33 | |||
34 | u8 mobile_mode; | ||
35 | |||
36 | u8 output_mpeg2_in_188_bytes; | ||
37 | }; | ||
38 | |||
39 | #define DEFAULT_DIB3000MC_I2C_ADDRESS 16 | ||
40 | #define DEFAULT_DIB3000P_I2C_ADDRESS 24 | ||
41 | |||
42 | #if defined(CONFIG_DVB_DIB3000MC) || (defined(CONFIG_DVB_DIB3000MC_MODULE) && \ | ||
43 | defined(MODULE)) | ||
44 | extern struct dvb_frontend *dib3000mc_attach(struct i2c_adapter *i2c_adap, | ||
45 | u8 i2c_addr, | ||
46 | struct dib3000mc_config *cfg); | ||
47 | extern int dib3000mc_i2c_enumeration(struct i2c_adapter *i2c, | ||
48 | int no_of_demods, u8 default_addr, | ||
49 | struct dib3000mc_config cfg[]); | ||
50 | extern | ||
51 | struct i2c_adapter *dib3000mc_get_tuner_i2c_master(struct dvb_frontend *demod, | ||
52 | int gating); | ||
53 | #else | ||
54 | static inline | ||
55 | struct dvb_frontend *dib3000mc_attach(struct i2c_adapter *i2c_adap, u8 i2c_addr, | ||
56 | struct dib3000mc_config *cfg) | ||
57 | { | ||
58 | printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__); | ||
59 | return NULL; | ||
60 | } | ||
61 | |||
62 | static inline | ||
63 | int dib3000mc_i2c_enumeration(struct i2c_adapter *i2c, | ||
64 | int no_of_demods, u8 default_addr, | ||
65 | struct dib3000mc_config cfg[]) | ||
66 | { | ||
67 | printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__); | ||
68 | return -ENODEV; | ||
69 | } | ||
70 | |||
71 | static inline | ||
72 | struct i2c_adapter *dib3000mc_get_tuner_i2c_master(struct dvb_frontend *demod, | ||
73 | int gating) | ||
74 | { | ||
75 | printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__); | ||
76 | return NULL; | ||
77 | } | ||
78 | #endif // CONFIG_DVB_DIB3000MC | ||
79 | |||
80 | extern int dib3000mc_pid_control(struct dvb_frontend *fe, int index, int pid,int onoff); | ||
81 | extern int dib3000mc_pid_parse(struct dvb_frontend *fe, int onoff); | ||
82 | |||
83 | extern void dib3000mc_set_config(struct dvb_frontend *, struct dib3000mc_config *); | ||
84 | |||
85 | #endif | ||