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