Restores USB audio functionality of SN9C202 webcams
[microdia.git] / ov7660.h
blobe9f8e12e402436223eb316e5e45e1c693936e97e
1 /**
2 * @file ov7660.h
3 * @author Neekhil
4 * @date 2008-03-25
6 * @brief Register names & Hex Addresses for the Omnivision OV7660 Image Sensor chips.
8 * @note Copyright (C) Neekhil
10 * @par Licences
12 * This program is free software; you can redistribute it and/or modify
13 * it under the terms of the GNU General Public License as published by
14 * the Free Software Foundation; either version 2 of the License, or
15 * any later version.
17 * This program is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details.
22 * You should have received a copy of the GNU General Public License
23 * along with this program; if not, write to the Free Software
24 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
27 #ifndef OV7660_H
28 #define OV7660_H
30 #define OV7660_CTL_GAIN 0x00
31 #define OV7660_CTL_BLUE 0x01
32 #define OV7660_CTL_RED 0x02
33 #define OV7660_CTL_VREF 0x03
34 #define OV7660_CTL_COM1 0x04
35 #define OV7660_CTL_BAVE 0x05
36 #define OV7660_CTL_GEAVE 0x06
37 #define OV7660_CTL_AECHH 0x07
38 #define OV7660_CTL_RAVE 0x08
39 #define OV7660_CTL_COM2 0x09
40 #define OV7660_CTL_PID 0x0a
41 #define OV7660_CTL_VER 0x0b
42 #define OV7660_CTL_COM3 0x0c
43 #define OV7660_CTL_COM4 0x0d
44 #define OV7660_CTL_COM5 0x0e
45 #define OV7660_CTL_COM6 0x0f
46 #define OV7660_CTL_AECH 0x10
47 #define OV7660_CTL_CLKRC 0x11
48 #define OV7660_CTL_COM7 0x12
49 #define OV7660_CTL_COM8 0x13
50 #define OV7660_CTL_COM9 0x14
51 #define OV7660_CTL_COM10 0x15
52 /* RSVD 0x16 is Reserved */
53 #define OV7660_CTL_HSTART 0x17
54 #define OV7660_CTL_HSTOP 0x18
55 #define OV7660_CTL_VSTRT 0x19
56 #define OV7660_CTL_VSTOP 0x1a
57 #define OV7660_CTL_PSHFT 0x1b
58 #define OV7660_CTL_MIDH 0x1c
59 #define OV7660_CTL_MIDL 0x1d
60 #define OV7660_CTL_MVFP 0x1e
61 #define OV7660_CTL_LAEC 0x1f
62 #define OV7660_CTL_BOS 0x20
63 #define OV7660_CTL_GBOS 0x21
64 #define OV7660_CTL_GROS 0x22
65 #define OV7660_CTL_ROS 0x23
66 #define OV7660_CTL_AEW 0x24
67 #define OV7660_CTL_AEB 0x25
68 #define OV7660_CTL_VPT 0x26
69 #define OV7660_CTL_BBIAS 0x27
70 #define OV7660_CTL_GbBIAS 0x28
71 /* RSVD 0x29 is Reserved */
72 #define OV7660_CTL_EXHCH 0x2a
73 #define OV7660_CTL_EXHCL 0x2b
74 #define OV7660_CTL_RBIAS 0x2c
75 #define OV7660_CTL_ADVFL 0x2d
76 #define OV7660_CTL_ADVFH 0x2e
77 #define OV7660_CTL_YAVE 0x2f
78 #define OV7660_CTL_HSYST 0x30
79 #define OV7660_CTL_HSYEN 0x31
80 #define OV7660_CTL_HREF 0x32
81 #define OV7660_CTL_CHLF 0x33
82 #define OV7660_CTL_ARBLM 0x34
83 /* RSVD 0x35 is Reserved */
84 /* RSVD 0x36 is Reserved */
85 #define OV7660_CTL_ADC 0x37
86 #define OV7660_CTL_ACOM 0x38
87 #define OV7660_CTL_OFON 0x39
88 #define OV7660_CTL_TSLB 0x3a
89 #define OV7660_CTL_COM11 0x3b
90 #define OV7660_CTL_COM12 0x3c
91 #define OV7660_CTL_COM13 0x3d
92 #define OV7660_CTL_COM14 0x3e
93 #define OV7660_CTL_EDGE 0x3f
94 #define OV7660_CTL_COM15 0x40
95 #define OV7660_CTL_COM16 0x41
96 #define OV7660_CTL_COM17 0x42
97 /* RSVD 0x43 is Reserved */
98 /* RSVD 0x44 is Reserved */
99 /* RSVD 0x45 is Reserved */
100 /* RSVD 0x46 is Reserved */
101 /* RSVD 0x47 is Reserved */
102 /* RSVD 0x48 is Reserved */
103 /* RSVD 0x49 is Reserved */
104 /* RSVD 0x4a is Reserved */
105 /* RSVD 0x4b is Reserved */
106 /* RSVD 0x4c is Reserved */
107 /* RSVD 0x4d is Reserved */
108 /* RSVD 0x4e is Reserved */
109 #define OV7660_CTL_MTX1 0x4f
110 #define OV7660_CTL_MTX2 0x50
111 #define OV7660_CTL_MTX3 0x51
112 #define OV7660_CTL_MTX4 0x52
113 #define OV7660_CTL_MTX5 0x53
114 #define OV7660_CTL_MTX6 0x54
115 #define OV7660_CTL_MTX7 0x55
116 #define OV7660_CTL_MTX8 0x56
117 #define OV7660_CTL_MTX9 0x57
118 #define OV7660_CTL_MTXS 0x58
119 /* RSVD 0x59 is Reserved */
120 /* RSVD 0x60 is Reserved */
121 /* RSVD 0x61 is Reserved */
122 #define OV7660_CTL_LCC1 0x62
123 #define OV7660_CTL_LCC2 0x63
124 #define OV7660_CTL_LCC3 0x64
125 #define OV7660_CTL_LCC4 0x65
126 #define OV7660_CTL_LCC5 0x66
127 #define OV7660_CTL_MANU 0x67
128 #define OV7660_CTL_MANV 0x68
129 #define OV7660_CTL_HV 0x69
130 #define OV7660_CTL_GGAIN 0x6a
131 #define OV7660_CTL_DBLV 0x6b
132 /* 6c-7b GSP */
133 /* 7c-8a GST */
134 /* RSVD 0x8b is Reserved */
135 /* RSVD 0x8c is Reserved */
136 /* RSVD 0x8d is Reserved */
137 /* RSVD 0x8e is Reserved */
138 /* RSVD 0x8f is Reserved */
139 /* RSVD 0x90 is Reserved */
140 /* RSVD 0x91 is Reserved */
141 #define OV7660_CTL_DM_LNL 0x92
142 #define OV7660_CTL_DM_LNH 0x93
143 /* RSVD 0x94 is Reserved */
144 /* RSVD 0x95 is Reserved */
145 /* RSVD 0x96 is Reserved */
146 /* RSVD 0x97 is Reserved */
147 /* RSVD 0x98 is Reserved */
148 /* RSVD 0x99 is Reserved */
149 /* RSVD 0x9a is Reserved */
150 /* RSVD 0x9b is Reserved */
151 /* RSVD 0x9c is Reserved */
152 #define OV7660_CTL_BD50ST 0x9d
153 #define OV7660_CTL_BD60ST 0x9e
154 /* RSVD 0x9f is Reserved */
155 /* a0 DSPC2 */
156 /* RSVD 0xa1 is Reserved */
157 /* RSVD 0xa2 is Reserved */
158 /* RSVD 0xa3 is Reserved */
159 /* RSVD 0xa4 is Reserved */
160 /* RSVD 0xa5 is Reserved */
161 /* All other are factory reserved ! */
163 int ov7660_initialize(struct usb_microdia *);
164 int ov7660_set_exposure(struct usb_microdia *);
165 int ov7660_set_autoexposure(struct usb_microdia *dev);
167 #endif