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