46 lines
		
	
	
	
		
			1.3 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			46 lines
		
	
	
	
		
			1.3 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * s3c24xx/s3c64xx SoC series Camera Interface (CAMIF) driver
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Copyright (C) 2012 Sylwester Nawrocki <sylvester.nawrocki@gmail.com>
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * 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 MEDIA_S3C_CAMIF_
							 | 
						||
| 
								 | 
							
								#define MEDIA_S3C_CAMIF_
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#include <linux/i2c.h>
							 | 
						||
| 
								 | 
							
								#include <media/v4l2-mediabus.h>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * struct s3c_camif_sensor_info - an image sensor description
							 | 
						||
| 
								 | 
							
								 * @i2c_board_info: pointer to an I2C sensor subdevice board info
							 | 
						||
| 
								 | 
							
								 * @clock_frequency: frequency of the clock the host provides to a sensor
							 | 
						||
| 
								 | 
							
								 * @mbus_type: media bus type
							 | 
						||
| 
								 | 
							
								 * @i2c_bus_num: i2c control bus id the sensor is attached to
							 | 
						||
| 
								 | 
							
								 * @flags: the parallel bus flags defining signals polarity (V4L2_MBUS_*)
							 | 
						||
| 
								 | 
							
								 * @use_field: 1 if parallel bus FIELD signal is used (only s3c64xx)
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								struct s3c_camif_sensor_info {
							 | 
						||
| 
								 | 
							
									struct i2c_board_info i2c_board_info;
							 | 
						||
| 
								 | 
							
									unsigned long clock_frequency;
							 | 
						||
| 
								 | 
							
									enum v4l2_mbus_type mbus_type;
							 | 
						||
| 
								 | 
							
									u16 i2c_bus_num;
							 | 
						||
| 
								 | 
							
									u16 flags;
							 | 
						||
| 
								 | 
							
									u8 use_field;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								struct s3c_camif_plat_data {
							 | 
						||
| 
								 | 
							
									struct s3c_camif_sensor_info sensor;
							 | 
						||
| 
								 | 
							
									int (*gpio_get)(void);
							 | 
						||
| 
								 | 
							
									int (*gpio_put)(void);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* Platform default helper functions */
							 | 
						||
| 
								 | 
							
								int s3c_camif_gpio_get(void);
							 | 
						||
| 
								 | 
							
								int s3c_camif_gpio_put(void);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#endif /* MEDIA_S3C_CAMIF_ */
							 |