rtl2832_sdr.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /* SPDX-License-Identifier: GPL-2.0-or-later */
  2. /*
  3. * Realtek RTL2832U SDR driver
  4. *
  5. * Copyright (C) 2013 Antti Palosaari <crope@iki.fi>
  6. *
  7. * GNU Radio plugin "gr-kernel" for device usage will be on:
  8. * http://git.linuxtv.org/anttip/gr-kernel.git
  9. */
  10. #ifndef RTL2832_SDR_H
  11. #define RTL2832_SDR_H
  12. #include <linux/i2c.h>
  13. #include <media/v4l2-subdev.h>
  14. #include <media/dvb_frontend.h>
  15. /**
  16. * struct rtl2832_sdr_platform_data - Platform data for the rtl2832_sdr driver
  17. * @clk: Clock frequency (4000000, 16000000, 25000000, 28800000).
  18. * @tuner: Used tuner model.
  19. * @regmap: pointer to &struct regmap.
  20. * @dvb_frontend: rtl2832 DVB frontend.
  21. * @v4l2_subdev: Tuner v4l2 controls.
  22. * @dvb_usb_device: DVB USB interface for USB streaming.
  23. */
  24. struct rtl2832_sdr_platform_data {
  25. u32 clk;
  26. /*
  27. * XXX: This list must be kept sync with dvb_usb_rtl28xxu USB IF driver.
  28. */
  29. #define RTL2832_SDR_TUNER_FC2580 0x21
  30. #define RTL2832_SDR_TUNER_TUA9001 0x24
  31. #define RTL2832_SDR_TUNER_FC0012 0x26
  32. #define RTL2832_SDR_TUNER_E4000 0x27
  33. #define RTL2832_SDR_TUNER_FC0013 0x29
  34. #define RTL2832_SDR_TUNER_R820T 0x2a
  35. #define RTL2832_SDR_TUNER_R828D 0x2b
  36. u8 tuner;
  37. struct regmap *regmap;
  38. struct dvb_frontend *dvb_frontend;
  39. struct v4l2_subdev *v4l2_subdev;
  40. struct dvb_usb_device *dvb_usb_device;
  41. };
  42. #endif /* RTL2832_SDR_H */