media: tegra: Tegra V4L2 camera
[linux-2.6.git] / include / media / tegra_v4l2_camera.h
1 /*
2  * Copyright (c) 2012, 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 _TEGRA_CAMERA_H_
18 #define _TEGRA_CAMERA_H_
19
20 #include <linux/regulator/consumer.h>
21 #include <linux/i2c.h>
22 #include <linux/nvhost.h>
23
24 enum tegra_camera_port {
25         TEGRA_CAMERA_PORT_CSI_A = 1,
26         TEGRA_CAMERA_PORT_CSI_B,
27         TEGRA_CAMERA_PORT_VIP,
28 };
29
30 struct tegra_camera_platform_data {
31         int                     (*enable_camera)(struct nvhost_device *ndev);
32         void                    (*disable_camera)(struct nvhost_device *ndev);
33         bool                    flip_h;
34         bool                    flip_v;
35         enum tegra_camera_port  port;
36         int                     lanes;          /* For CSI port only */
37         bool                    continuous_clk; /* For CSI port only */
38 };
39
40 #endif /* _TEGRA_CAMERA_H_ */