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