SyntekUSBVideoCamera
stk11xx-dev-6d51.c
Go to the documentation of this file.
1 
34 #include <linux/module.h>
35 #include <linux/init.h>
36 #include <linux/kernel.h>
37 #include <linux/version.h>
38 #include <linux/errno.h>
39 #include <linux/slab.h>
40 #include <linux/kref.h>
41 
42 #include <linux/usb.h>
43 #include <media/v4l2-common.h>
44 #include <media/v4l2-ioctl.h>
45 
46 #include "stk11xx.h"
47 #include "stk11xx-dev.h"
48 
49 
50 //=============================================================================
51 //
52 // STK-6D51 API
53 //
54 //=============================================================================
55 
56 
71 {
72  int retok;
73  int value;
74 
75  STK_INFO("Initialize USB2.0 Syntek Camera\n");
76 
77  usb_stk11xx_write_registry(dev, 0x0000, 0x00e0);
78  usb_stk11xx_write_registry(dev, 0x0002, 0x00f8);
79  usb_stk11xx_write_registry(dev, 0x0002, 0x0078);
80  usb_stk11xx_write_registry(dev, 0x0000, 0x0020);
81 
83 
84  retok = dev_stk11xx_check_device(dev, 65);
85  usb_stk11xx_read_registry(dev, 0x0209, &value);
86  usb_stk11xx_write_registry(dev, 0x0200, 0x0020);
87  retok = dev_stk11xx_check_device(dev, 65);
88  usb_stk11xx_read_registry(dev, 0x0209, &value);
89  usb_stk11xx_write_registry(dev, 0x02ff, 0x0001);
90  usb_stk11xx_write_registry(dev, 0x02ff, 0x0000);
91 
93 
94  usb_stk11xx_write_registry(dev, 0x0000, 0x00e0);
95  usb_stk11xx_write_registry(dev, 0x0002, 0x00f8);
96  usb_stk11xx_write_registry(dev, 0x0002, 0x0078);
97  usb_stk11xx_write_registry(dev, 0x0000, 0x0020);
98  usb_stk11xx_write_registry(dev, 0x0000, 0x00e0);
99  usb_stk11xx_write_registry(dev, 0x0002, 0x00f8);
100  usb_stk11xx_write_registry(dev, 0x0002, 0x0078);
101  usb_stk11xx_write_registry(dev, 0x0000, 0x0020);
102  usb_stk11xx_write_registry(dev, 0x0000, 0x00e0);
103  usb_stk11xx_write_registry(dev, 0x0002, 0x00f8);
104  usb_stk11xx_write_registry(dev, 0x0002, 0x0078);
105  usb_stk11xx_write_registry(dev, 0x0000, 0x0020);
106  usb_stk11xx_read_registry(dev, 0x02ff, &value);
107 
109 
110  usb_stk11xx_set_feature(dev, 0);
111 
112  // Device is initialized and is ready !!!
113  STK_INFO("Syntek USB2.0 Camera is ready\n");
114 
115  return 0;
116 }
117 
118 
132 int dev_stk6d51_configure_device(struct usb_stk11xx *dev, int step)
133 {
134  int value;
135 
136  // 0, 1
137  static const int values_001B[] = {
138  0x0e, 0x0e
139  };
140  static const int values_001C[] = {
141  0x46, 0x46
142  };
143  static const int values_0202[] = {
144  0x0a, 0x0a
145  };
146  static const int values_0110[] = {
147  0x00, 0x00
148  };
149  static const int values_0112[] = {
150  0x01, 0x01
151  };
152  static const int values_0114[] = {
153  0x80, 0x80
154  };
155  static const int values_0115[] = {
156  0x02, 0x02
157  };
158  static const int values_0116[] = {
159  0xe1, 0xe1
160  };
161  static const int values_0117[] = {
162  0x01, 0x01
163  };
164  static const int values_0100[] = {
165  0x20, 0x20
166  };
167 
168 
169  STK_DEBUG("dev_stk6d51_configure_device : %d\n", step);
170 
171  usb_stk11xx_write_registry(dev, 0x0000, 0x0024);
172  usb_stk11xx_write_registry(dev, 0x0002, 0x0078);
173  usb_stk11xx_write_registry(dev, 0x0003, 0x0080);
174  usb_stk11xx_write_registry(dev, 0x0005, 0x0000);
175 
176  usb_stk11xx_write_registry(dev, 0x0007, 0x0003);
177  usb_stk11xx_write_registry(dev, 0x000d, 0x0000);
178  usb_stk11xx_write_registry(dev, 0x000f, 0x0002);
179  usb_stk11xx_write_registry(dev, 0x0300, 0x0012);
180  usb_stk11xx_write_registry(dev, 0x0350, 0x0041);
181 
182  usb_stk11xx_write_registry(dev, 0x0351, 0x0000);
183  usb_stk11xx_write_registry(dev, 0x0352, 0x0000);
184  usb_stk11xx_write_registry(dev, 0x0353, 0x0000);
185  usb_stk11xx_write_registry(dev, 0x0018, 0x0010);
186  usb_stk11xx_write_registry(dev, 0x0019, 0x0000);
187 
188  usb_stk11xx_write_registry(dev, 0x001b, values_001B[step]);
189  usb_stk11xx_write_registry(dev, 0x001c, values_001C[step]);
190  usb_stk11xx_write_registry(dev, 0x0300, 0x0080);
191  usb_stk11xx_write_registry(dev, 0x001a, 0x0004);
192  usb_stk11xx_write_registry(dev, 0x0202, values_0202[step]);
193 
194  usb_stk11xx_write_registry(dev, 0x0110, values_0110[step]);
195  usb_stk11xx_write_registry(dev, 0x0111, 0x0000);
196  usb_stk11xx_write_registry(dev, 0x0112, values_0112[step]);
197  usb_stk11xx_write_registry(dev, 0x0113, 0x0000);
198  usb_stk11xx_write_registry(dev, 0x0114, values_0114[step]);
199 
200  usb_stk11xx_write_registry(dev, 0x0115, values_0115[step]);
201  usb_stk11xx_write_registry(dev, 0x0116, values_0116[step]);
202  usb_stk11xx_write_registry(dev, 0x0117, values_0117[step]);
203 
204  usb_stk11xx_read_registry(dev, 0x0100, &value);
205  usb_stk11xx_write_registry(dev, 0x0100, values_0100[step]);
206 
207  usb_stk11xx_write_registry(dev, 0x02ff, 0x0001);
208 
209 
210  switch (step) {
211  case 0:
212  usb_stk11xx_write_registry(dev, 0x0203, 0x007a);
213 
214  usb_stk11xx_read_registry(dev, 0x02ff, &value);
215  usb_stk11xx_write_registry(dev, 0x02ff, 0x0001);
216 
217  usb_stk11xx_write_registry(dev, 0x0203, 0x007a);
218 
219  usb_stk11xx_write_registry(dev, 0x0205, 0x0030);
220  usb_stk11xx_write_registry(dev, 0x0205, 0x0000);
221 
222  usb_stk11xx_write_registry(dev, 0x0200, 0x0061);
223 
224  break;
225 
226  case 1:
227  usb_stk11xx_write_registry(dev, 0x0203, 0x007a);
228 
230 
231  usb_stk11xx_read_registry(dev, 0x0000, &value);
232  usb_stk11xx_write_registry(dev, 0x0200, 0x0021);
233 
234  break;
235  }
236 
237  return 0;
238 }
239 
240 
251 {
252  int value;
253 
254  usb_stk11xx_read_registry(dev, 0x0104, &value);
255  usb_stk11xx_read_registry(dev, 0x0105, &value);
256  usb_stk11xx_read_registry(dev, 0x0106, &value);
257 
258  usb_stk11xx_write_registry(dev, 0x0100, 0x0021);
259  usb_stk11xx_write_registry(dev, 0x0116, 0x0000);
260  usb_stk11xx_write_registry(dev, 0x0117, 0x0000);
261  usb_stk11xx_write_registry(dev, 0x0018, 0x0000);
262 
263  usb_stk11xx_read_registry(dev, 0x0000, &value);
264  usb_stk11xx_write_registry(dev, 0x0000, 0x0049);
265 
266  return 0;
267 }
268 
269 
281 {
282  return 0;
283 }
284 
285 
297 {
298  int i;
299  int retok;
300  int value;
301 
302  int asize;
303 
304  static const int values_205[][4] = {
305  { 0x33, 0x86, 0x05, 0x01 },
306  { 0x33, 0x86, 0x05, 0x00 },
307  { 0x33, 0x8c, 0xa1, 0x04 },
308  { 0x33, 0x90, -1 },
309  { 0x30, 0x1a, 0x0a, 0xcc },
310  { 0x32, 0x02, 0x00, 0x08 },
311  { 0x33, 0xf4, 0x03, 0x1d },
312  { 0x33, 0x8c, 0xa1, 0x04 },
313  { 0x33, 0x90, -1 },
314  { 0x33, 0x8c, 0xa1, 0x04 },
315  { 0x33, 0x90, -1 },
316  { 0x33, 0x8c, 0xa1, 0x04 },
317  { 0x33, 0x90, -1 },
318  { 0x34, 0x1e, 0x8f, 0x09 },
319  { 0x34, 0x1c, 0x02, 0x50 },
320  { 0x34, 0x1e, 0x8f, 0x09 },
321  { 0x34, 0x1e, 0x8f, 0x08 },
322  { 0x33, 0x8c, 0x04, 0x00 },
323  { 0x33, 0x90, 0x30, 0x8f },
324  { 0x33, 0x92, 0xc3, 0xff },
325  { 0x33, 0x94, 0xed, 0x8f },
326  { 0x33, 0x96, 0x35, 0x8f },
327  { 0x33, 0x98, 0x18, 0x8f },
328  { 0x33, 0x9a, 0x30, 0x8f },
329  { 0x33, 0x9c, 0xc3, 0x00 },
330  { 0x33, 0x9e, 0x15, 0x8f },
331  { 0x33, 0x8c, 0x04, 0x10 },
332  { 0x33, 0x90, 0xcc, 0x00 },
333  { 0x33, 0x92, 0x07, 0xbd },
334  { 0x33, 0x94, 0x04, 0xb5 },
335  { 0x33, 0x96, 0xbd, 0x9e },
336  { 0x33, 0x98, 0x9f, 0xf6 },
337  { 0x33, 0x9a, 0x03, 0x22 },
338  { 0x33, 0x9c, 0x30, 0xe7 },
339  { 0x33, 0x9e, 0x0a, 0xf6 },
340  { 0x33, 0x8c, 0x04, 0x20 },
341  { 0x33, 0x90, 0x02, 0x39 },
342  { 0x33, 0x92, 0xc1, 0x01 },
343  { 0x33, 0x94, 0x26, 0x05 },
344  { 0x33, 0x96, 0xf6, 0x03 },
345  { 0x33, 0x98, 0x23, 0xe7 },
346  { 0x33, 0x9a, 0x0a, 0x7d },
347  { 0x33, 0x9c, 0x03, 0x21 },
348  { 0x33, 0x9e, 0x27, 0x20 },
349  { 0x33, 0x8c, 0x04, 0x30 },
350  { 0x33, 0x90, 0xf6, 0x02 },
351  { 0x33, 0x92, 0x39, 0xe7 },
352  { 0x33, 0x94, 0x02, 0x8f },
353  { 0x33, 0x96, 0xc3, 0x00 },
354  { 0x33, 0x98, 0x0b, 0x30 },
355  { 0x33, 0x9a, 0xed, 0x00 },
356  { 0x33, 0x9c, 0xfe, 0x02 },
357  { 0x33, 0x9e, 0x37, 0xee },
358  { 0x33, 0x8c, 0x04, 0x40 },
359  { 0x33, 0x90, 0x04, 0x5f },
360  { 0x33, 0x92, 0xad, 0x00 },
361  { 0x33, 0x94, 0x30, 0xe6 },
362  { 0x33, 0x96, 0x0a, 0x4f },
363  { 0x33, 0x98, 0xed, 0x08 },
364  { 0x33, 0x9a, 0xec, 0x11 },
365  { 0x33, 0x9c, 0xa3, 0x08 },
366  { 0x33, 0x9e, 0xdd, 0x56 },
367  { 0x33, 0x8c, 0x04, 0x50 },
368  { 0x33, 0x90, 0x30, 0xc6 },
369  { 0x33, 0x92, 0x13, 0x3a },
370  { 0x33, 0x94, 0x35, 0x39 },
371  { 0x33, 0x96, 0x3c, 0x3c },
372  { 0x33, 0x98, 0x3c, 0xc6 },
373  { 0x33, 0x9a, 0x01, 0xf7 },
374  { 0x33, 0x9c, 0x03, 0x21 },
375  { 0x33, 0x9e, 0xc6, 0x0a },
376  { 0x33, 0x8c, 0x04, 0x60 },
377  { 0x33, 0x90, 0xf7, 0x03 },
378  { 0x33, 0x92, 0x22, 0xf7 },
379  { 0x33, 0x94, 0x03, 0x23 },
380  { 0x33, 0x96, 0xcc, 0x03 },
381  { 0x33, 0x98, 0x03, 0x30 },
382  { 0x33, 0x9a, 0xed, 0x02 },
383  { 0x33, 0x9c, 0xfe, 0x10 },
384  { 0x33, 0x9e, 0x50, 0xec },
385  { 0x33, 0x8c, 0x04, 0x70 },
386  { 0x33, 0x90, 0x04, 0xfd },
387  { 0x33, 0x92, 0x02, 0xff },
388  { 0x33, 0x94, 0xfe, 0x02 },
389  { 0x33, 0x96, 0xff, 0xec },
390  { 0x33, 0x98, 0x00, 0xfd },
391  { 0x33, 0x9a, 0x03, 0x01 },
392  { 0x33, 0x9c, 0x5f, 0x4f },
393  { 0x33, 0x9e, 0x30, 0xed },
394  { 0x33, 0x8c, 0x04, 0x80 },
395  { 0x33, 0x90, 0x04, 0xec },
396  { 0x33, 0x92, 0x04, 0x05 },
397  { 0x33, 0x94, 0xf3, 0x03 },
398  { 0x33, 0x96, 0x01, 0x8f },
399  { 0x33, 0x98, 0xec, 0x00 },
400  { 0x33, 0x9a, 0x30, 0xed },
401  { 0x33, 0x9c, 0x00, 0xec },
402  { 0x33, 0x9e, 0x04, 0x05 },
403  { 0x33, 0x8c, 0x04, 0x90 },
404  { 0x33, 0x90, 0xe3, 0x02 },
405  { 0x33, 0x92, 0x18, 0x8f },
406  { 0x33, 0x94, 0xec, 0x00 },
407  { 0x33, 0x96, 0x18, 0xed },
408  { 0x33, 0x98, 0x00, 0xec },
409  { 0x33, 0x9a, 0x04, 0xc3 },
410  { 0x33, 0x9c, 0x00, 0x01 },
411  { 0x33, 0x9e, 0xed, 0x04 },
412  { 0x33, 0x8c, 0x04, 0xa0 },
413  { 0x33, 0x90, 0x83, 0x00 },
414  { 0x33, 0x92, 0x0f, 0x25 },
415  { 0x33, 0x94, 0xdc, 0xee },
416  { 0x33, 0x96, 0x02, 0xcc },
417  { 0x33, 0x98, 0x04, 0x00 },
418  { 0x33, 0x9a, 0xed, 0x04 },
419  { 0x33, 0x9c, 0xcc, 0x03 },
420  { 0x33, 0x9e, 0x03, 0xdd },
421  { 0x33, 0x8c, 0x04, 0xb0 },
422  { 0x33, 0x90, 0x52, 0x38 },
423  { 0x33, 0x92, 0x38, 0x38 },
424  { 0x33, 0x94, 0x39, 0x37 },
425  { 0x33, 0x96, 0x36, 0x8f },
426  { 0x33, 0x98, 0x30, 0xe3 },
427  { 0x33, 0x9a, 0x00, 0x8f },
428  { 0x33, 0x9c, 0x18, 0x8f },
429  { 0x33, 0x9e, 0x18, 0x30 },
430  { 0x33, 0x8c, 0x04, 0xc0 },
431  { 0x33, 0x90, 0x18, 0xe3 },
432  { 0x33, 0x92, 0x00, 0x18 },
433  { 0x33, 0x94, 0x8f, 0x32 },
434  { 0x33, 0x96, 0x33, 0x36 },
435  { 0x33, 0x98, 0xa6, 0x00 },
436  { 0x33, 0x9a, 0x18, 0xa7 },
437  { 0x33, 0x9c, 0x00, 0x09 },
438  { 0x33, 0x9e, 0x18, 0x09 },
439  { 0x33, 0x8c, 0x04, 0xd0 },
440  { 0x33, 0x90, 0xc0, 0x01 },
441  { 0x33, 0x92, 0x24, 0xf4 },
442  { 0x33, 0x94, 0x32, 0x80 },
443  { 0x33, 0x96, 0x01, 0x24 },
444  { 0x33, 0x98, 0xee, 0x39 },
445  { 0x33, 0x8c, 0x20, 0x03 },
446  { 0x33, 0x90, 0x04, 0x56 },
447  { 0x33, 0x8c, 0xa0, 0x02 },
448  { 0x33, 0x90, 0x00, 0x01 },
449  { 0x33, 0x8c, 0xa1, 0x04 },
450  { 0x33, 0x90, -1 },
451  { 0x34, 0xce, 0x81, 0x60 },
452  { 0x34, 0xd0, 0x66, 0x33 },
453  { 0x34, 0xd2, 0x31, 0x9a },
454  { 0x34, 0xd4, 0x94, 0x63 },
455  { 0x34, 0xd6, 0x4b, 0x25 },
456  { 0x34, 0xd8, 0x26, 0x70 },
457  { 0x34, 0xda, 0x72, 0x4c },
458  { 0x34, 0xdc, 0xff, 0x04 },
459  { 0x34, 0xde, 0x00, 0xf4 },
460  { 0x34, 0xe6, 0x00, 0xcc },
461  { 0x34, 0xee, 0x0e, 0x42 },
462  { 0x34, 0xf6, 0x0d, 0xb5 },
463  { 0x35, 0x00, 0x0a, 0xfa },
464  { 0x35, 0x08, 0x0f, 0x10 },
465  { 0x35, 0x10, 0x11, 0x22 },
466  { 0x35, 0x18, 0x0c, 0x28 },
467  { 0x35, 0x20, 0x1c, 0x2c },
468  { 0x35, 0x28, 0x17, 0x40 },
469  { 0x35, 0x30, 0x08, 0xf2 },
470  { 0x35, 0x38, 0xfb, 0xd5 },
471  { 0x35, 0x4c, 0x05, 0xc7 },
472  { 0x35, 0x44, 0x04, 0xf9 },
473  { 0x35, 0x5c, 0x05, 0xd0 },
474  { 0x35, 0x54, 0x05, 0xf4 },
475  { 0x34, 0xe0, 0x01, 0x05 },
476  { 0x34, 0xe8, 0x00, 0xa0 },
477  { 0x34, 0xf0, 0x0e, 0xa1 },
478  { 0x34, 0xf8, 0x0e, 0x01 },
479  { 0x35, 0x02, 0x0f, 0xeb },
480  { 0x35, 0x0a, 0x09, 0x0a },
481  { 0x35, 0x12, 0x10, 0x1e },
482  { 0x35, 0x1a, 0x08, 0x23 },
483  { 0x35, 0x22, 0x1c, 0x22 },
484  { 0x35, 0x2a, 0x07, 0x22 },
485  { 0x35, 0x32, 0x0b, 0x06 },
486  { 0x35, 0x3a, 0xf9, 0x16 },
487  { 0x35, 0x4e, 0x05, 0x9f },
488  { 0x35, 0x46, 0x05, 0x30 },
489  { 0x35, 0x5e, 0x06, 0x75 },
490  { 0x35, 0x56, 0x06, 0x5c },
491  { 0x34, 0xe4, 0x00, 0xc5 },
492  { 0x34, 0xec, 0x00, 0x48 },
493  { 0x34, 0xf4, 0x0f, 0x66 },
494  { 0x34, 0xfc, 0x0e, 0x61 },
495  { 0x35, 0x06, 0x1b, 0xdb },
496  { 0x35, 0x0e, 0x04, 0x0a },
497  { 0x35, 0x16, 0x11, 0x13 },
498  { 0x35, 0x1e, 0x08, 0x1f },
499  { 0x35, 0x26, 0x11, 0x19 },
500  { 0x35, 0x2e, 0xf8, 0x1a },
501  { 0x35, 0x36, 0x04, 0x0c },
502  { 0x35, 0x3e, 0xfa, 0x00 },
503  { 0x35, 0x52, 0x06, 0xf1 },
504  { 0x35, 0x4a, 0x04, 0x0e },
505  { 0x35, 0x62, 0x06, 0xa1 },
506  { 0x35, 0x5a, 0x06, 0x91 },
507  { 0x34, 0xe2, 0x00, 0xd2 },
508  { 0x34, 0xea, 0x00, 0x72 },
509  { 0x34, 0xf2, 0x0e, 0x1d },
510  { 0x34, 0xfa, 0x0e, 0x06 },
511  { 0x35, 0x04, 0x13, 0x0e },
512  { 0x35, 0x0c, 0x0f, 0x0d },
513  { 0x35, 0x14, 0x13, 0x1c },
514  { 0x35, 0x1c, 0x13, 0x29 },
515  { 0x35, 0x24, 0x0d, 0x24 },
516  { 0x35, 0x2c, 0xfd, 0x29 },
517  { 0x35, 0x34, 0x07, 0xf4 },
518  { 0x35, 0x3c, 0xee, 0xe7 },
519  { 0x35, 0x50, 0x06, 0x50 },
520  { 0x35, 0x48, 0x05, 0xc1 },
521  { 0x35, 0x60, 0x06, 0x11 },
522  { 0x35, 0x58, 0x06, 0x58 },
523  { 0x35, 0x40, 0x00, 0x00 },
524  { 0x35, 0x42, 0x00, 0x00 },
525  { 0x32, 0x10, 0x01, 0xfc },
526  { 0x33, 0x8c, 0xa3, 0x52 },
527  { 0x33, 0x90, 0x00, 0x3c },
528  { 0x33, 0x8c, 0xa1, 0x18 },
529  { 0x33, 0x90, 0x00, 0x3c },
530  { 0x33, 0x8c, 0xa1, 0x19 },
531  { 0x33, 0x90, 0x00, 0x0a },
532  { 0x33, 0x8c, 0xa7, 0x6d },
533  { 0x33, 0x90, 0x00, 0x03 },
534  { 0x33, 0x8c, 0xa7, 0x6e },
535  { 0x33, 0x90, 0x00, 0x03 },
536  { 0x33, 0x8c, 0xa7, 0x6f },
537  { 0x33, 0x90, 0x00, 0x00 },
538  { 0x33, 0x8c, 0xa7, 0x70 },
539  { 0x33, 0x90, 0x00, 0x05 },
540  { 0x33, 0x8c, 0xa7, 0x71 },
541  { 0x33, 0x90, 0x00, 0x10 },
542  { 0x33, 0x8c, 0xa7, 0x72 },
543  { 0x33, 0x90, 0x00, 0x30 },
544  { 0x33, 0x8c, 0xa7, 0x73 },
545  { 0x33, 0x90, 0x00, 0x5b },
546  { 0x33, 0x8c, 0xa7, 0x74 },
547  { 0x33, 0x90, 0x00, 0x77 },
548  { 0x33, 0x8c, 0xa7, 0x75 },
549  { 0x33, 0x90, 0x00, 0x8e },
550  { 0x33, 0x8c, 0xa7, 0x76 },
551  { 0x33, 0x90, 0x00, 0xa0 },
552  { 0x33, 0x8c, 0xa7, 0x77 },
553  { 0x33, 0x90, 0x00, 0xaf },
554  { 0x33, 0x8c, 0xa7, 0x78 },
555  { 0x33, 0x90, 0x00, 0xbc },
556  { 0x33, 0x8c, 0xa7, 0x79 },
557  { 0x33, 0x90, 0x00, 0xc7 },
558  { 0x33, 0x8c, 0xa7, 0x7a },
559  { 0x33, 0x90, 0x00, 0xd0 },
560  { 0x33, 0x8c, 0xa7, 0x7b },
561  { 0x33, 0x90, 0x00, 0xd9 },
562  { 0x33, 0x8c, 0xa7, 0x7c },
563  { 0x33, 0x90, 0x00, 0xe0 },
564  { 0x33, 0x8c, 0xa7, 0x7d },
565  { 0x33, 0x90, 0x00, 0xe8 },
566  { 0x33, 0x8c, 0xa7, 0x7e },
567  { 0x33, 0x90, 0x00, 0xee },
568  { 0x33, 0x8c, 0xa7, 0x7f },
569  { 0x33, 0x90, 0x00, 0xf4 },
570  { 0x33, 0x8c, 0xa7, 0x80 },
571  { 0x33, 0x90, 0x00, 0xfa },
572  { 0x33, 0x8c, 0xa7, 0x81 },
573  { 0x33, 0x90, 0x00, 0xff },
574  { 0x33, 0x8c, 0xa7, 0x82 },
575  { 0x33, 0x90, 0x00, 0x00 },
576  { 0x33, 0x8c, 0xa7, 0x83 },
577  { 0x33, 0x90, 0x00, 0x05 },
578  { 0x33, 0x8c, 0xa7, 0x84 },
579  { 0x33, 0x90, 0x00, 0x10 },
580  { 0x33, 0x8c, 0xa7, 0x85 },
581  { 0x33, 0x90, 0x00, 0x30 },
582  { 0x33, 0x8c, 0xa7, 0x86 },
583  { 0x33, 0x90, 0x00, 0x5b },
584  { 0x33, 0x8c, 0xa7, 0x87 },
585  { 0x33, 0x90, 0x00, 0x77 },
586  { 0x33, 0x8c, 0xa7, 0x88 },
587  { 0x33, 0x90, 0x00, 0x8e },
588  { 0x33, 0x8c, 0xa7, 0x89 },
589  { 0x33, 0x90, 0x00, 0xa0 },
590  { 0x33, 0x8c, 0xa7, 0x8a },
591  { 0x33, 0x90, 0x00, 0xaf },
592  { 0x33, 0x8c, 0xa7, 0x8b },
593  { 0x33, 0x90, 0x00, 0xbc },
594  { 0x33, 0x8c, 0xa7, 0x8c },
595  { 0x33, 0x90, 0x00, 0xc7 },
596  { 0x33, 0x8c, 0xa7, 0x8d },
597  { 0x33, 0x90, 0x00, 0xd0 },
598  { 0x33, 0x8c, 0xa7, 0x8e },
599  { 0x33, 0x90, 0x00, 0xd9 },
600  { 0x33, 0x8c, 0xa7, 0x8f },
601  { 0x33, 0x90, 0x00, 0xe0 },
602  { 0x33, 0x8c, 0xa7, 0x90 },
603  { 0x33, 0x90, 0x00, 0xe8 },
604  { 0x33, 0x8c, 0xa7, 0x91 },
605  { 0x33, 0x90, 0x00, 0xee },
606  { 0x33, 0x8c, 0xa7, 0x92 },
607  { 0x33, 0x90, 0x00, 0xf4 },
608  { 0x33, 0x8c, 0xa7, 0x93 },
609  { 0x33, 0x90, 0x00, 0xfa },
610  { 0x33, 0x8c, 0xa7, 0x94 },
611  { 0x33, 0x90, 0x00, 0xff },
612  { 0x33, 0x8c, 0xa1, 0x03 },
613  { 0x33, 0x90, 0x00, 0x05 },
614  { 0x33, 0x8c, 0xa1, 0x04 },
615  { 0x33, 0x90, -1 },
616  { 0x33, 0x8c, 0xa2, 0x06 },
617  { 0x33, 0x90, 0x00, 0x50 },
618  { 0x33, 0x8c, 0x27, 0x03 },
619  { 0x33, 0x90, 0x02, 0x82 },
620  { 0x33, 0x8c, 0x27, 0x05 },
621  { 0x33, 0x90, 0x01, 0xe2 },
622  { 0x33, 0x8c, 0x27, 0x07 },
623  { 0x33, 0x90, 0x05, 0x02 },
624  { 0x33, 0x8c, 0x27, 0x09 },
625  { 0x33, 0x90, 0x04, 0x02 },
626  { 0x33, 0x8c, 0x27, 0x0d },
627  { 0x33, 0x90, 0x00, 0x00 },
628  { 0x33, 0x8c, 0x27, 0x0f },
629  { 0x33, 0x90, 0x00, 0x00 },
630  { 0x33, 0x8c, 0x27, 0x11 },
631  { 0x33, 0x90, 0x04, 0xbd },
632  { 0x33, 0x8c, 0x27, 0x13 },
633  { 0x33, 0x90, 0x06, 0x4d },
634  { 0x33, 0x8c, 0x27, 0x15 },
635  { 0x33, 0x90, 0x04, 0x00 },
636  { 0x33, 0x8c, 0x27, 0x17 },
637  { 0x33, 0x90, 0x21, 0x11 },
638  { 0x33, 0x8c, 0x27, 0x19 },
639  { 0x33, 0x90, 0x04, 0x6c },
640  { 0x33, 0x8c, 0x27, 0x1b },
641  { 0x33, 0x90, 0x02, 0x4f },
642  { 0x33, 0x8c, 0x27, 0x1d },
643  { 0x33, 0x90, 0x01, 0x02 },
644  { 0x33, 0x8c, 0x27, 0x1f },
645  { 0x33, 0x90, 0x02, 0x79 },
646  { 0x33, 0x8c, 0x27, 0x21 },
647  { 0x33, 0x90, 0x01, 0x55 },
648  { 0x33, 0x8c, 0x27, 0x23 },
649  { 0x33, 0x90, 0x03, 0x5b },
650  { 0x33, 0x8c, 0x27, 0x25 },
651  { 0x33, 0x90, 0x06, 0x0f },
652  { 0x33, 0x8c, 0x27, 0x27 },
653  { 0x33, 0x90, 0x20, 0x20 },
654  { 0x33, 0x8c, 0x27, 0x29 },
655  { 0x33, 0x90, 0x20, 0x20 },
656  { 0x33, 0x8c, 0x27, 0x2b },
657  { 0x33, 0x90, 0x10, 0x20 },
658  { 0x33, 0x8c, 0x27, 0x2d },
659  { 0x33, 0x90, 0x20, 0x07 },
660  { 0x33, 0x8c, 0x27, 0x2f },
661  { 0x33, 0x90, 0x00, 0x04 },
662  { 0x33, 0x8c, 0x27, 0x31 },
663  { 0x33, 0x90, 0x00, 0x04 },
664  { 0x33, 0x8c, 0x27, 0x33 },
665  { 0x33, 0x90, 0x04, 0xbb },
666  { 0x33, 0x8c, 0x27, 0x35 },
667  { 0x33, 0x90, 0x06, 0x4b },
668  { 0x33, 0x8c, 0x27, 0x37 },
669  { 0x33, 0x90, 0x04, 0xce },
670  { 0x33, 0x8c, 0x27, 0x39 },
671  { 0x33, 0x90, 0x21, 0x11 },
672  { 0x33, 0x8c, 0x27, 0x3b },
673  { 0x33, 0x90, 0x00, 0x24 },
674  { 0x33, 0x8c, 0x27, 0x3d },
675  { 0x33, 0x90, 0x01, 0x20 },
676  { 0x33, 0x8c, 0x27, 0x41 },
677  { 0x33, 0x90, 0x01, 0x69 },
678  { 0x33, 0x8c, 0x27, 0x45 },
679  { 0x33, 0x90, 0x04, 0xff },
680  { 0x33, 0x8c, 0x27, 0x47 },
681  { 0x33, 0x90, 0x08, 0x24 },
682  { 0x33, 0x8c, 0x27, 0x51 },
683  { 0x33, 0x90, 0x00, 0x00 },
684  { 0x33, 0x8c, 0x27, 0x53 },
685  { 0x33, 0x90, 0x03, 0x20 },
686  { 0x33, 0x8c, 0x27, 0x55 },
687  { 0x33, 0x90, 0x00, 0x00 },
688  { 0x33, 0x8c, 0x27, 0x57 },
689  { 0x33, 0x90, 0x02, 0x58 },
690  { 0x33, 0x8c, 0x27, 0x5f },
691  { 0x33, 0x90, 0x00, 0x00 },
692  { 0x33, 0x8c, 0x27, 0x61 },
693  { 0x33, 0x90, 0x06, 0x40 },
694  { 0x33, 0x8c, 0x27, 0x63 },
695  { 0x33, 0x90, 0x00, 0x00 },
696  { 0x33, 0x8c, 0x27, 0x65 },
697  { 0x33, 0x90, 0x04, 0xb0 },
698  { 0x33, 0x8c, 0x22, 0x2e },
699  { 0x33, 0x90, 0x00, 0xd7 },
700  { 0x33, 0x8c, 0xa4, 0x08 },
701  { 0x33, 0x90, 0x00, 0x2a },
702  { 0x33, 0x8c, 0xa4, 0x09 },
703  { 0x33, 0x90, 0x00, 0x2c },
704  { 0x33, 0x8c, 0xa4, 0x0a },
705  { 0x33, 0x90, 0x00, 0x32 },
706  { 0x33, 0x8c, 0xa4, 0x0b },
707  { 0x33, 0x90, 0x00, 0x34 },
708  { 0x33, 0x8c, 0x24, 0x11 },
709  { 0x33, 0x90, 0x00, 0xd7 },
710  { 0x33, 0x8c, 0x24, 0x13 },
711  { 0x33, 0x90, 0x01, 0x02 },
712  { 0x33, 0x8c, 0x24, 0x15 },
713  { 0x33, 0x90, 0x00, 0xa0 },
714  { 0x33, 0x8c, 0x24, 0x17 },
715  { 0x33, 0x90, 0x00, 0xc0 },
716  { 0x33, 0x8c, 0x27, 0x99 },
717  { 0x33, 0x90, 0x64, 0x08 },
718  { 0x33, 0x8c, 0x27, 0x9b },
719  { 0x33, 0x90, 0x64, 0x08 },
720  { 0x33, 0x8c, 0xa2, 0x0c },
721  { 0x33, 0x90, 0x00, 0x18 },
722  { 0x33, 0x8c, 0xa2, 0x14 },
723  { 0x33, 0x90, 0x00, 0x24 },
724  { 0x33, 0x8c, 0xa2, 0x15 },
725  { 0x33, 0x90, 0x00, 0x02 }, // 0x04 or 0x02
726  { 0x33, 0x8c, 0xa2, 0x0d },
727  { 0x33, 0x90, 0x00, 0x10 }, // 0x30 or 0x10
728  { 0x33, 0x8c, 0xa2, 0x0e },
729  { 0x33, 0x90, 0x00, 0x80 },
730  { 0x33, 0x8c, 0xa1, 0x03 },
731  { 0x33, 0x90, 0x00, 0x05 },
732  { 0x33, 0x8c, 0xa1, 0x04 },
733  { 0x33, 0x90, -1 },
734  { 0x33, 0x8c, 0xa1, 0x03 },
735  { 0x33, 0x90, 0x00, 0x06 },
736  { 0x33, 0x8c, 0xa1, 0x04 },
737  { 0x33, 0x90, -1 },
738  { 0x33, 0x8c, 0xa1, 0x30 },
739  { 0x33, 0x90, 0x00, 0x04 },
740  { 0x33, 0x8c, 0xa1, 0x15 },
741  { 0x33, 0x90, 0x00, 0xef },
742  { 0x33, 0x8c, 0xa1, 0x16 },
743  { 0x33, 0x90, 0x00, 0x30 },
744  { 0x33, 0x8c, 0xa1, 0x17 },
745  { 0x33, 0x90, 0x00, 0x55 },
746  { 0x33, 0x8c, 0xa1, 0x18 },
747  { 0x33, 0x90, 0x00, 0x5a },
748  { 0x33, 0x8c, 0xa1, 0x19 },
749  { 0x33, 0x90, 0x00, 0x28 },
750  { 0x33, 0x8c, 0xa1, 0x1a },
751  { 0x33, 0x90, 0x00, 0x08 },
752  { 0x33, 0x8c, 0xa1, 0x1b },
753  { 0x33, 0x90, 0x00, 0x1e },
754  { 0x33, 0x8c, 0xa1, 0x1c },
755  { 0x33, 0x90, 0x00, 0x02 },
756  { 0x33, 0x8c, 0xa1, 0x1d },
757  { 0x33, 0x90, 0x00, 0x00 },
758  { 0x33, 0x8c, 0xa1, 0x1e },
759  { 0x33, 0x90, 0x00, 0x00 },
760  { 0x33, 0x8c, 0xa1, 0x1f },
761  { 0x33, 0x90, 0x00, 0x04 },
762  { 0x33, 0x8c, 0xab, 0x05 },
763  { 0x33, 0x90, 0x00, 0x00 },
764  { 0x33, 0x8c, 0xa7, 0x6d },
765  { 0x33, 0x90, 0x00, 0x03 },
766  { 0x33, 0x8c, 0xa7, 0x6e },
767  { 0x33, 0x90, 0x00, 0x03 },
768  { 0x33, 0x8c, 0xa7, 0x6f },
769  { 0x33, 0x90, 0x00, 0x00 },
770  { 0x33, 0x8c, 0xa7, 0x70 },
771  { 0x33, 0x90, 0x00, 0x15 },
772  { 0x33, 0x8c, 0xa7, 0x71 },
773  { 0x33, 0x90, 0x00, 0x25 },
774  { 0x33, 0x8c, 0xa7, 0x72 },
775  { 0x33, 0x90, 0x00, 0x3f },
776  { 0x33, 0x8c, 0xa7, 0x73 },
777  { 0x33, 0x90, 0x00, 0x64 },
778  { 0x33, 0x8c, 0xa7, 0x74 },
779  { 0x33, 0x90, 0x00, 0x80 },
780  { 0x33, 0x8c, 0xa7, 0x75 },
781  { 0x33, 0x90, 0x00, 0x97 },
782  { 0x33, 0x8c, 0xa7, 0x76 },
783  { 0x33, 0x90, 0x00, 0xa9 },
784  { 0x33, 0x8c, 0xa7, 0x77 },
785  { 0x33, 0x90, 0x00, 0xba },
786  { 0x33, 0x8c, 0xa7, 0x78 },
787  { 0x33, 0x90, 0x00, 0xc7 },
788  { 0x33, 0x8c, 0xa7, 0x79 },
789  { 0x33, 0x90, 0x00, 0xd2 },
790  { 0x33, 0x8c, 0xa7, 0x7a },
791  { 0x33, 0x90, 0x00, 0xdc },
792  { 0x33, 0x8c, 0xa7, 0x7b },
793  { 0x33, 0x90, 0x00, 0xe4 },
794  { 0x33, 0x8c, 0xa7, 0x7c },
795  { 0x33, 0x90, 0x00, 0xea },
796  { 0x33, 0x8c, 0xa7, 0x7d },
797  { 0x33, 0x90, 0x00, 0xf0 },
798  { 0x33, 0x8c, 0xa7, 0x7e },
799  { 0x33, 0x90, 0x00, 0xf4 },
800  { 0x33, 0x8c, 0xa7, 0x7f },
801  { 0x33, 0x90, 0x00, 0xf8 },
802  { 0x33, 0x8c, 0xa7, 0x80 },
803  { 0x33, 0x90, 0x00, 0xfc },
804  { 0x33, 0x8c, 0xa7, 0x81 },
805  { 0x33, 0x90, 0x00, 0xff },
806  { 0x33, 0x8c, 0xa7, 0x82 },
807  { 0x33, 0x90, 0x00, 0x00 },
808  { 0x33, 0x8c, 0xa7, 0x83 },
809  { 0x33, 0x90, 0x00, 0x15 },
810  { 0x33, 0x8c, 0xa7, 0x84 },
811  { 0x33, 0x90, 0x00, 0x25 },
812  { 0x33, 0x8c, 0xa7, 0x85 },
813  { 0x33, 0x90, 0x00, 0x3f },
814  { 0x33, 0x8c, 0xa7, 0x86 },
815  { 0x33, 0x90, 0x00, 0x64 },
816  { 0x33, 0x8c, 0xa7, 0x87 },
817  { 0x33, 0x90, 0x00, 0x80 },
818  { 0x33, 0x8c, 0xa7, 0x88 },
819  { 0x33, 0x90, 0x00, 0x97 },
820  { 0x33, 0x8c, 0xa7, 0x89 },
821  { 0x33, 0x90, 0x00, 0xa9 },
822  { 0x33, 0x8c, 0xa7, 0x8a },
823  { 0x33, 0x90, 0x00, 0xba },
824  { 0x33, 0x8c, 0xa7, 0x8b },
825  { 0x33, 0x90, 0x00, 0xc7 },
826  { 0x33, 0x8c, 0xa7, 0x8c },
827  { 0x33, 0x90, 0x00, 0xd2 },
828  { 0x33, 0x8c, 0xa7, 0x8d },
829  { 0x33, 0x90, 0x00, 0xdc },
830  { 0x33, 0x8c, 0xa7, 0x8e },
831  { 0x33, 0x90, 0x00, 0xe4 },
832  { 0x33, 0x8c, 0xa7, 0x8f },
833  { 0x33, 0x90, 0x00, 0xea },
834  { 0x33, 0x8c, 0xa7, 0x90 },
835  { 0x33, 0x90, 0x00, 0xf0 },
836  { 0x33, 0x8c, 0xa7, 0x91 },
837  { 0x33, 0x90, 0x00, 0xf4 },
838  { 0x33, 0x8c, 0xa7, 0x92 },
839  { 0x33, 0x90, 0x00, 0xf8 },
840  { 0x33, 0x8c, 0xa7, 0x93 },
841  { 0x33, 0x90, 0x00, 0xfc },
842  { 0x33, 0x8c, 0xa7, 0x94 },
843  { 0x33, 0x90, 0x00, 0xff },
844  { 0x33, 0x8c, 0xa1, 0x03 },
845  { 0x33, 0x90, 0x00, 0x06 },
846  { 0x33, 0x8c, 0xa1, 0x04 },
847  { 0x33, 0x90, -1 },
848  { 0x35, 0xa4, 0x05, 0x96 },
849  { 0x33, 0x8c, 0xa1, 0x18 },
850  { 0x33, 0x90, 0x00, 0x1e },
851  { 0x33, 0x8c, 0xa1, 0x19 },
852  { 0x33, 0x90, 0x00, 0x04 },
853  { 0x33, 0x8c, 0xa1, 0x1a },
854  { 0x33, 0x90, 0x00, 0x0a },
855  { 0x33, 0x8c, 0xa1, 0x1b },
856  { 0x33, 0x90, 0x00, 0x20 },
857  { 0x33, 0x8c, 0xa1, 0x3e },
858  { 0x33, 0x90, 0x00, 0x04 },
859  { 0x33, 0x8c, 0xa1, 0x3f },
860  { 0x33, 0x90, 0x00, 0x0e },
861  { 0x33, 0x8c, 0xa1, 0x40 },
862  { 0x33, 0x90, 0x00, 0x04 },
863  { 0x33, 0x8c, 0xa1, 0x41 },
864  { 0x33, 0x90, 0x00, 0x04 },
865  { 0x33, 0x8c, 0xa1, 0x42 },
866  { 0x33, 0x90, 0x00, 0x32 },
867  { 0x33, 0x8c, 0xa1, 0x43 },
868  { 0x33, 0x90, 0x00, 0x0f },
869  { 0x33, 0x8c, 0xa1, 0x44 },
870  { 0x33, 0x90, 0x00, 0x32 },
871  { 0x33, 0x8c, 0xa1, 0x45 },
872  { 0x33, 0x90, 0x00, 0x32 },
873  { 0x33, 0x8c, 0xa1, 0x46 },
874  { 0x33, 0x90, 0x00, 0x05 },
875  { 0x33, 0x8c, 0xa1, 0x04 },
876  { 0x33, 0x90, -1 },
877  { 0x33, 0x8c, 0xa1, 0x47 },
878  { 0x33, 0x90, 0x00, 0x3a },
879  { 0x33, 0x8c, 0x27, 0x95 },
880  { 0x33, 0x90, 0x01, 0x00 },
881  { 0x33, 0x8c, 0xa1, 0x03 },
882  { 0x33, 0x90, 0x00, 0x05 },
883  { 0x33, 0x8c, 0xa1, 0x04 },
884  { 0x33, 0x90, -1 },
885  { 0x33, 0x8c, 0x27, 0x97 },
886  { 0x33, 0x90, 0x01, 0x00 },
887  { 0x33, 0x8c, 0xa1, 0x03 },
888  { 0x33, 0x90, 0x00, 0x05 },
889  { 0x33, 0x8c, 0xa1, 0x04 },
890  { 0x33, 0x90, -1 },
891  { 0x33, 0x8c, 0xa4, 0x04 },
892  { 0x33, 0x90, 0x00, 0xc0 },
893  { 0x33, 0x8c, 0xa1, 0x03 },
894  { 0x33, 0x90, 0x00, 0x05 },
895  { 0x33, 0x8c, 0xa1, 0x04 },
896  { 0x33, 0x90, -1 },
897  { 0x33, 0x8c, 0xa2, 0x06 },
898  { 0x33, 0x90, 0x00, 0x50 },
899  { 0x33, 0x8c, 0xa2, 0x0c },
900  { 0x33, 0x90, 0x00, 0x18 },
901  { 0x33, 0x8c, 0xa2, 0x15 },
902  { 0x33, 0x90, 0x00, 0x02 },
903  { 0x33, 0x8c, 0xa2, 0x0d },
904  { 0x33, 0x90, 0x00, 0x10 },
905  { 0x33, 0x8c, 0xa2, 0x0e },
906  { 0x33, 0x90, 0x00, 0x80 },
907  { 0x33, 0x8c, 0xa4, 0x04 },
908  { 0x33, 0x90, 0x00, 0xc0 },
909  { 0x33, 0x8c, 0xa1, 0x03 },
910  { 0x33, 0x90, 0x00, 0x05 },
911  { 0x33, 0x8c, 0xa1, 0x04 },
912  { 0x33, 0x90, -1 }
913  };
914 
915 
916  asize = ARRAY_SIZE(values_205);
917 
918  for(i=0; i<asize; i++) {
919  usb_stk11xx_read_registry(dev, 0x02ff, &value);
920  usb_stk11xx_write_registry(dev, 0x02ff, 0x0001);
921 
922  usb_stk11xx_write_registry(dev, 0x0203, 0x007a);
923 
924  usb_stk11xx_write_registry(dev, 0x0205, values_205[i][0]);
925  usb_stk11xx_write_registry(dev, 0x0205, values_205[i][1]);
926 
927  if (values_205[i][2] == -1) {
928  usb_stk11xx_write_registry(dev, 0x0200, 0x0061);
929 
930  retok = dev_stk11xx_check_device(dev, 500);
931 
932  usb_stk11xx_read_registry(dev, 0x0209, &value);
933  usb_stk11xx_write_registry(dev, 0x0200, 0x0020);
934 
935  retok = dev_stk11xx_check_device(dev, 500);
936 
937  usb_stk11xx_read_registry(dev, 0x0209, &value);
938  }
939  else {
940  usb_stk11xx_write_registry(dev, 0x0205, values_205[i][2]);
941  usb_stk11xx_write_registry(dev, 0x0205, values_205[i][3]);
942  usb_stk11xx_write_registry(dev, 0x0200, 0x0001);
943 
944  retok = dev_stk11xx_check_device(dev, 500);
945  }
946 
947  usb_stk11xx_write_registry(dev, 0x02ff, 0x0001);
948  }
949 
950  return 0;
951 }
952 
953 
968 {
969  return 0;
970 }
971 
972 
987 {
988  int ret;
989  int value;
990 
991  // Contrast register
992  usb_stk11xx_read_registry(dev, 0x02ff, &value);
993  usb_stk11xx_write_registry(dev, 0x02ff, 0x0000);
994 
995  usb_stk11xx_write_registry(dev, 0x0204, 0x00b3);
996  usb_stk11xx_write_registry(dev, 0x0205, (dev->vsettings.contrast >> 8));
997 
998  usb_stk11xx_write_registry(dev, 0x0200, 0x0001);
999  ret = dev_stk11xx_check_device(dev, 500);
1000  usb_stk11xx_write_registry(dev, 0x02ff, 0x0000);
1001 
1002  STK_DEBUG("Set colour : %d\n", dev->vsettings.colour);
1003  STK_DEBUG("Set contrast : %d\n", dev->vsettings.contrast);
1004  STK_DEBUG("Set whiteness : %d\n", dev->vsettings.whiteness);
1005  STK_DEBUG("Set brightness : %d\n", dev->vsettings.brightness);
1006 
1007  return 0;
1008 }
1009 
1010 
1021 {
1022  return 0;
1023 }
1024 
1025 
1037 {
1038  return 0;
1039 }
1040 
1041 
1052 {
1054 
1055  return 0;
1056 }
1057 
1058 
1070 {
1071  return 0;
1072 }
1073 
1074 
dev_stk6d51_sensor_settings
int dev_stk6d51_sensor_settings(struct usb_stk11xx *dev)
This function permits to set default sensor settings.
Definition: stk11xx-dev-6d51.c:296
dev_stk6d51_configure_device
int dev_stk6d51_configure_device(struct usb_stk11xx *dev, int step)
This function permits to configure the device.
Definition: stk11xx-dev-6d51.c:132
dev_stk6d51_stop_stream
int dev_stk6d51_stop_stream(struct usb_stk11xx *dev)
This function sets the device to stop the stream.
Definition: stk11xx-dev-6d51.c:1069
stk11xx_video::brightness
int brightness
Definition: stk11xx.h:278
dev_stk6d51_reconf_camera
int dev_stk6d51_reconf_camera(struct usb_stk11xx *dev)
Reconfigure the camera before the stream.
Definition: stk11xx-dev-6d51.c:1051
dev_stk6d51_camera_settings
int dev_stk6d51_camera_settings(struct usb_stk11xx *dev)
This function permits to modify the settings of the camera.
Definition: stk11xx-dev-6d51.c:967
stk11xx.h
Driver for Syntek USB video camera.
STK_DEBUG
#define STK_DEBUG(str, args...)
Definition: stk11xx.h:149
stk11xx_video::colour
int colour
Definition: stk11xx.h:281
dev_stk6d51_set_camera_fps
int dev_stk6d51_set_camera_fps(struct usb_stk11xx *dev)
This function permits to modify the settings of the camera.
Definition: stk11xx-dev-6d51.c:1020
dev_stk11xx_camera_settings
int dev_stk11xx_camera_settings(struct usb_stk11xx *dev)
This function permits to modify the settings of the camera.
Definition: stk11xx-dev.c:342
usb_stk11xx_set_feature
int usb_stk11xx_set_feature(struct usb_stk11xx *dev, int index)
Send the message SET_FEATURE and choose the interface.
Definition: stk11xx-usb.c:474
usb_stk11xx_write_registry
int usb_stk11xx_write_registry(struct usb_stk11xx *dev, __u16 index, __u16 value)
Write a 16-bits value to a 16-bits register.
Definition: stk11xx-usb.c:540
usb_stk11xx_read_registry
int usb_stk11xx_read_registry(struct usb_stk11xx *dev, __u16 index, int *value)
Read a 16-bits value from a 16-bits register.
Definition: stk11xx-usb.c:572
dev_stk6d51_initialize_device
int dev_stk6d51_initialize_device(struct usb_stk11xx *dev)
This function permits to initialize the device.
Definition: stk11xx-dev-6d51.c:70
STK_INFO
#define STK_INFO(str, args...)
Definition: stk11xx.h:146
dev_stk6d51_set_camera_quality
int dev_stk6d51_set_camera_quality(struct usb_stk11xx *dev)
This function permits to modify the settings of the camera.
Definition: stk11xx-dev-6d51.c:986
dev_stk6d51_camera_asleep
int dev_stk6d51_camera_asleep(struct usb_stk11xx *dev)
Wake-up the camera.
Definition: stk11xx-dev-6d51.c:250
stk11xx_video::contrast
int contrast
Definition: stk11xx.h:279
usb_stk11xx
Definition: stk11xx.h:301
usb_stk11xx::vsettings
struct stk11xx_video vsettings
Definition: stk11xx.h:319
dev_stk6d51_start_stream
int dev_stk6d51_start_stream(struct usb_stk11xx *dev)
This function sets the device to start the stream.
Definition: stk11xx-dev-6d51.c:1036
stk11xx-dev.h
Driver for Syntek USB video camera.
stk11xx_video::whiteness
int whiteness
Definition: stk11xx.h:280
dev_stk11xx_check_device
int dev_stk11xx_check_device(struct usb_stk11xx *dev, int nbr)
This function permits to check the device in reading the register 0x0201.
Definition: stk11xx-dev.c:170
dev_stk6d51_init_camera
int dev_stk6d51_init_camera(struct usb_stk11xx *dev)
This function initializes the device for the stream.
Definition: stk11xx-dev-6d51.c:280