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 #include <linux/list.h> 15 16 enum sh_csi2_phy { 17 SH_CSI2_PHY_MAIN, 18 SH_CSI2_PHY_SUB, 19 }; 20 21 enum sh_csi2_type { 22 SH_CSI2C, 23 SH_CSI2I, 24 }; 25 26 #define SH_CSI2_CRC (1 << 0) 27 #define SH_CSI2_ECC (1 << 1) 28 29 struct platform_device; 30 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 }; 37 38 struct v4l2_device; 39 40 struct sh_csi2_pdata { 41 enum sh_csi2_type type; 42 unsigned int flags; 43 struct sh_csi2_client_config *clients; 44 int num_clients; 45 struct v4l2_device *v4l2_dev; 46 }; 47 48 #endif 49