f88d376e67694b5771a4cf42da4f14915238c22a
[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 #ifndef TEGRA_CAMERA_H
17 #define TEGRA_CAMERA_H
18 enum {
19         TEGRA_CAMERA_MODULE_ISP = 0,
20         TEGRA_CAMERA_MODULE_VI,
21         TEGRA_CAMERA_MODULE_CSI,
22 };
23
24 enum {
25         TEGRA_CAMERA_VI_CLK,
26         TEGRA_CAMERA_VI_SENSOR_CLK,
27 };
28
29 struct tegra_camera_clk_info {
30         uint id;
31         uint clk_id;
32         unsigned long rate;
33 };
34
35 enum StereoCameraMode {
36         Main = 0x0,             /* Sets the default camera to Main */
37         StereoCameraMode_Left = 0x01,   /* the left camera is on. */
38         StereoCameraMode_Right = 0x02,  /* the right camera is on. */
39         StereoCameraMode_Stereo = 0x03, /* both cameras are on. */
40         StereoCameraMode_Force32 = 0x7FFFFFFF
41 };
42
43
44 #define TEGRA_CAMERA_IOCTL_ENABLE               _IOWR('i', 1, uint)
45 #define TEGRA_CAMERA_IOCTL_DISABLE              _IOWR('i', 2, uint)
46 #define TEGRA_CAMERA_IOCTL_CLK_SET_RATE         \
47         _IOWR('i', 3, struct tegra_camera_clk_info)
48 #define TEGRA_CAMERA_IOCTL_RESET                _IOWR('i', 4, uint)
49
50 #endif