RT-AC66 3.0.0.4.374.130 core
[tomato.git] / release / src-rt-6.x / linux / linux-2.6 / drivers / media / dvb / dvb-usb / digitv.h
blob477ee428a70e9c81034677f6db7d90085fccd795
1 #ifndef _DVB_USB_DIGITV_H_
2 #define _DVB_USB_DIGITV_H_
4 #define DVB_USB_LOG_PREFIX "digitv"
5 #include "dvb-usb.h"
7 extern int dvb_usb_digitv_debug;
8 #define deb_rc(args...) dprintk(dvb_usb_digitv_debug,0x01,args)
10 /* protocol (from usblogging and the SDK:
12 * Always 7 bytes bulk message(s) for controlling
14 * First byte describes the command. Reads are 2 consecutive transfer (as always).
16 * General structure:
18 * write or first message of a read:
19 * <cmdbyte> VV <len> B0 B1 B2 B3
21 * second message of a read
22 * <cmdbyte> VV <len> R0 R1 R2 R3
24 * whereas 0 < len <= 4
26 * I2C address is stored somewhere inside the device.
28 * 0x01 read from EEPROM
29 * VV = offset; B* = 0; R* = value(s)
31 * 0x02 read register of the COFDM
32 * VV = register; B* = 0; R* = value(s)
34 * 0x05 write register of the COFDM
35 * VV = register; B* = value(s);
37 * 0x06 write to the tuner (only for NXT6000)
38 * VV = 0; B* = PLL data; len = 4;
40 * 0x03 read remote control
41 * VV = 0; B* = 0; len = 4; R* = key
43 * 0x07 write to the remote (don't know why one should this, resetting ?)
44 * VV = 0; B* = key; len = 4;
46 * 0x08 write remote type
47 * VV = 0; B[0] = 0x01, len = 4
49 * 0x09 write device init
50 * TODO
52 #define USB_READ_EEPROM 1
54 #define USB_READ_COFDM 2
55 #define USB_WRITE_COFDM 5
57 #define USB_WRITE_TUNER 6
59 #define USB_READ_REMOTE 3
60 #define USB_WRITE_REMOTE 7
61 #define USB_WRITE_REMOTE_TYPE 8
63 #define USB_DEV_INIT 9
65 #endif