Linux 3.16-rc2
[linux/fpc-iii.git] / include / media / sh_mobile_csi2.h
blob14030db51f131ab845277c3c1b879affbb67e9ff
1 /*
2 * Driver header for the SH-Mobile MIPI CSI-2 unit
4 * Copyright (C) 2010, Guennadi Liakhovetski <g.liakhovetski@gmx.de>
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 */
11 #ifndef SH_MIPI_CSI
12 #define SH_MIPI_CSI
14 #include <linux/list.h>
16 enum sh_csi2_phy {
17 SH_CSI2_PHY_MAIN,
18 SH_CSI2_PHY_SUB,
21 enum sh_csi2_type {
22 SH_CSI2C,
23 SH_CSI2I,
26 #define SH_CSI2_CRC (1 << 0)
27 #define SH_CSI2_ECC (1 << 1)
29 struct platform_device;
31 struct sh_csi2_client_config {
32 enum sh_csi2_phy phy;
33 unsigned char lanes; /* bitmask[3:0] */
34 unsigned char channel; /* 0..3 */
35 struct platform_device *pdev; /* client platform device */
36 const char *name; /* async matching: client name */
39 struct v4l2_device;
41 struct sh_csi2_pdata {
42 enum sh_csi2_type type;
43 unsigned int flags;
44 struct sh_csi2_client_config *clients;
45 int num_clients;
48 #endif