3c8ddcab26e39bd3c69c3b37cdf25bab00fa5cb5
[linux-2.6.git] / include / media / tegra_camera.h
1 /*
2  * include/linux/tegra_camera.h
3  *
4  * Copyright (C) 2010 Google, Inc.
5  *
6  * This software is licensed under the terms of the GNU General Public
7  * License version 2, as published by the Free Software Foundation, and
8  * may be copied, distributed, and modified under those terms.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  */
16
17 enum {
18         TEGRA_CAMERA_MODULE_ISP = 0,
19         TEGRA_CAMERA_MODULE_VI,
20         TEGRA_CAMERA_MODULE_CSI,
21 };
22
23 enum {
24         TEGRA_CAMERA_VI_CLK,
25         TEGRA_CAMERA_VI_SENSOR_CLK,
26 };
27
28 struct tegra_camera_clk_info {
29         uint id;
30         uint clk_id;
31         unsigned long rate;
32 };
33
34 #define TEGRA_CAMERA_IOCTL_ENABLE               _IOWR('i', 1, uint)
35 #define TEGRA_CAMERA_IOCTL_DISABLE              _IOWR('i', 2, uint)
36 #define TEGRA_CAMERA_IOCTL_CLK_SET_RATE         \
37         _IOWR('i', 3, struct tegra_camera_clk_info)
38 #define TEGRA_CAMERA_IOCTL_RESET                _IOWR('i', 4, uint)