summaryrefslogtreecommitdiff
path: root/include/media/tegra_camera.h
blob: 9dea1485781dfd21f4c44853a48e41692cf8cc83 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/*
 * include/linux/tegra_camera.h
 *
 * Copyright (C) 2010 Google, Inc.
 *
 * This software is licensed under the terms of the GNU General Public
 * License version 2, as published by the Free Software Foundation, and
 * may be copied, distributed, and modified under those terms.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 */
#ifndef TEGRA_CAMERA_H
#define TEGRA_CAMERA_H

/* this is to enable VI pattern generator (Null Sensor) */
#define TEGRA_CAMERA_ENABLE_PD2VI_CLK 0x1

enum {
	TEGRA_CAMERA_MODULE_ISP = 0,
	TEGRA_CAMERA_MODULE_VI,
	TEGRA_CAMERA_MODULE_CSI,
	TEGRA_CAMERA_MODULE_EMC,
	TEGRA_CAMERA_MODULE_MAX
};

enum {
	TEGRA_CAMERA_VI_CLK,
	TEGRA_CAMERA_VI_SENSOR_CLK,
	TEGRA_CAMERA_EMC_CLK
};

struct tegra_camera_clk_info {
	uint id;
	uint clk_id;
	unsigned long rate;
	uint flag;	/* to inform if any special bits need to enabled/disabled */
};

enum StereoCameraMode {
	Main = 0x0,		/* Sets the default camera to Main */
	StereoCameraMode_Left = 0x01,	/* the left camera is on. */
	StereoCameraMode_Right = 0x02,	/* the right camera is on. */
	StereoCameraMode_Stereo = 0x03,	/* both cameras are on. */
	StereoCameraMode_Force32 = 0x7FFFFFFF
};


#define TEGRA_CAMERA_IOCTL_ENABLE		_IOWR('i', 1, uint)
#define TEGRA_CAMERA_IOCTL_DISABLE		_IOWR('i', 2, uint)
#define TEGRA_CAMERA_IOCTL_CLK_SET_RATE		\
	_IOWR('i', 3, struct tegra_camera_clk_info)
#define TEGRA_CAMERA_IOCTL_RESET		_IOWR('i', 4, uint)

#endif