ret = gpio_request(camera_power, "camera power");\r
if (ret) {\r
if (i == 0) {\r
+ printk("\n%s..%s..power pin(%d) init failed\n",__FUNCTION__,rk29_camera_platform_data.gpio_res[i].dev_name,camera_power);\r
goto sensor_io_int_loop_end;\r
} else {\r
- if (camera_power != rk29_camera_platform_data.gpio_res[0].gpio_power)\r
+ if (camera_power != rk29_camera_platform_data.gpio_res[0].gpio_power) {\r
+ printk("\n%s..%s..power pin(%d) init failed\n",__FUNCTION__,rk29_camera_platform_data.gpio_res[i].dev_name,camera_power);\r
goto sensor_io_int_loop_end;\r
+ }\r
}\r
}\r
\r
\r
if (camera_reset != INVALID_GPIO) {\r
ret = gpio_request(camera_reset, "camera reset");\r
- if (ret)\r
- goto sensor_io_int_loop_end;\r
+ if (ret) {\r
+ printk("\n%s..%s..reset pin(%d) init failed\n",__FUNCTION__,rk29_camera_platform_data.gpio_res[i].dev_name,camera_reset);\r
+ goto sensor_io_int_loop_end;\r
+ }\r
rk29_camera_platform_data.gpio_res[i].gpio_init |= RK29_CAM_RESETACTIVE_MASK;\r
gpio_set_value(camera_reset, ((camera_ioflag&RK29_CAM_RESETACTIVE_MASK)>>RK29_CAM_RESETACTIVE_BITPOS));\r
gpio_direction_output(camera_reset, ((camera_ioflag&RK29_CAM_RESETACTIVE_MASK)>>RK29_CAM_RESETACTIVE_BITPOS));\r
\r
if (camera_powerdown != INVALID_GPIO) {\r
ret = gpio_request(camera_powerdown, "camera powerdown");\r
- if (ret)\r
- goto sensor_io_int_loop_end;\r
+ if (ret) {\r
+ printk("\n%s..%s..powerdown pin(%d) init failed\n",__FUNCTION__,rk29_camera_platform_data.gpio_res[i].dev_name,camera_powerdown);\r
+ goto sensor_io_int_loop_end;\r
+ }\r
rk29_camera_platform_data.gpio_res[i].gpio_init |= RK29_CAM_POWERDNACTIVE_MASK;\r
gpio_set_value(camera_powerdown, ((camera_ioflag&RK29_CAM_POWERDNACTIVE_MASK)>>RK29_CAM_POWERDNACTIVE_BITPOS));\r
gpio_direction_output(camera_powerdown, ((camera_ioflag&RK29_CAM_POWERDNACTIVE_MASK)>>RK29_CAM_POWERDNACTIVE_BITPOS));\r
\r
if (camera_flash != INVALID_GPIO) {\r
ret = gpio_request(camera_flash, "camera flash");\r
- if (ret)\r
+ if (ret) {\r
+ printk("\n%s..%s..flash pin(%d) init failed\n",__FUNCTION__,rk29_camera_platform_data.gpio_res[i].dev_name,camera_flash);\r
goto sensor_io_int_loop_end;\r
+ }\r
rk29_camera_platform_data.gpio_res[i].gpio_init |= RK29_CAM_FLASHACTIVE_MASK;\r
gpio_set_value(camera_flash, ((~camera_ioflag&RK29_CAM_FLASHACTIVE_MASK)>>RK29_CAM_FLASHACTIVE_BITPOS)); /* falsh off */\r
gpio_direction_output(camera_flash, ((~camera_ioflag&RK29_CAM_FLASHACTIVE_MASK)>>RK29_CAM_FLASHACTIVE_BITPOS));\r
camera_powerdown = rk29_camera_platform_data.gpio_res[sensor].gpio_powerdown;\r
camera_flash = rk29_camera_platform_data.gpio_res[sensor].gpio_flash;\r
\r
+ printk("\n%s..%s enter..",__FUNCTION__,rk29_camera_platform_data.gpio_res[sensor].dev_name);\r
+\r
if (rk29_camera_platform_data.gpio_res[sensor].gpio_init & RK29_CAM_POWERACTIVE_MASK) {\r
if (camera_power != INVALID_GPIO) {\r
gpio_direction_input(camera_power);\r
rk29_sensor_ioctrl(dev,Cam_Power,on);\r
return 0;\r
}\r
-#if 0\r
+#if (CONFIG_SENSOR_RESET_PIN_0 != INVALID_GPIO) || (CONFIG_SENSOR_RESET_PIN_1 != INVALID_GPIO)\r
static int rk29_sensor_reset(struct device *dev)\r
{\r
rk29_sensor_ioctrl(dev,Cam_Reset,1);\r
static struct soc_camera_link rk29_iclink_0 = {\r
.bus_id = RK29_CAM_PLATFORM_DEV_ID,\r
.power = rk29_sensor_power,\r
+#if (CONFIG_SENSOR_RESET_PIN_0 != INVALID_GPIO)\r
+ .reset = rk29_sensor_reset,\r
+#endif \r
.powerdown = rk29_sensor_powerdown,\r
.board_info = &rk29_i2c_cam_info_0[0],\r
.i2c_adapter_id = CONFIG_SENSOR_IIC_ADAPTER_ID_0,\r
static struct soc_camera_link rk29_iclink_1 = {\r
.bus_id = RK29_CAM_PLATFORM_DEV_ID,\r
.power = rk29_sensor_power,\r
+#if (CONFIG_SENSOR_RESET_PIN_1 != INVALID_GPIO)\r
+ .reset = rk29_sensor_reset,\r
+#endif \r
.powerdown = rk29_sensor_powerdown,\r
.board_info = &rk29_i2c_cam_info_1[0],\r
.i2c_adapter_id = CONFIG_SENSOR_IIC_ADAPTER_ID_1,\r