Sylwester Nawrocki | babde1c | 2012-08-22 20:09:18 -0300 | [diff] [blame] | 1 | /* |
| 2 | * s3c24xx/s3c64xx SoC series Camera Interface (CAMIF) driver |
| 3 | * |
| 4 | * Copyright (C) 2012 Sylwester Nawrocki <sylvester.nawrocki@gmail.com> |
| 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 MEDIA_S3C_CAMIF_ |
| 12 | #define MEDIA_S3C_CAMIF_ |
| 13 | |
| 14 | #include <linux/i2c.h> |
| 15 | #include <media/v4l2-mediabus.h> |
| 16 | |
| 17 | /** |
| 18 | * struct s3c_camif_sensor_info - an image sensor description |
| 19 | * @i2c_board_info: pointer to an I2C sensor subdevice board info |
| 20 | * @clock_frequency: frequency of the clock the host provides to a sensor |
| 21 | * @mbus_type: media bus type |
| 22 | * @i2c_bus_num: i2c control bus id the sensor is attached to |
| 23 | * @flags: the parallel bus flags defining signals polarity (V4L2_MBUS_*) |
| 24 | * @use_field: 1 if parallel bus FIELD signal is used (only s3c64xx) |
| 25 | */ |
| 26 | struct s3c_camif_sensor_info { |
| 27 | struct i2c_board_info i2c_board_info; |
| 28 | unsigned long clock_frequency; |
| 29 | enum v4l2_mbus_type mbus_type; |
| 30 | u16 i2c_bus_num; |
| 31 | u16 flags; |
| 32 | u8 use_field; |
| 33 | }; |
| 34 | |
| 35 | struct s3c_camif_plat_data { |
| 36 | struct s3c_camif_sensor_info sensor; |
| 37 | int (*gpio_get)(void); |
| 38 | int (*gpio_put)(void); |
| 39 | }; |
| 40 | |
| 41 | /* Platform default helper functions */ |
| 42 | int s3c_camif_gpio_get(void); |
| 43 | int s3c_camif_gpio_put(void); |
| 44 | |
| 45 | #endif /* MEDIA_S3C_CAMIF_ */ |