diff options
Diffstat (limited to 'drivers/media/video/gspca/m5602/m5602_sensor.h')
-rw-r--r-- | drivers/media/video/gspca/m5602/m5602_sensor.h | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/drivers/media/video/gspca/m5602/m5602_sensor.h b/drivers/media/video/gspca/m5602/m5602_sensor.h new file mode 100644 index 00000000000..edff4f1f586 --- /dev/null +++ b/drivers/media/video/gspca/m5602/m5602_sensor.h | |||
@@ -0,0 +1,70 @@ | |||
1 | /* | ||
2 | * USB Driver for ALi m5602 based webcams | ||
3 | * | ||
4 | * Copyright (C) 2008 Erik Andrén | ||
5 | * Copyright (C) 2007 Ilyes Gouta. Based on the m5603x Linux Driver Project. | ||
6 | * Copyright (C) 2005 m5603x Linux Driver Project <m5602@x3ng.com.br> | ||
7 | * | ||
8 | * Portions of code to USB interface and ALi driver software, | ||
9 | * Copyright (c) 2006 Willem Duinker | ||
10 | * v4l2 interface modeled after the V4L2 driver | ||
11 | * for SN9C10x PC Camera Controllers | ||
12 | * | ||
13 | * This program is free software; you can redistribute it and/or | ||
14 | * modify it under the terms of the GNU General Public License as | ||
15 | * published by the Free Software Foundation, version 2. | ||
16 | * | ||
17 | */ | ||
18 | |||
19 | #ifndef M5602_SENSOR_H_ | ||
20 | #define M5602_SENSOR_H_ | ||
21 | |||
22 | #include "m5602_bridge.h" | ||
23 | |||
24 | #define M5602_V4L2_CID_GREEN_BALANCE (V4L2_CID_PRIVATE_BASE + 0) | ||
25 | #define M5602_V4L2_CID_NOISE_SUPPRESION (V4L2_CID_PRIVATE_BASE + 1) | ||
26 | |||
27 | /* Enumerates all supported sensors */ | ||
28 | enum sensors { | ||
29 | OV9650_SENSOR = 1, | ||
30 | S5K83A_SENSOR = 2, | ||
31 | S5K4AA_SENSOR = 3, | ||
32 | MT9M111_SENSOR = 4, | ||
33 | PO1030_SENSOR = 5, | ||
34 | OV7660_SENSOR = 6, | ||
35 | }; | ||
36 | |||
37 | /* Enumerates all possible instruction types */ | ||
38 | enum instruction { | ||
39 | BRIDGE, | ||
40 | SENSOR, | ||
41 | SENSOR_LONG | ||
42 | }; | ||
43 | |||
44 | struct m5602_sensor { | ||
45 | /* Defines the name of a sensor */ | ||
46 | char name[32]; | ||
47 | |||
48 | /* What i2c address the sensor is connected to */ | ||
49 | u8 i2c_slave_id; | ||
50 | |||
51 | /* Width of each i2c register (in bytes) */ | ||
52 | u8 i2c_regW; | ||
53 | |||
54 | /* Probes if the sensor is connected */ | ||
55 | int (*probe)(struct sd *sd); | ||
56 | |||
57 | /* Performs a initialization sequence */ | ||
58 | int (*init)(struct sd *sd); | ||
59 | |||
60 | /* Executed when the camera starts to send data */ | ||
61 | int (*start)(struct sd *sd); | ||
62 | |||
63 | /* Executed when the camera ends to send data */ | ||
64 | int (*stop)(struct sd *sd); | ||
65 | |||
66 | /* Executed when the device is disconnected */ | ||
67 | void (*disconnect)(struct sd *sd); | ||
68 | }; | ||
69 | |||
70 | #endif | ||