1 
   2 
   3 
   4 
   5 
   6 
   7 
   8 
   9 
  10 #ifndef FIMC_IS_SENSOR_H_
  11 #define FIMC_IS_SENSOR_H_
  12 
  13 #include <linux/of.h>
  14 #include <linux/types.h>
  15 
  16 #define S5K6A3_OPEN_TIMEOUT             2000 
  17 #define S5K6A3_SENSOR_WIDTH             1392
  18 #define S5K6A3_SENSOR_HEIGHT            1392
  19 
  20 enum fimc_is_sensor_id {
  21         FIMC_IS_SENSOR_ID_S5K3H2 = 1,
  22         FIMC_IS_SENSOR_ID_S5K6A3,
  23         FIMC_IS_SENSOR_ID_S5K4E5,
  24         FIMC_IS_SENSOR_ID_S5K3H7,
  25         FIMC_IS_SENSOR_ID_CUSTOM,
  26         FIMC_IS_SENSOR_ID_END
  27 };
  28 
  29 #define IS_SENSOR_CTRL_BUS_I2C0         0
  30 #define IS_SENSOR_CTRL_BUS_I2C1         1
  31 
  32 struct sensor_drv_data {
  33         enum fimc_is_sensor_id id;
  34         
  35         unsigned short open_timeout;
  36 };
  37 
  38 
  39 
  40 
  41 
  42 
  43 
  44 struct fimc_is_sensor {
  45         const struct sensor_drv_data *drvdata;
  46         unsigned int i2c_bus;
  47         u8 test_pattern;
  48 };
  49 
  50 const struct sensor_drv_data *fimc_is_sensor_get_drvdata(
  51                                 struct device_node *node);
  52 
  53 #endif