aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/frontends/lnbp21.h
diff options
context:
space:
mode:
authorIgor M. Liplianin <liplianin@netup.ru>2009-03-03 09:24:18 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-03-30 11:43:04 -0400
commit8c1a23312b120194a415be354808f58ace582d10 (patch)
tree9a2fc408f2cd3169fc280eef0f04fc4e95fb2dca /drivers/media/dvb/frontends/lnbp21.h
parent47220bc11f5bb4bc21ae7227278452ae82fefe18 (diff)
V4L/DVB (10800): Add support for ST LNBH24 LNB power controller.
The controller consist of two independent parts. Every part is similar to LNBP21, but has configurable i2c address. It is used in NetUP Dual DVB-S2 CI card. http://linuxtv.org/wiki/index.php/NetUP_Dual_DVB_S2_CI Signed-off-by: Igor M. Liplianin <liplianin@netup.ru> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/dvb/frontends/lnbp21.h')
-rw-r--r--drivers/media/dvb/frontends/lnbp21.h50
1 files changed, 36 insertions, 14 deletions
diff --git a/drivers/media/dvb/frontends/lnbp21.h b/drivers/media/dvb/frontends/lnbp21.h
index b8745887492c..fcdf1c650dde 100644
--- a/drivers/media/dvb/frontends/lnbp21.h
+++ b/drivers/media/dvb/frontends/lnbp21.h
@@ -28,26 +28,48 @@
28#define _LNBP21_H 28#define _LNBP21_H
29 29
30/* system register bits */ 30/* system register bits */
31#define LNBP21_OLF 0x01 /* [R-only] 0=OK; 1=over current limit flag*/ 31/* [RO] 0=OK; 1=over current limit flag */
32#define LNBP21_OTF 0x02 /* [R-only] 0=OK; 1=over temperature flag (150degC typ) */ 32#define LNBP21_OLF 0x01
33#define LNBP21_EN 0x04 /* [RW] 0=disable LNB power, enable loopthrough; 1=enable LNB power, disable loopthrough*/ 33/* [RO] 0=OK; 1=over temperature flag (150 C) */
34#define LNBP21_VSEL 0x08 /* [RW] 0=low voltage (13/14V, vert pol); 1=high voltage (18/19V,horiz pol) */ 34#define LNBP21_OTF 0x02
35#define LNBP21_LLC 0x10 /* [RW] increase LNB voltage by 1V: 0=13/18V; 1=14/19V */ 35/* [RW] 0=disable LNB power, enable loopthrough
36#define LNBP21_TEN 0x20 /* [RW] 0=tone controlled by DSQIN pin; 1=tone enable, disable DSQIN */ 36 1=enable LNB power, disable loopthrough */
37#define LNBP21_ISEL 0x40 /* [RW] current limit select 0:Iout=500-650mA,Isc=300mA ; 1:Iout=400-550mA,Isc=200mA*/ 37#define LNBP21_EN 0x04
38#define LNBP21_PCL 0x80 /* [RW] short-circuit prot: 0=pulsed (dynamic) curr limiting; 1=static curr limiting*/ 38/* [RW] 0=low voltage (13/14V, vert pol)
39 1=high voltage (18/19V,horiz pol) */
40#define LNBP21_VSEL 0x08
41/* [RW] increase LNB voltage by 1V:
42 0=13/18V; 1=14/19V */
43#define LNBP21_LLC 0x10
44/* [RW] 0=tone controlled by DSQIN pin
45 1=tone enable, disable DSQIN */
46#define LNBP21_TEN 0x20
47/* [RW] current limit select:
48 0:Iout=500-650mA Isc=300mA
49 1:Iout=400-550mA Isc=200mA */
50#define LNBP21_ISEL 0x40
51/* [RW] short-circuit protect:
52 0=pulsed (dynamic) curr limiting
53 1=static curr limiting */
54#define LNBP21_PCL 0x80
39 55
40#include <linux/dvb/frontend.h> 56#include <linux/dvb/frontend.h>
41 57
42#if defined(CONFIG_DVB_LNBP21) || (defined(CONFIG_DVB_LNBP21_MODULE) && defined(MODULE)) 58#if defined(CONFIG_DVB_LNBP21) || (defined(CONFIG_DVB_LNBP21_MODULE) \
43/* override_set and override_clear control which system register bits (above) to always set & clear */ 59 && defined(MODULE))
44extern struct dvb_frontend *lnbp21_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, u8 override_set, u8 override_clear); 60/* override_set and override_clear control which
61 system register bits (above) to always set & clear */
62extern struct dvb_frontend *lnbp21_attach(struct dvb_frontend *fe,
63 struct i2c_adapter *i2c, u8 override_set,
64 u8 override_clear);
45#else 65#else
46static inline struct dvb_frontend *lnbp21_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, u8 override_set, u8 override_clear) 66static inline struct dvb_frontend *lnbp21_attach(struct dvb_frontend *fe,
67 struct i2c_adapter *i2c, u8 override_set,
68 u8 override_clear)
47{ 69{
48 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__); 70 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
49 return NULL; 71 return NULL;
50} 72}
51#endif // CONFIG_DVB_LNBP21 73#endif
52 74
53#endif // _LNBP21_H 75#endif