| /* SPDX-License-Identifier: GPL-2.0 */ |
| #ifndef _DVB_USB_CXUSB_H_ |
| #define _DVB_USB_CXUSB_H_ |
| |
| #define DVB_USB_LOG_PREFIX "cxusb" |
| #include "dvb-usb.h" |
| |
| /* usb commands - some of it are guesses, don't have a reference yet */ |
| #define CMD_BLUEBIRD_GPIO_RW 0x05 |
| |
| #define CMD_I2C_WRITE 0x08 |
| #define CMD_I2C_READ 0x09 |
| |
| #define CMD_GPIO_READ 0x0d |
| #define CMD_GPIO_WRITE 0x0e |
| #define GPIO_TUNER 0x02 |
| |
| #define CMD_POWER_OFF 0xdc |
| #define CMD_POWER_ON 0xde |
| |
| #define CMD_STREAMING_ON 0x36 |
| #define CMD_STREAMING_OFF 0x37 |
| |
| #define CMD_AVER_STREAM_ON 0x18 |
| #define CMD_AVER_STREAM_OFF 0x19 |
| |
| #define CMD_GET_IR_CODE 0x47 |
| |
| #define CMD_ANALOG 0x50 |
| #define CMD_DIGITAL 0x51 |
| |
| /* Max transfer size done by I2C transfer functions */ |
| #define MAX_XFER_SIZE 80 |
| |
| struct cxusb_state { |
| u8 gpio_write_state[3]; |
| struct i2c_client *i2c_client_demod; |
| struct i2c_client *i2c_client_tuner; |
| |
| unsigned char data[MAX_XFER_SIZE]; |
| |
| struct mutex stream_mutex; |
| u8 last_lock; |
| int (*fe_read_status)(struct dvb_frontend *fe, |
| enum fe_status *status); |
| }; |
| |
| #endif |