49 lines
1.1 KiB
C
49 lines
1.1 KiB
C
/* 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
|