Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /* |
Johannes Stezenbach | 776338e | 2005-06-23 22:02:35 -0700 | [diff] [blame] | 2 | * descriptions + helper functions for simple dvb plls. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 3 | */ |
| 4 | |
Johannes Stezenbach | 5e9e722 | 2005-05-16 21:54:37 -0700 | [diff] [blame] | 5 | #ifndef __DVB_PLL_H__ |
| 6 | #define __DVB_PLL_H__ |
| 7 | |
Andrew de Quincey | 272bc4d | 2006-04-18 17:47:12 -0300 | [diff] [blame^] | 8 | #include <linux/i2c.h> |
| 9 | #include "dvb_frontend.h" |
| 10 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 11 | struct dvb_pll_desc { |
| 12 | char *name; |
| 13 | u32 min; |
| 14 | u32 max; |
Patrick Boettcher | 49dc82f | 2005-07-07 17:58:09 -0700 | [diff] [blame] | 15 | void (*setbw)(u8 *buf, u32 freq, int bandwidth); |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 16 | int count; |
| 17 | struct { |
| 18 | u32 limit; |
| 19 | u32 offset; |
| 20 | u32 stepsize; |
Michael Krufky | ab66b22 | 2006-01-23 17:11:11 -0200 | [diff] [blame] | 21 | u8 config; |
| 22 | u8 cb; |
Johannes Stezenbach | 776338e | 2005-06-23 22:02:35 -0700 | [diff] [blame] | 23 | } entries[12]; |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 24 | }; |
| 25 | |
| 26 | extern struct dvb_pll_desc dvb_pll_thomson_dtt7579; |
| 27 | extern struct dvb_pll_desc dvb_pll_thomson_dtt759x; |
| 28 | extern struct dvb_pll_desc dvb_pll_thomson_dtt7610; |
| 29 | extern struct dvb_pll_desc dvb_pll_lg_z201; |
Mac Michaels | d8667cb | 2005-07-07 17:58:29 -0700 | [diff] [blame] | 30 | extern struct dvb_pll_desc dvb_pll_microtune_4042; |
Michael Krufky | 83ac8722 | 2006-01-09 15:25:29 -0200 | [diff] [blame] | 31 | extern struct dvb_pll_desc dvb_pll_thomson_dtt761x; |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 32 | extern struct dvb_pll_desc dvb_pll_unknown_1; |
| 33 | |
Johannes Stezenbach | 776338e | 2005-06-23 22:02:35 -0700 | [diff] [blame] | 34 | extern struct dvb_pll_desc dvb_pll_tua6010xs; |
| 35 | extern struct dvb_pll_desc dvb_pll_env57h1xd5; |
| 36 | extern struct dvb_pll_desc dvb_pll_tua6034; |
Michael Krufky | 1963c90 | 2005-08-08 09:22:43 -0700 | [diff] [blame] | 37 | extern struct dvb_pll_desc dvb_pll_tdvs_tua6034; |
Johannes Stezenbach | 776338e | 2005-06-23 22:02:35 -0700 | [diff] [blame] | 38 | extern struct dvb_pll_desc dvb_pll_tda665x; |
Patrick Boettcher | 49dc82f | 2005-07-07 17:58:09 -0700 | [diff] [blame] | 39 | extern struct dvb_pll_desc dvb_pll_fmd1216me; |
Patrick Boettcher | 0589b8e | 2005-07-07 17:58:12 -0700 | [diff] [blame] | 40 | extern struct dvb_pll_desc dvb_pll_tded4; |
Johannes Stezenbach | 776338e | 2005-06-23 22:02:35 -0700 | [diff] [blame] | 41 | |
Kirk Lapray | 147418c | 2005-11-08 21:35:39 -0800 | [diff] [blame] | 42 | extern struct dvb_pll_desc dvb_pll_tuv1236d; |
| 43 | extern struct dvb_pll_desc dvb_pll_tdhu2; |
Michael Krufky | 28f3d4b | 2006-01-23 17:11:07 -0200 | [diff] [blame] | 44 | extern struct dvb_pll_desc dvb_pll_samsung_tbmv; |
Regis Prevot | f8bf134 | 2006-01-11 23:31:53 -0200 | [diff] [blame] | 45 | extern struct dvb_pll_desc dvb_pll_philips_sd1878_tda8261; |
Jose Alberto Reguero | a78d0bf | 2006-02-07 06:25:14 -0200 | [diff] [blame] | 46 | extern struct dvb_pll_desc dvb_pll_philips_td1316; |
Kirk Lapray | 147418c | 2005-11-08 21:35:39 -0800 | [diff] [blame] | 47 | |
Michael Krufky | 91ae329 | 2006-03-01 00:04:42 -0300 | [diff] [blame] | 48 | extern struct dvb_pll_desc dvb_pll_thomson_fe6600; |
Chris Pascoe | 780dfef | 2006-02-28 08:34:59 -0300 | [diff] [blame] | 49 | |
Andrew de Quincey | 272bc4d | 2006-04-18 17:47:12 -0300 | [diff] [blame^] | 50 | extern int dvb_pll_configure(struct dvb_pll_desc *desc, u8 *buf, |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 51 | u32 freq, int bandwidth); |
| 52 | |
Andrew de Quincey | 272bc4d | 2006-04-18 17:47:12 -0300 | [diff] [blame^] | 53 | /** |
| 54 | * Attach a dvb-pll to the supplied frontend structure. |
| 55 | * |
| 56 | * @param fe Frontend to attach to. |
| 57 | * @param pll_addr i2c address of the PLL (if used). |
| 58 | * @param i2c i2c adapter to use (set to NULL if not used). |
| 59 | * @param desc dvb_pll_desc to use. |
| 60 | * @return 0 on success, nonzero on failure. |
| 61 | */ |
| 62 | extern int dvb_pll_attach(struct dvb_frontend *fe, int pll_addr, struct i2c_adapter *i2c, struct dvb_pll_desc *desc); |
| 63 | |
Johannes Stezenbach | 5e9e722 | 2005-05-16 21:54:37 -0700 | [diff] [blame] | 64 | #endif |