V4L/DVB (12822): tm6000: Add support for tm6010
[linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git] / drivers / staging / tm6000 / tm6000-regs.h
blob3d676fcc262d4dc7d1bac2d98589cca13f1cac5d
1 /*
2 tm6000-regs.h - driver for TM5600/TM6000 USB video capture devices
4 Copyright (C) 2006-2007 Mauro Carvalho Chehab <mchehab@infradead.org>
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation version 2
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21 * Define TV Master TM5600/TM6000 Request codes
23 #define REQ_00_SET_IR_VALUE 0
24 #define REQ_01_SET_WAKEUP_IRCODE 1
25 #define REQ_02_GET_IR_CODE 2
26 #define REQ_03_SET_GET_MCU_PIN 3
27 #define REQ_04_EN_DISABLE_MCU_INT 4
28 #define REQ_05_SET_GET_USBREG 5
29 /* Write: RegNum, Value, 0 */
30 /* Read : RegNum, Value, 1, RegStatus */
31 #define REQ_06_SET_GET_USBREG_BIT 6
32 #define REQ_07_SET_GET_AVREG 7
33 /* Write: RegNum, Value, 0 */
34 /* Read : RegNum, Value, 1, RegStatus */
35 #define REQ_08_SET_GET_AVREG_BIT 8
36 #define REQ_09_SET_GET_TUNER_FQ 9
37 #define REQ_10_SET_TUNER_SYSTEM 10
38 #define REQ_11_SET_EEPROM_ADDR 11
39 #define REQ_12_SET_GET_EEPROMBYTE 12
40 #define REQ_13_GET_EEPROM_SEQREAD 13
41 #define REQ_14_SET_GET_I2C_WR2_RDN 14
42 #define REQ_15_SET_GET_I2CBYTE 15
43 /* Write: Subaddr, Slave Addr, value, 0 */
44 /* Read : Subaddr, Slave Addr, value, 1 */
45 #define REQ_16_SET_GET_I2C_WR1_RDN 16
46 /* Subaddr, Slave Addr, 0, length */
47 #define REQ_17_SET_GET_I2CFP 17
48 /* Write: Slave Addr, register, value */
49 /* Read : Slave Addr, register, 2, data */
52 * Define TV Master TM5600/TM6000 GPIO lines
55 #define TM6000_GPIO_CLK 0x101
56 #define TM6000_GPIO_DATA 0x100
58 #define TM6000_GPIO_1 0x102
59 #define TM6000_GPIO_2 0x103
60 #define TM6000_GPIO_3 0x104
61 #define TM6000_GPIO_4 0x300
62 #define TM6000_GPIO_5 0x301
63 #define TM6000_GPIO_6 0x304
64 #define TM6000_GPIO_7 0x305
66 /* tm6010 defines GPIO with different values */
67 #define TM6010_GPIO_0 0x0102
68 #define TM6010_GPIO_1 0x0103
69 #define TM6010_GPIO_2 0x0104
70 #define TM6010_GPIO_3 0x0105
71 #define TM6010_GPIO_4 0x0106
72 #define TM6010_GPIO_5 0x0107
73 #define TM6010_GPIO_6 0x0300
74 #define TM6010_GPIO_7 0x0301
75 #define TM6010_GPIO_9 0x0305
77 * Define TV Master TM5600/TM6000 URB message codes and length
80 #define TM6000_URB_MSG_LEN 180
81 enum {
82 TM6000_URB_MSG_VIDEO=1,
83 TM6000_URB_MSG_AUDIO,
84 TM6000_URB_MSG_VBI,
85 TM6000_URB_MSG_PTS,
86 TM6000_URB_MSG_ERR,