2019-05-23 12:14:50 +03:00
/* SPDX-License-Identifier: GPL-2.0-or-later */
2006-02-28 15:31:16 +03:00
/*
* lnbp21 . h - driver for lnb supply and control ic lnbp21
*
* Copyright ( C ) 2006 Oliver Endriss
*
2015-12-04 15:38:59 +03:00
* the project ' s page is at https : //linuxtv.org
2006-02-28 15:31:16 +03:00
*/
# ifndef _LNBP21_H
# define _LNBP21_H
2006-04-28 04:45:01 +04:00
/* system register bits */
2009-03-03 17:24:18 +03:00
/* [RO] 0=OK; 1=over current limit flag */
# define LNBP21_OLF 0x01
/* [RO] 0=OK; 1=over temperature flag (150 C) */
# define LNBP21_OTF 0x02
/* [RW] 0=disable LNB power, enable loopthrough
1 = enable LNB power , disable loopthrough */
# define LNBP21_EN 0x04
/* [RW] 0=low voltage (13/14V, vert pol)
1 = high voltage ( 18 / 19 V , horiz pol ) */
# define LNBP21_VSEL 0x08
/* [RW] increase LNB voltage by 1V:
0 = 13 / 18 V ; 1 = 14 / 19 V */
# define LNBP21_LLC 0x10
/* [RW] 0=tone controlled by DSQIN pin
1 = tone enable , disable DSQIN */
# define LNBP21_TEN 0x20
/* [RW] current limit select:
0 : Iout = 500 - 650 mA Isc = 300 mA
1 : Iout = 400 - 550 mA Isc = 200 mA */
# define LNBP21_ISEL 0x40
/* [RW] short-circuit protect:
0 = pulsed ( dynamic ) curr limiting
1 = static curr limiting */
# define LNBP21_PCL 0x80
2006-02-28 15:31:16 +03:00
2006-04-28 04:45:01 +04:00
# include <linux/dvb/frontend.h>
2006-02-28 15:31:16 +03:00
2015-02-18 20:12:42 +03:00
# if IS_REACHABLE(CONFIG_DVB_LNBP21)
2009-03-03 17:24:18 +03:00
/* override_set and override_clear control which
system register bits ( above ) to always set & clear */
extern struct dvb_frontend * lnbp21_attach ( struct dvb_frontend * fe ,
struct i2c_adapter * i2c , u8 override_set ,
u8 override_clear ) ;
2006-08-08 16:10:08 +04:00
# else
2009-03-03 17:24:18 +03:00
static inline struct dvb_frontend * lnbp21_attach ( struct dvb_frontend * fe ,
struct i2c_adapter * i2c , u8 override_set ,
u8 override_clear )
2006-08-08 16:10:08 +04:00
{
2008-04-09 06:20:00 +04:00
printk ( KERN_WARNING " %s: driver disabled by Kconfig \n " , __func__ ) ;
2006-08-08 16:10:08 +04:00
return NULL ;
}
2009-03-03 17:24:18 +03:00
# endif
2006-02-28 15:31:16 +03:00
2009-03-03 17:24:18 +03:00
# endif