usb: xhci: tegra: set SNPS owner only if no hs connected
[linux-3.10.git] / include / media / ov9726.h
1 /*
2 * ov9726.h
3 *
4 * Copyright (c) 2011, NVIDIA, All Rights Reserved.
5 *
6 * This file is licensed under the terms of the GNU General Public License
7 * version 2. This program is licensed "as is" without any warranty of any
8 * kind, whether express or implied.
9 */
10
11 #ifndef __OV9726_H__
12 #define __OV9726_H__
13
14 #include <linux/ioctl.h>
15
16 #define OV9726_I2C_ADDR                 0x20
17
18 #define OV9726_IOCTL_SET_MODE           _IOW('o', 1, struct ov9726_mode)
19 #define OV9726_IOCTL_SET_FRAME_LENGTH   _IOW('o', 2, __u32)
20 #define OV9726_IOCTL_SET_COARSE_TIME    _IOW('o', 3, __u32)
21 #define OV9726_IOCTL_SET_GAIN           _IOW('o', 4, __u16)
22 #define OV9726_IOCTL_GET_STATUS _IOR('o', 5, __u8)
23 #define OV9726_IOCTL_SET_GROUP_HOLD     _IOW('o', 6, struct ov9726_ae)
24 #define OV9726_IOCTL_GET_FUSEID _IOR('o', 7, struct nvc_fuseid)
25
26 struct ov9726_mode {
27         int     mode_id;
28         int     xres;
29         int     yres;
30         __u32   frame_length;
31         __u32   coarse_time;
32         __u16   gain;
33 };
34
35 struct ov9726_ae {
36         __u32 frame_length;
37         __u32 coarse_time;
38         __u16 gain;
39         __u8 frame_length_enable;
40         __u8 coarse_time_enable;
41         __u8 gain_enable;
42 };
43
44 struct ov9726_reg {
45         __u16   addr;
46         __u16   val;
47 };
48
49 #ifdef __KERNEL__
50 #define OV9726_REG_FRAME_LENGTH_HI      0x340
51 #define OV9726_REG_FRAME_LENGTH_LO      0x341
52 #define OV9726_REG_COARSE_TIME_HI       0x202
53 #define OV9726_REG_COARSE_TIME_LO       0x203
54 #define OV9726_REG_GAIN_HI              0x204
55 #define OV9726_REG_GAIN_LO              0x205
56
57 #define OV9726_MAX_RETRIES              3
58
59 #define OV9726_TABLE_WAIT_MS            0
60 #define OV9726_TABLE_END                1
61
62 struct ov9726_platform_data {
63         int     (*power_on)(struct device *);
64         int     (*power_off)(struct device *);
65         const char *mclk_name;
66         unsigned    gpio_rst;
67         bool        rst_low_active;
68         unsigned    gpio_pwdn;
69         bool        pwdn_low_active;
70 };
71 #endif /* __KERNEL__ */
72
73 #endif  /* __OV9726_H__ */
74