diff options
Diffstat (limited to 'drivers/media/dvb/frontends/tda18271.h')
-rw-r--r-- | drivers/media/dvb/frontends/tda18271.h | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/drivers/media/dvb/frontends/tda18271.h b/drivers/media/dvb/frontends/tda18271.h index 24b0e35a2ab3..0e7af8d05a38 100644 --- a/drivers/media/dvb/frontends/tda18271.h +++ b/drivers/media/dvb/frontends/tda18271.h | |||
@@ -26,7 +26,17 @@ | |||
26 | 26 | ||
27 | struct tda18271_std_map_item { | 27 | struct tda18271_std_map_item { |
28 | u16 if_freq; | 28 | u16 if_freq; |
29 | u8 std_bits; | 29 | |
30 | /* EP3[4:3] */ | ||
31 | unsigned int agc_mode:2; | ||
32 | /* EP3[2:0] */ | ||
33 | unsigned int std:3; | ||
34 | /* EP4[7] */ | ||
35 | unsigned int fm_rfn:1; | ||
36 | /* EP4[4:2] */ | ||
37 | unsigned int if_lvl:3; | ||
38 | /* EB22[6:0] */ | ||
39 | unsigned int rfagc_top:7; | ||
30 | }; | 40 | }; |
31 | 41 | ||
32 | struct tda18271_std_map { | 42 | struct tda18271_std_map { |
@@ -46,6 +56,11 @@ struct tda18271_std_map { | |||
46 | struct tda18271_std_map_item qam_8; | 56 | struct tda18271_std_map_item qam_8; |
47 | }; | 57 | }; |
48 | 58 | ||
59 | enum tda18271_role { | ||
60 | TDA18271_MASTER = 0, | ||
61 | TDA18271_SLAVE, | ||
62 | }; | ||
63 | |||
49 | enum tda18271_i2c_gate { | 64 | enum tda18271_i2c_gate { |
50 | TDA18271_GATE_AUTO = 0, | 65 | TDA18271_GATE_AUTO = 0, |
51 | TDA18271_GATE_ANALOG, | 66 | TDA18271_GATE_ANALOG, |
@@ -56,8 +71,14 @@ struct tda18271_config { | |||
56 | /* override default if freq / std settings (optional) */ | 71 | /* override default if freq / std settings (optional) */ |
57 | struct tda18271_std_map *std_map; | 72 | struct tda18271_std_map *std_map; |
58 | 73 | ||
74 | /* master / slave tuner: master uses main pll, slave uses cal pll */ | ||
75 | enum tda18271_role role; | ||
76 | |||
59 | /* use i2c gate provided by analog or digital demod */ | 77 | /* use i2c gate provided by analog or digital demod */ |
60 | enum tda18271_i2c_gate gate; | 78 | enum tda18271_i2c_gate gate; |
79 | |||
80 | /* some i2c providers cant write all 39 registers at once */ | ||
81 | unsigned int small_i2c:1; | ||
61 | }; | 82 | }; |
62 | 83 | ||
63 | #if defined(CONFIG_DVB_TDA18271) || (defined(CONFIG_DVB_TDA18271_MODULE) && defined(MODULE)) | 84 | #if defined(CONFIG_DVB_TDA18271) || (defined(CONFIG_DVB_TDA18271_MODULE) && defined(MODULE)) |
@@ -70,7 +91,7 @@ static inline struct dvb_frontend *tda18271_attach(struct dvb_frontend *fe, | |||
70 | struct i2c_adapter *i2c, | 91 | struct i2c_adapter *i2c, |
71 | struct tda18271_config *cfg) | 92 | struct tda18271_config *cfg) |
72 | { | 93 | { |
73 | printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __FUNCTION__); | 94 | printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__); |
74 | return NULL; | 95 | return NULL; |
75 | } | 96 | } |
76 | #endif | 97 | #endif |