V4L/DVB: V4L2: soc-camera: add a MIPI CSI-2 driver for SH-Mobile platforms
[linux-2.6.git] / include / media / sh_mobile_csi2.h
1 /*
2  * Driver header for the SH-Mobile MIPI CSI-2 unit
3  *
4  * Copyright (C) 2010, Guennadi Liakhovetski <g.liakhovetski@gmx.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 version 2 as
8  * published by the Free Software Foundation.
9  */
10
11 #ifndef SH_MIPI_CSI
12 #define SH_MIPI_CSI
13
14 enum sh_csi2_phy {
15         SH_CSI2_PHY_MAIN,
16         SH_CSI2_PHY_SUB,
17 };
18
19 enum sh_csi2_type {
20         SH_CSI2C,
21         SH_CSI2I,
22 };
23
24 #define SH_CSI2_CRC     (1 << 0)
25 #define SH_CSI2_ECC     (1 << 1)
26
27 struct platform_device;
28
29 struct sh_csi2_client_config {
30         enum sh_csi2_phy phy;
31         unsigned char lanes;            /* bitmask[3:0] */
32         unsigned char channel;          /* 0..3 */
33         struct platform_device *pdev;   /* client platform device */
34 };
35
36 struct sh_csi2_pdata {
37         enum sh_csi2_type type;
38         unsigned int flags;
39         struct sh_csi2_client_config *clients;
40         int num_clients;
41 };
42
43 struct device;
44 struct v4l2_device;
45
46 #endif