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