Linux 2.6.22-rc3
[linux-2.6/next.git] / include / asm-cris / arch-v32 / juliette.h
blobf1f81725e57b8c4aeeda423dab37882f9184dc67
1 #ifndef _ASM_JULIETTE_H
2 #define _ASM_JULIETTE_H
4 /* juliette _IOC_TYPE, bits 8 to 15 in ioctl cmd */
6 #define JULIOCTYPE 42
8 /* supported ioctl _IOC_NR's */
10 #define JULSTARTDMA 0x1 /* start a picture asynchronously */
12 /* set parameters */
14 #define SETDEFAULT 0x2 /* CCD/VIDEO/SS1M */
15 #define SETPARAMETERS 0x3 /* CCD/VIDEO */
16 #define SETSIZE 0x4 /* CCD/VIDEO/SS1M */
17 #define SETCOMPRESSION 0x5 /* CCD/VIDEO/SS1M */
18 #define SETCOLORLEVEL 0x6 /* CCD/VIDEO */
19 #define SETBRIGHTNESS 0x7 /* CCD */
20 #define SETROTATION 0x8 /* CCD */
21 #define SETTEXT 0x9 /* CCD/VIDEO/SS1M */
22 #define SETCLOCK 0xa /* CCD/VIDEO/SS1M */
23 #define SETDATE 0xb /* CCD/VIDEO/SS1M */
24 #define SETTIMEFORMAT 0xc /* CCD/VIDEO/SS1M */
25 #define SETDATEFORMAT 0xd /* VIDEO */
26 #define SETTEXTALIGNMENT 0xe /* VIDEO */
27 #define SETFPS 0xf /* CCD/VIDEO/SS1M */
28 #define SETVGA 0xff /* VIDEO */
29 #define SETCOMMENT 0xfe /* CCD/VIDEO */
31 /* get parameters */
33 #define GETDRIVERTYPE 0x10 /* CCD/VIDEO/SS1M */
34 #define GETNBROFCAMERAS 0x11 /* CCD/VIDEO/SS1M */
35 #define GETPARAMETERS 0x12 /* CCD/VIDEO/SS1M */
36 #define GETBUFFERSIZE 0x13 /* CCD/VIDEO/SS1M */
37 #define GETVIDEOTYPE 0x14 /* VIDEO/SS1M */
38 #define GETVIDEOSIGNAL 0x15 /* VIDEO */
39 #define GETMODULATION 0x16 /* VIDEO */
40 #define GETDCYVALUES 0xa0 /* CCD /SS1M */
41 #define GETDCYWIDTH 0xa1 /* CCD /SS1M */
42 #define GETDCYHEIGHT 0xa2 /* CCD /SS1M */
43 #define GETSIZE 0xa3 /* CCD/VIDEO */
44 #define GETCOMPRESSION 0xa4 /* CCD/VIDEO */
46 /* detect and get parameters */
48 #define DETECTMODULATION 0x17 /* VIDEO */
49 #define DETECTVIDEOTYPE 0x18 /* VIDEO */
50 #define DETECTVIDEOSIGNAL 0x19 /* VIDEO */
52 /* configure default parameters */
54 #define CONFIGUREDEFAULT 0x20 /* CCD/VIDEO/SS1M */
55 #define DEFSIZE 0x21 /* CCD/VIDEO/SS1M */
56 #define DEFCOMPRESSION 0x22 /* CCD/VIDEO/SS1M */
57 #define DEFCOLORLEVEL 0x23 /* CCD/VIDEO */
58 #define DEFBRIGHTNESS 0x24 /* CCD */
59 #define DEFROTATION 0x25 /* CCD */
60 #define DEFWHITEBALANCE 0x26 /* CCD */
61 #define DEFEXPOSURE 0x27 /* CCD */
62 #define DEFAUTOEXPWINDOW 0x28 /* CCD */
63 #define DEFTEXT 0x29 /* CCD/VIDEO/SS1M */
64 #define DEFCLOCK 0x2a /* CCD/VIDEO/SS1M */
65 #define DEFDATE 0x2b /* CCD/VIDEO/SS1M */
66 #define DEFTIMEFORMAT 0x2c /* CCD/VIDEO/SS1M */
67 #define DEFDATEFORMAT 0x2d /* VIDEO */
68 #define DEFTEXTALIGNMENT 0x2e /* VIDEO */
69 #define DEFFPS 0x2f /* CCD/VIDEO/SS1M */
70 #define DEFTEXTSTRING 0x30 /* CCD/VIDEO/SS1M */
71 #define DEFHEADERINFO 0x31 /* CCD/VIDEO/SS1M */
72 #define DEFWEXAR 0x32 /* CCD */
73 #define DEFLINEDELAY 0x33 /* CCD */
74 #define DEFDISABLEDVIDEO 0x34 /* VIDEO */
75 #define DEFVIDEOTYPE 0x35 /* VIDEO */
76 #define DEFMODULATION 0x36 /* VIDEO */
77 #define DEFXOFFSET 0x37 /* VIDEO */
78 #define DEFYOFFSET 0x38 /* VIDEO */
79 #define DEFYCMODE 0x39 /* VIDEO */
80 #define DEFVCRMODE 0x3a /* VIDEO */
81 #define DEFSTOREDCYVALUES 0x3b /* CCD/VIDEO/SS1M */
82 #define DEFWCDS 0x3c /* CCD */
83 #define DEFVGA 0x3d /* VIDEO */
84 #define DEFCOMMENT 0x3e /* CCD/VIDEO */
85 #define DEFCOMMENTSIZE 0x3f /* CCD/VIDEO */
86 #define DEFCOMMENTTEXT 0x50 /* CCD/VIDEO */
87 #define DEFSTOREDCYTEXT 0x51 /* VIDEO */
90 #define JULABORTDMA 0x70 /* Abort current DMA transfer */
92 /* juliette general i/o port */
94 #define JIO_READBITS 0x40 /* read and return current port bits */
95 #define JIO_SETBITS 0x41 /* set bits marked by 1 in the argument */
96 #define JIO_CLRBITS 0x42 /* clr bits marked by 1 in the argument */
97 #define JIO_READDIR 0x43 /* read direction, 0=input 1=output */
98 #define JIO_SETINPUT 0x44 /* set direction, 0=unchanged 1=input
99 returns current dir */
100 #define JIO_SETOUTPUT 0x45 /* set direction, 0=unchanged 1=output
101 returns current dir */
103 /**** YumYum internal adresses ****/
105 /* Juliette buffer addresses */
107 #define BUFFER1_VIDEO 0x1100
108 #define BUFFER2_VIDEO 0x2800
109 #define ACDC_BUFF_VIDEO 0x0aaa
110 #define BUFFER1 0x1700
111 #define BUFFER2 0x2b01
112 #define ACDC_BUFFER 0x1200
113 #define BUFFER1_SS1M 0x1100
114 #define BUFFER2_SS1M 0x2800
115 #define ACDC_BUFF_SS1M 0x0900
117 /* Juliette parameter memory addresses */
119 #define PA_BUFFER_CNT 0x3f09 /* CCD/VIDEO */
120 #define PA_CCD_BUFFER 0x3f10 /* CCD */
121 #define PA_VIDEO_BUFFER 0x3f10 /* VIDEO */
122 #define PA_DCT_BUFFER 0x3f11 /* CCD/VIDEO */
123 #define PA_TEMP 0x3f12 /* CCD/VIDEO */
124 #define PA_VIDEOLINE_RD 0x3f13 /* VIDEO */
125 #define PA_VIDEOLINE_WR 0x3f14 /* VIDEO */
126 #define PA_VI_HDELAY0 0x3f15 /* VIDEO */
127 #define PA_VI_VDELAY0 0x3f16 /* VIDEO */
128 #define PA_VI_HDELAY1 0x3f17 /* VIDEO */
129 #define PA_VI_VDELAY1 0x3f18 /* VIDEO */
130 #define PA_VI_HDELAY2 0x3f19 /* VIDEO */
131 #define PA_VI_VDELAY2 0x3f1a /* VIDEO */
132 #define PA_VI_HDELAY3 0x3f1b /* VIDEO */
133 #define PA_VI_VDELAY3 0x3f1c /* VIDEO */
134 #define PA_VI_CTRL 0x3f20 /* VIDEO */
135 #define PA_JPEG_CTRL 0x3f22 /* CCD/VIDEO */
136 #define PA_BUFFER_SIZE 0x3f24 /* CCD/VIDEO */
137 #define PA_PAL_NTSC 0x3f25 /* VIDEO */
138 #define PA_MACROBLOCKS 0x3f26 /* CCD/VIDEO */
139 #define PA_COLOR 0x3f27 /* VIDEO */
140 #define PA_MEMCH1CNT2 0x3f28 /* CCD/VIDEO */
141 #define PA_MEMCH1CNT3 0x3f29 /* VIDEO */
142 #define PA_MEMCH1STR2 0x3f2a /* CCD/VIDEO */
143 #define PA_MEMCH1STR3 0x3f2b /* VIDEO */
144 #define PA_BUFFERS 0x3f2c /* CCD/VIDEO */
145 #define PA_PROGRAM 0x3f2d /* CCD/VIDEO */
146 #define PA_ROTATION 0x3f2e /* CCD */
147 #define PA_PC 0x3f30 /* CCD/VIDEO */
148 #define PA_PC2 0x3f31 /* VIDEO */
149 #define PA_ODD_LINE 0x3f32 /* VIDEO */
150 #define PA_EXP_DELAY 0x3f34 /* CCD */
151 #define PA_MACROBLOCK_CNT 0x3f35 /* CCD/VIDEO */
152 #define PA_DRAM_PTR1_L 0x3f36 /* CCD/VIDEO */
153 #define PA_CLPOB_CNT 0x3f37 /* CCD */
154 #define PA_DRAM_PTR1_H 0x3f38 /* CCD/VIDEO */
155 #define PA_DRAM_PTR2_L 0x3f3a /* VIDEO */
156 #define PA_DRAM_PTR2_H 0x3f3c /* VIDEO */
157 #define PA_CCD_LINE_CNT 0x3f3f /* CCD */
158 #define PA_VIDEO_LINE_CNT 0x3f3f /* VIDEO */
159 #define PA_TEXT 0x3f41 /* CCD/VIDEO */
160 #define PA_CAMERA_CHANGED 0x3f42 /* VIDEO */
161 #define PA_TEXTALIGNMENT 0x3f43 /* VIDEO */
162 #define PA_DISABLED 0x3f44 /* VIDEO */
163 #define PA_MACROBLOCKTEXT 0x3f45 /* VIDEO */
164 #define PA_VGA 0x3f46 /* VIDEO */
165 #define PA_ZERO 0x3ffe /* VIDEO */
166 #define PA_NULL 0x3fff /* CCD/VIDEO */
168 typedef enum {
169 jpeg = 0,
170 dummy = 1
171 } request_type;
173 typedef enum {
174 hugesize = 0,
175 fullsize = 1,
176 halfsize = 2,
177 fieldsize = 3
178 } size_type;
180 typedef enum {
181 min = 0,
182 low = 1,
183 medium = 2,
184 high = 3,
185 very_high = 4,
186 very_low = 5,
187 q1 = 6,
188 q2 = 7,
189 q3 = 8,
190 q4 = 9,
191 q5 = 10,
192 q6 = 11
193 } compr_type;
195 typedef enum {
196 deg_0 = 0,
197 deg_180 = 1,
198 deg_90 = 2,
199 deg_270 = 3
200 } rotation_type;
202 typedef enum {
203 auto_white = 0,
204 hold = 1,
205 fixed_outdoor = 2,
206 fixed_indoor = 3,
207 fixed_fluor = 4
208 } white_balance_type;
210 typedef enum {
211 auto_exp = 0,
212 fixed_exp = 1
213 } exposure_type;
215 typedef enum {
216 no_window = 0,
217 center = 1,
218 top = 2,
219 lower = 3,
220 left = 4,
221 right = 5,
222 spot = 6,
223 cw = 7
224 } exp_window_type;
226 typedef enum {
227 h_24 = 0,
228 h_12 = 1,
229 h_24P = 2
230 } hour_type;
232 typedef enum {
233 standard = 0,
234 YYYY_MM_DD = 1,
235 Www_Mmm_DD_YYYY = 2,
236 Www_DD_MM_YYYY = 3
237 } date_type;
239 typedef enum {
240 left_align = 0,
241 center_align = 1,
242 right_align = 2
243 } alignment_type;
245 typedef enum {
246 off = 0,
247 on = 1,
248 no = 0,
249 yes = 1
250 } enable_type;
252 typedef enum {
253 disabled = 0,
254 enabled = 1,
255 extended = 2
256 } comment_type;
258 typedef enum {
259 pal = 0,
260 ntsc = 1
261 } video_type;
263 typedef enum {
264 pal_bghi_ntsc_m = 0,
265 ntsc_4_43_50hz_pal_4_43_60hz = 1,
266 pal_n_ntsc_4_43_60hz = 2,
267 ntsc_n_pal_m = 3,
268 secam_pal_4_43_60hz = 4
269 } modulation_type;
271 typedef enum {
272 cam0 = 0,
273 cam1 = 1,
274 cam2 = 2,
275 cam3 = 3,
276 quad = 32
277 } camera_type;
279 typedef enum {
280 video_driver = 0,
281 ccd_driver = 1
282 } driver_type;
284 struct jul_param {
285 request_type req_type;
286 size_type size;
287 compr_type compression;
288 rotation_type rotation;
289 int color_level;
290 int brightness;
291 white_balance_type white_balance;
292 exposure_type exposure;
293 exp_window_type auto_exp_window;
294 hour_type time_format;
295 date_type date_format;
296 alignment_type text_alignment;
297 enable_type text;
298 enable_type clock;
299 enable_type date;
300 enable_type fps;
301 enable_type vga;
302 enable_type comment;
305 struct video_param {
306 enable_type disabled;
307 modulation_type modulation;
308 video_type video;
309 enable_type signal;
310 enable_type vcr;
311 int xoffset;
312 int yoffset;
315 /* The juliette_request structure is used during the JULSTARTDMA asynchronous
316 * picture-taking ioctl call as an argument to specify a buffer which will get
317 * the final picture.
320 struct juliette_request {
321 char *buf; /* Pointer to the buffer to hold picture data */
322 unsigned int buflen; /* Length of the above buffer */
323 unsigned int size; /* Resulting length, 0 if the picture is not ready */
326 #endif