| /* | |
| * Driver header for the SH-Mobile MIPI CSI-2 unit | |
| * | |
| * Copyright (C) 2010, Guennadi Liakhovetski <g.liakhovetski@gmx.de> | |
| * | |
| * This program is free software; you can redistribute it and/or modify | |
| * it under the terms of the GNU General Public License version 2 as | |
| * published by the Free Software Foundation. | |
| */ | |
| #ifndef SH_MIPI_CSI | |
| #define SH_MIPI_CSI | |
| #include <linux/list.h> | |
| enum sh_csi2_phy { | |
| SH_CSI2_PHY_MAIN, | |
| SH_CSI2_PHY_SUB, | |
| }; | |
| enum sh_csi2_type { | |
| SH_CSI2C, | |
| SH_CSI2I, | |
| }; | |
| #define SH_CSI2_CRC (1 << 0) | |
| #define SH_CSI2_ECC (1 << 1) | |
| struct platform_device; | |
| struct sh_csi2_client_config { | |
| enum sh_csi2_phy phy; | |
| unsigned char lanes; /* bitmask[3:0] */ | |
| unsigned char channel; /* 0..3 */ | |
| struct platform_device *pdev; /* client platform device */ | |
| const char *name; /* async matching: client name */ | |
| }; | |
| struct v4l2_device; | |
| struct sh_csi2_pdata { | |
| enum sh_csi2_type type; | |
| unsigned int flags; | |
| struct sh_csi2_client_config *clients; | |
| int num_clients; | |
| }; | |
| #endif |