cxusb.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef _DVB_USB_CXUSB_H_
  3. #define _DVB_USB_CXUSB_H_
  4. #define DVB_USB_LOG_PREFIX "cxusb"
  5. #include "dvb-usb.h"
  6. /* usb commands - some of it are guesses, don't have a reference yet */
  7. #define CMD_BLUEBIRD_GPIO_RW 0x05
  8. #define CMD_I2C_WRITE 0x08
  9. #define CMD_I2C_READ 0x09
  10. #define CMD_GPIO_READ 0x0d
  11. #define CMD_GPIO_WRITE 0x0e
  12. #define GPIO_TUNER 0x02
  13. #define CMD_POWER_OFF 0xdc
  14. #define CMD_POWER_ON 0xde
  15. #define CMD_STREAMING_ON 0x36
  16. #define CMD_STREAMING_OFF 0x37
  17. #define CMD_AVER_STREAM_ON 0x18
  18. #define CMD_AVER_STREAM_OFF 0x19
  19. #define CMD_GET_IR_CODE 0x47
  20. #define CMD_ANALOG 0x50
  21. #define CMD_DIGITAL 0x51
  22. /* Max transfer size done by I2C transfer functions */
  23. #define MAX_XFER_SIZE 80
  24. struct cxusb_state {
  25. u8 gpio_write_state[3];
  26. struct i2c_client *i2c_client_demod;
  27. struct i2c_client *i2c_client_tuner;
  28. unsigned char data[MAX_XFER_SIZE];
  29. struct mutex stream_mutex;
  30. u8 last_lock;
  31. int (*fe_read_status)(struct dvb_frontend *fe,
  32. enum fe_status *status);
  33. };
  34. #endif