aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/frontends/tda18271.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/dvb/frontends/tda18271.h')
-rw-r--r--drivers/media/dvb/frontends/tda18271.h25
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
27struct tda18271_std_map_item { 27struct 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
32struct tda18271_std_map { 42struct 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
59enum tda18271_role {
60 TDA18271_MASTER = 0,
61 TDA18271_SLAVE,
62};
63
49enum tda18271_i2c_gate { 64enum 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