si2168.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /* SPDX-License-Identifier: GPL-2.0-or-later */
  2. /*
  3. * Silicon Labs Si2168 DVB-T/T2/C demodulator driver
  4. *
  5. * Copyright (C) 2014 Antti Palosaari <[email protected]>
  6. */
  7. #ifndef SI2168_H
  8. #define SI2168_H
  9. #include <linux/dvb/frontend.h>
  10. /**
  11. * struct si2168_config - configuration parameters for si2168
  12. *
  13. * @fe:
  14. * frontend returned by driver
  15. * @i2c_adapter:
  16. * tuner I2C adapter returned by driver
  17. * @ts_mode:
  18. * Transport Stream mode. Can be:
  19. * - %SI2168_TS_PARALLEL
  20. * - %SI2168_TS_SERIAL
  21. * - %SI2168_TS_TRISTATE
  22. * - %SI2168_TS_CLK_MANUAL
  23. * @ts_clock_inv:
  24. * TS clock inverted
  25. * @ts_clock_gapped:
  26. * TS clock gapped
  27. * @spectral_inversion:
  28. * Inverted spectrum
  29. *
  30. * Note:
  31. * The I2C address of this demod is 0x64.
  32. */
  33. struct si2168_config {
  34. struct dvb_frontend **fe;
  35. struct i2c_adapter **i2c_adapter;
  36. #define SI2168_TS_PARALLEL 0x06
  37. #define SI2168_TS_SERIAL 0x03
  38. #define SI2168_TS_TRISTATE 0x00
  39. #define SI2168_TS_CLK_MANUAL 0x20
  40. u8 ts_mode;
  41. /* Flags */
  42. unsigned int ts_clock_inv:1;
  43. unsigned int ts_clock_gapped:1;
  44. unsigned int spectral_inversion:1;
  45. };
  46. #endif