0001
0002
0003
0004
0005
0006
0007
0008 #ifndef _DVB_USB_DIBUSB_H_
0009 #define _DVB_USB_DIBUSB_H_
0010
0011 #ifndef DVB_USB_LOG_PREFIX
0012 #define DVB_USB_LOG_PREFIX "dibusb"
0013 #endif
0014 #include "dvb-usb.h"
0015
0016 #include "dib3000.h"
0017 #include "dib3000mc.h"
0018 #include "mt2060.h"
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031 #define DIBUSB_REQ_START_READ 0x00
0032 #define DIBUSB_REQ_START_DEMOD 0x01
0033
0034
0035
0036
0037
0038
0039 #define DIBUSB_REQ_I2C_READ 0x02
0040
0041
0042
0043
0044
0045 #define DIBUSB_REQ_I2C_WRITE 0x03
0046
0047
0048
0049
0050
0051
0052 #define DIBUSB_REQ_POLL_REMOTE 0x04
0053
0054
0055 #define DIBUSB_RC_HAUPPAUGE_KEY_PRESSED 0x01
0056 #define DIBUSB_RC_HAUPPAUGE_KEY_EMPTY 0x03
0057
0058
0059
0060
0061
0062
0063 #define DIBUSB_REQ_SET_STREAMING_MODE 0x05
0064
0065
0066 #define DIBUSB_REQ_INTR_READ 0x06
0067
0068
0069
0070
0071
0072
0073
0074
0075
0076
0077
0078
0079
0080
0081
0082
0083 #define DIBUSB_REQ_SET_IOCTL 0x07
0084
0085
0086
0087
0088 #define DIBUSB_IOCTL_CMD_POWER_MODE 0x00
0089 #define DIBUSB_IOCTL_POWER_SLEEP 0x00
0090 #define DIBUSB_IOCTL_POWER_WAKEUP 0x01
0091
0092
0093 #define DIBUSB_IOCTL_CMD_ENABLE_STREAM 0x01
0094 #define DIBUSB_IOCTL_CMD_DISABLE_STREAM 0x02
0095
0096
0097 #define MAX_XFER_SIZE 64
0098
0099 struct dibusb_state {
0100 struct dib_fe_xfer_ops ops;
0101 int mt2060_present;
0102 u8 tuner_addr;
0103 };
0104
0105 struct dibusb_device_state {
0106
0107 int old_toggle;
0108 int last_repeat_count;
0109 };
0110
0111 extern struct i2c_algorithm dibusb_i2c_algo;
0112
0113 extern int dibusb_dib3000mc_frontend_attach(struct dvb_usb_adapter *);
0114 extern int dibusb_dib3000mc_tuner_attach (struct dvb_usb_adapter *);
0115
0116 extern int dibusb_streaming_ctrl(struct dvb_usb_adapter *, int);
0117 extern int dibusb_pid_filter(struct dvb_usb_adapter *, int, u16, int);
0118 extern int dibusb_pid_filter_ctrl(struct dvb_usb_adapter *, int);
0119 extern int dibusb2_0_streaming_ctrl(struct dvb_usb_adapter *, int);
0120
0121 extern int dibusb_power_ctrl(struct dvb_usb_device *, int);
0122 extern int dibusb2_0_power_ctrl(struct dvb_usb_device *, int);
0123
0124 #define DEFAULT_RC_INTERVAL 150
0125
0126
0127 extern struct rc_map_table rc_map_dibusb_table[];
0128 extern int dibusb_rc_query(struct dvb_usb_device *, u32 *, int *);
0129 extern int dibusb_read_eeprom_byte(struct dvb_usb_device *, u8, u8 *);
0130
0131 #endif