| Guennadi Liakhovetski | 077e2c1 | 2010-07-26 11:12:43 -0300 | [diff] [blame] | 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 |