dvb-pll.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /*
  2. * descriptions + helper functions for simple dvb plls.
  3. */
  4. #ifndef __DVB_PLL_H__
  5. #define __DVB_PLL_H__
  6. #include <linux/i2c.h>
  7. #include "dvb_frontend.h"
  8. struct dvb_pll_desc {
  9. char *name;
  10. u32 min;
  11. u32 max;
  12. void (*setbw)(u8 *buf, u32 freq, int bandwidth);
  13. int count;
  14. struct {
  15. u32 limit;
  16. u32 offset;
  17. u32 stepsize;
  18. u8 config;
  19. u8 cb;
  20. } entries[12];
  21. };
  22. extern struct dvb_pll_desc dvb_pll_thomson_dtt7579;
  23. extern struct dvb_pll_desc dvb_pll_thomson_dtt759x;
  24. extern struct dvb_pll_desc dvb_pll_thomson_dtt7610;
  25. extern struct dvb_pll_desc dvb_pll_lg_z201;
  26. extern struct dvb_pll_desc dvb_pll_microtune_4042;
  27. extern struct dvb_pll_desc dvb_pll_thomson_dtt761x;
  28. extern struct dvb_pll_desc dvb_pll_unknown_1;
  29. extern struct dvb_pll_desc dvb_pll_tua6010xs;
  30. extern struct dvb_pll_desc dvb_pll_env57h1xd5;
  31. extern struct dvb_pll_desc dvb_pll_tua6034;
  32. extern struct dvb_pll_desc dvb_pll_lg_tdvs_h06xf;
  33. extern struct dvb_pll_desc dvb_pll_tda665x;
  34. extern struct dvb_pll_desc dvb_pll_fmd1216me;
  35. extern struct dvb_pll_desc dvb_pll_tded4;
  36. extern struct dvb_pll_desc dvb_pll_tuv1236d;
  37. extern struct dvb_pll_desc dvb_pll_tdhu2;
  38. extern struct dvb_pll_desc dvb_pll_samsung_tbmv;
  39. extern struct dvb_pll_desc dvb_pll_philips_sd1878_tda8261;
  40. extern struct dvb_pll_desc dvb_pll_philips_td1316;
  41. extern struct dvb_pll_desc dvb_pll_thomson_fe6600;
  42. extern int dvb_pll_configure(struct dvb_pll_desc *desc, u8 *buf,
  43. u32 freq, int bandwidth);
  44. /**
  45. * Attach a dvb-pll to the supplied frontend structure.
  46. *
  47. * @param fe Frontend to attach to.
  48. * @param pll_addr i2c address of the PLL (if used).
  49. * @param i2c i2c adapter to use (set to NULL if not used).
  50. * @param desc dvb_pll_desc to use.
  51. * @return 0 on success, nonzero on failure.
  52. */
  53. extern int dvb_pll_attach(struct dvb_frontend *fe, int pll_addr, struct i2c_adapter *i2c, struct dvb_pll_desc *desc);
  54. #endif