video: tegra: dtv: Add ioctl for buffer size query
[linux-3.10.git] / include / media / ad5823.h
1 /*
2  * Copyright (c) 2013, NVIDIA CORPORATION.  All rights reserved.
3  *
4  * This program is free software; you can redistribute it and/or modify it
5  * under the terms and conditions of the GNU General Public License,
6  * version 2, as published by the Free Software Foundation.
7  *
8  * This program is distributed in the hope it will be useful, but WITHOUT
9  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
11  * more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
15  */
16
17 #ifndef __AD5823_H__
18 #define __AD5823_H__
19
20 #include <linux/ioctl.h>  /* For IOCTL macros */
21
22 #define AD5823_IOCTL_GET_CONFIG   _IOR('o', 1, struct ad5823_config)
23 #define AD5823_IOCTL_SET_POSITION _IOW('o', 2, u32)
24
25 /* address */
26 #define AD5823_RESET                (0x1)
27 #define AD5823_MODE                 (0x2)
28 #define AD5823_VCM_MOVE_TIME        (0x3)
29 #define AD5823_VCM_CODE_MSB         (0x4)
30 #define AD5823_VCM_CODE_LSB         (0x5)
31 #define AD5823_VCM_THRESHOLD_MSB    (0x6)
32 #define AD5823_VCM_THRESHOLD_LSB    (0x7)
33 #define AD5823_RING_CTRL            (1 << 2)
34 struct ad5823_config {
35         __u32 settle_time;
36         __u32 actuator_range;
37         __u32 pos_low;
38         __u32 pos_high;
39         float focal_length;
40         float fnumber;
41         float max_aperture;
42 };
43
44 struct ad5823_platform_data {
45         int gpio;
46         int (*power_on)(struct ad5823_platform_data *);
47         int (*power_off)(struct ad5823_platform_data *);
48 };
49 #endif  /* __AD5820_H__ */
50