video: tegra: dtv: Add ioctl for buffer size query
[linux-3.10.git] / include / media / ov9772.h
1 /*
2  * nvc_ov9772.h - ov9772 sensor driver
3  *
4  *  * Copyright (c) 2012 NVIDIA Corporation.  All rights reserved.
5  *
6  * Contributors:
7  *      Phil Breczinski <pbreczinski@nvidia.com>
8  *
9  * This file is licensed under the terms of the GNU General Public License
10  * version 2. This program is licensed "as is" without any warranty of any
11  * kind, whether express or implied.
12  */
13
14 #ifndef __OV9772_H__
15 #define __OV9772_H__
16
17 #include <media/nvc.h>
18 #include <media/nvc_image.h>
19
20 /* See notes in the nvc.h file on the GPIO usage */
21 enum ov9772_gpio_type {
22         OV9772_GPIO_TYPE_SHTDN = 0,
23         OV9772_GPIO_TYPE_PWRDN,
24         OV9772_GPIO_TYPE_I2CMUX,
25         OV9772_GPIO_TYPE_GP1,
26         OV9772_GPIO_TYPE_GP2,
27         OV9772_GPIO_TYPE_GP3,
28 };
29
30 struct ov9772_power_rail {
31         struct regulator *dvdd;
32         struct regulator *avdd;
33         struct regulator *dovdd;
34 };
35
36 struct ov9772_platform_data {
37         unsigned cfg;
38         unsigned num;
39         unsigned sync;
40         const char *dev_name;
41         unsigned gpio_count;
42         struct nvc_gpio_pdata *gpio; /* see nvc.h GPIO notes */
43         struct nvc_imager_cap *cap;
44         unsigned lens_focal_length; /* / _INT2FLOAT_DIVISOR */
45         unsigned lens_max_aperture; /* / _INT2FLOAT_DIVISOR */
46         unsigned lens_fnumber; /* / _INT2FLOAT_DIVISOR */
47         unsigned lens_view_angle_h; /* / _INT2FLOAT_DIVISOR */
48         unsigned lens_view_angle_v; /* / _INT2FLOAT_DIVISOR */
49         const char *mclk_name;
50         int (*probe_clock)(unsigned long);
51         int (*power_on)(struct ov9772_power_rail *);
52         int (*power_off)(struct ov9772_power_rail *);
53 };
54 #endif  /* __OV9772_H__ */