[media] marvell-cam: Basic working MMP camera driver
[linux-2.6.git] / drivers / media / video / saa7121.h
1 /* saa7121.h - saa7121 initializations
2    Copyright (C) 1999 Nathan Laredo (laredo@gnu.org)
3
4    This program is free software; you can redistribute it and/or modify
5    it under the terms of the GNU General Public License as published by
6    the Free Software Foundation; either version 2 of the License, or
7    (at your option) any later version.
8
9    This program is distributed in the hope that it will be useful,
10    but WITHOUT ANY WARRANTY; without even the implied warranty of
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12    GNU General Public License for more details.
13
14    You should have received a copy of the GNU General Public License
15    along with this program; if not, write to the Free Software
16    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17
18  */
19 #ifndef __SAA7121_H__
20 #define __SAA7121_H__
21
22 #define NTSC_BURST_START        0x19    /* 28 */
23 #define NTSC_BURST_END          0x1d    /* 29 */
24 #define NTSC_CHROMA_PHASE       0x67    /* 5a */
25 #define NTSC_GAINU              0x76    /* 5b */
26 #define NTSC_GAINV              0xa5    /* 5c */
27 #define NTSC_BLACK_LEVEL        0x2a    /* 5d */
28 #define NTSC_BLANKING_LEVEL     0x2e    /* 5e */
29 #define NTSC_VBI_BLANKING       0x2e    /* 5f */
30 #define NTSC_DAC_CONTROL        0x11    /* 61 */
31 #define NTSC_BURST_AMP          0x3f    /* 62 */
32 #define NTSC_SUBC3              0x1f    /* 63 */
33 #define NTSC_SUBC2              0x7c    /* 64 */
34 #define NTSC_SUBC1              0xf0    /* 65 */
35 #define NTSC_SUBC0              0x21    /* 66 */
36 #define NTSC_HTRIG              0x72    /* 6c */
37 #define NTSC_VTRIG              0x00    /* 6c */
38 #define NTSC_MULTI              0x30    /* 6e */
39 #define NTSC_CCTTX              0x11    /* 6f */
40 #define NTSC_FIRST_ACTIVE       0x12    /* 7a */
41 #define NTSC_LAST_ACTIVE        0x02    /* 7b */
42 #define NTSC_MSB_VERTICAL       0x40    /* 7c */
43
44 #define PAL_BURST_START         0x21    /* 28 */
45 #define PAL_BURST_END           0x1d    /* 29 */
46 #define PAL_CHROMA_PHASE        0x3f    /* 5a */
47 #define PAL_GAINU               0x7d    /* 5b */
48 #define PAL_GAINV               0xaf    /* 5c */
49 #define PAL_BLACK_LEVEL         0x23    /* 5d */
50 #define PAL_BLANKING_LEVEL      0x35    /* 5e */
51 #define PAL_VBI_BLANKING        0x35    /* 5f */
52 #define PAL_DAC_CONTROL         0x02    /* 61 */
53 #define PAL_BURST_AMP           0x2f    /* 62 */
54 #define PAL_SUBC3               0xcb    /* 63 */
55 #define PAL_SUBC2               0x8a    /* 64 */
56 #define PAL_SUBC1               0x09    /* 65 */
57 #define PAL_SUBC0               0x2a    /* 66 */
58 #define PAL_HTRIG               0x86    /* 6c */
59 #define PAL_VTRIG               0x04    /* 6d */
60 #define PAL_MULTI               0x20    /* 6e */
61 #define PAL_CCTTX               0x15    /* 6f */
62 #define PAL_FIRST_ACTIVE        0x16    /* 7a */
63 #define PAL_LAST_ACTIVE         0x36    /* 7b */
64 #define PAL_MSB_VERTICAL        0x40    /* 7c */
65
66 /* Initialization Sequence */
67
68 static __u8 init7121ntsc[] = {
69         0x26, 0x0,      0x27, 0x0,
70         0x28, NTSC_BURST_START,         0x29, NTSC_BURST_END,
71         0x2a, 0x0,      0x2b, 0x0,      0x2c, 0x0,      0x2d, 0x0,
72         0x2e, 0x0,      0x2f, 0x0,      0x30, 0x0,      0x31, 0x0,
73         0x32, 0x0,      0x33, 0x0,      0x34, 0x0,      0x35, 0x0,
74         0x36, 0x0,      0x37, 0x0,      0x38, 0x0,      0x39, 0x0,
75         0x3a, 0x03,     0x3b, 0x0,      0x3c, 0x0,      0x3d, 0x0,
76         0x3e, 0x0,      0x3f, 0x0,      0x40, 0x0,      0x41, 0x0,
77         0x42, 0x0,      0x43, 0x0,      0x44, 0x0,      0x45, 0x0,
78         0x46, 0x0,      0x47, 0x0,      0x48, 0x0,      0x49, 0x0,
79         0x4a, 0x0,      0x4b, 0x0,      0x4c, 0x0,      0x4d, 0x0,
80         0x4e, 0x0,      0x4f, 0x0,      0x50, 0x0,      0x51, 0x0,
81         0x52, 0x0,      0x53, 0x0,      0x54, 0x0,      0x55, 0x0,
82         0x56, 0x0,      0x57, 0x0,      0x58, 0x0,      0x59, 0x0,
83         0x5a, NTSC_CHROMA_PHASE,        0x5b, NTSC_GAINU,
84         0x5c, NTSC_GAINV,               0x5d, NTSC_BLACK_LEVEL,
85         0x5e, NTSC_BLANKING_LEVEL,      0x5f, NTSC_VBI_BLANKING,
86         0x60, 0x0,                      0x61, NTSC_DAC_CONTROL,
87         0x62, NTSC_BURST_AMP,           0x63, NTSC_SUBC3,
88         0x64, NTSC_SUBC2,               0x65, NTSC_SUBC1,
89         0x66, NTSC_SUBC0,               0x67, 0x80,     0x68, 0x80,
90         0x69, 0x80,     0x6a, 0x80,     0x6b, 0x29,
91         0x6c, NTSC_HTRIG,               0x6d, NTSC_VTRIG,
92         0x6e, NTSC_MULTI,               0x6f, NTSC_CCTTX,
93         0x70, 0xc9,     0x71, 0x68,     0x72, 0x60,     0x73, 0x0,
94         0x74, 0x0,      0x75, 0x0,      0x76, 0x0,      0x77, 0x0,
95         0x78, 0x0,      0x79, 0x0,      0x7a, NTSC_FIRST_ACTIVE,
96         0x7b, NTSC_LAST_ACTIVE,         0x7c, NTSC_MSB_VERTICAL,
97         0x7d, 0x0,      0x7e, 0x0,      0x7f, 0x0
98 };
99 #define INIT7121LEN     (sizeof(init7121ntsc)/2)
100
101 static __u8 init7121pal[] = {
102         0x26, 0x0,      0x27, 0x0,
103         0x28, PAL_BURST_START,          0x29, PAL_BURST_END,
104         0x2a, 0x0,      0x2b, 0x0,      0x2c, 0x0,      0x2d, 0x0,
105         0x2e, 0x0,      0x2f, 0x0,      0x30, 0x0,      0x31, 0x0,
106         0x32, 0x0,      0x33, 0x0,      0x34, 0x0,      0x35, 0x0,
107         0x36, 0x0,      0x37, 0x0,      0x38, 0x0,      0x39, 0x0,
108         0x3a, 0x03,     0x3b, 0x0,      0x3c, 0x0,      0x3d, 0x0,
109         0x3e, 0x0,      0x3f, 0x0,      0x40, 0x0,      0x41, 0x0,
110         0x42, 0x0,      0x43, 0x0,      0x44, 0x0,      0x45, 0x0,
111         0x46, 0x0,      0x47, 0x0,      0x48, 0x0,      0x49, 0x0,
112         0x4a, 0x0,      0x4b, 0x0,      0x4c, 0x0,      0x4d, 0x0,
113         0x4e, 0x0,      0x4f, 0x0,      0x50, 0x0,      0x51, 0x0,
114         0x52, 0x0,      0x53, 0x0,      0x54, 0x0,      0x55, 0x0,
115         0x56, 0x0,      0x57, 0x0,      0x58, 0x0,      0x59, 0x0,
116         0x5a, PAL_CHROMA_PHASE,         0x5b, PAL_GAINU,
117         0x5c, PAL_GAINV,                0x5d, PAL_BLACK_LEVEL,
118         0x5e, PAL_BLANKING_LEVEL,       0x5f, PAL_VBI_BLANKING,
119         0x60, 0x0,                      0x61, PAL_DAC_CONTROL,
120         0x62, PAL_BURST_AMP,            0x63, PAL_SUBC3,
121         0x64, PAL_SUBC2,                0x65, PAL_SUBC1,
122         0x66, PAL_SUBC0,                0x67, 0x80,     0x68, 0x80,
123         0x69, 0x80,     0x6a, 0x80,     0x6b, 0x29,
124         0x6c, PAL_HTRIG,                0x6d, PAL_VTRIG,
125         0x6e, PAL_MULTI,                0x6f, PAL_CCTTX,
126         0x70, 0xc9,     0x71, 0x68,     0x72, 0x60,     0x73, 0x0,
127         0x74, 0x0,      0x75, 0x0,      0x76, 0x0,      0x77, 0x0,
128         0x78, 0x0,      0x79, 0x0,      0x7a, PAL_FIRST_ACTIVE,
129         0x7b, PAL_LAST_ACTIVE,          0x7c, PAL_MSB_VERTICAL,
130         0x7d, 0x0,      0x7e, 0x0,      0x7f, 0x0
131 };
132 #endif