Merge branch 'drm-rockchip-next-fixes-2016-01-22' of https://github.com/markyzq/kerne...
[sfrench/cifs-2.6.git] / include / linux / platform_data / media / camera-mx3.h
1 /*
2  * mx3_camera.h - i.MX3x camera driver header file
3  *
4  * Copyright (C) 2008, Guennadi Liakhovetski, DENX Software Engineering, <lg@denx.de>
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  */
16
17 #ifndef _MX3_CAMERA_H_
18 #define _MX3_CAMERA_H_
19
20 #include <linux/device.h>
21
22 #define MX3_CAMERA_CLK_SRC      1
23 #define MX3_CAMERA_EXT_VSYNC    2
24 #define MX3_CAMERA_DP           4
25 #define MX3_CAMERA_PCP          8
26 #define MX3_CAMERA_HSP          0x10
27 #define MX3_CAMERA_VSP          0x20
28 #define MX3_CAMERA_DATAWIDTH_4  0x40
29 #define MX3_CAMERA_DATAWIDTH_8  0x80
30 #define MX3_CAMERA_DATAWIDTH_10 0x100
31 #define MX3_CAMERA_DATAWIDTH_15 0x200
32
33 #define MX3_CAMERA_DATAWIDTH_MASK (MX3_CAMERA_DATAWIDTH_4 | MX3_CAMERA_DATAWIDTH_8 | \
34                                    MX3_CAMERA_DATAWIDTH_10 | MX3_CAMERA_DATAWIDTH_15)
35
36 struct v4l2_async_subdev;
37
38 /**
39  * struct mx3_camera_pdata - i.MX3x camera platform data
40  * @flags:      MX3_CAMERA_* flags
41  * @mclk_10khz: master clock frequency in 10kHz units
42  * @dma_dev:    IPU DMA device to match against in channel allocation
43  */
44 struct mx3_camera_pdata {
45         unsigned long flags;
46         unsigned long mclk_10khz;
47         struct device *dma_dev;
48         struct v4l2_async_subdev **asd; /* Flat array, arranged in groups */
49         int *asd_sizes;                 /* 0-terminated array of asd group sizes */
50 };
51
52 #endif