2005-04-16 15:20:36 -07:00
/*
2005-06-23 22:02:35 -07:00
* descriptions + helper functions for simple dvb plls .
2005-04-16 15:20:36 -07:00
*/
2005-05-16 21:54:37 -07:00
# ifndef __DVB_PLL_H__
# define __DVB_PLL_H__
2006-04-18 17:47:12 -03:00
# include <linux/i2c.h>
# include "dvb_frontend.h"
2005-04-16 15:20:36 -07:00
struct dvb_pll_desc {
char * name ;
u32 min ;
u32 max ;
2005-07-07 17:58:09 -07:00
void ( * setbw ) ( u8 * buf , u32 freq , int bandwidth ) ;
2005-04-16 15:20:36 -07:00
int count ;
struct {
u32 limit ;
u32 offset ;
u32 stepsize ;
2006-01-23 17:11:11 -02:00
u8 config ;
u8 cb ;
2005-06-23 22:02:35 -07:00
} entries [ 12 ] ;
2005-04-16 15:20:36 -07:00
} ;
extern struct dvb_pll_desc dvb_pll_thomson_dtt7579 ;
extern struct dvb_pll_desc dvb_pll_thomson_dtt759x ;
extern struct dvb_pll_desc dvb_pll_thomson_dtt7610 ;
extern struct dvb_pll_desc dvb_pll_lg_z201 ;
2005-07-07 17:58:29 -07:00
extern struct dvb_pll_desc dvb_pll_microtune_4042 ;
2006-01-09 15:25:29 -02:00
extern struct dvb_pll_desc dvb_pll_thomson_dtt761x ;
2005-04-16 15:20:36 -07:00
extern struct dvb_pll_desc dvb_pll_unknown_1 ;
2005-06-23 22:02:35 -07:00
extern struct dvb_pll_desc dvb_pll_tua6010xs ;
extern struct dvb_pll_desc dvb_pll_env57h1xd5 ;
extern struct dvb_pll_desc dvb_pll_tua6034 ;
2005-08-08 09:22:43 -07:00
extern struct dvb_pll_desc dvb_pll_tdvs_tua6034 ;
2005-06-23 22:02:35 -07:00
extern struct dvb_pll_desc dvb_pll_tda665x ;
2005-07-07 17:58:09 -07:00
extern struct dvb_pll_desc dvb_pll_fmd1216me ;
2005-07-07 17:58:12 -07:00
extern struct dvb_pll_desc dvb_pll_tded4 ;
2005-06-23 22:02:35 -07:00
2005-11-08 21:35:39 -08:00
extern struct dvb_pll_desc dvb_pll_tuv1236d ;
extern struct dvb_pll_desc dvb_pll_tdhu2 ;
2006-01-23 17:11:07 -02:00
extern struct dvb_pll_desc dvb_pll_samsung_tbmv ;
2006-01-11 23:31:53 -02:00
extern struct dvb_pll_desc dvb_pll_philips_sd1878_tda8261 ;
2006-02-07 06:25:14 -02:00
extern struct dvb_pll_desc dvb_pll_philips_td1316 ;
2005-11-08 21:35:39 -08:00
2006-03-01 00:04:42 -03:00
extern struct dvb_pll_desc dvb_pll_thomson_fe6600 ;
2006-02-28 08:34:59 -03:00
2006-04-18 17:47:12 -03:00
extern int dvb_pll_configure ( struct dvb_pll_desc * desc , u8 * buf ,
2005-04-16 15:20:36 -07:00
u32 freq , int bandwidth ) ;
2006-04-18 17:47:12 -03:00
/**
* Attach a dvb - pll to the supplied frontend structure .
*
* @ param fe Frontend to attach to .
* @ param pll_addr i2c address of the PLL ( if used ) .
* @ param i2c i2c adapter to use ( set to NULL if not used ) .
* @ param desc dvb_pll_desc to use .
* @ return 0 on success , nonzero on failure .
*/
extern int dvb_pll_attach ( struct dvb_frontend * fe , int pll_addr , struct i2c_adapter * i2c , struct dvb_pll_desc * desc ) ;
2005-05-16 21:54:37 -07:00
# endif