/* * 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