void __init msm7627a_camera_init(void) { int rc; #ifndef CONFIG_MSM_CAMERA_V4L2 if (machine_is_msm7627a_qrd1()) { qrd1_camera_gpio_cfg(); platform_add_devices(camera_devices_qrd, ARRAY_SIZE(camera_devices_qrd)); } else platform_add_devices(camera_devices_msm, ARRAY_SIZE(camera_devices_msm)); #endif if (!machine_is_msm7627a_qrd1()) register_i2c_devices(); rc = regulator_bulk_get(NULL, ARRAY_SIZE(regs_camera), regs_camera); if (rc) { pr_err("%s: could not get regulators: %d\n", __func__, rc); return; } rc = regulator_bulk_set_voltage(ARRAY_SIZE(regs_camera), regs_camera); if (rc) { pr_err("%s: could not set voltages: %d\n", __func__, rc); return; } #if defined(CONFIG_MSM_CAMERA_V4L2) msm7x27a_init_cam(); #endif #ifndef CONFIG_MSM_CAMERA_V4L2 if (machine_is_msm7627a_qrd1()) i2c_register_board_info(MSM_GSBI0_QUP_I2C_BUS_ID, i2c_camera_devices_qrd, ARRAY_SIZE(i2c_camera_devices_qrd)); else #endif i2c_register_board_info(MSM_GSBI0_QUP_I2C_BUS_ID, i2c_camera_devices, ARRAY_SIZE(i2c_camera_devices)); }
void __init msm7627a_camera_init(void) { int rc; /* <DTS2012041003722 sibingsong 20120410 begin */ /*< DTS2012021000399 yuguangcai 20120211 begin */ #ifdef CONFIG_HUAWEI_CAMERA /*before camera probe, config the camera pwd gpio*/ camera_sensor_pwd_config(); #endif /* DTS2012021000399 yuguangcai 20120211 end > */ /* DTS2012041003722 sibingsong 20120410 end> */ #ifndef CONFIG_MSM_CAMERA_V4L2 if (machine_is_msm7627a_qrd1()) { qrd1_camera_gpio_cfg(); platform_add_devices(camera_devices_qrd, ARRAY_SIZE(camera_devices_qrd)); } else platform_add_devices(camera_devices_msm, ARRAY_SIZE(camera_devices_msm)); #endif if (!machine_is_msm7627a_qrd1()) register_i2c_devices(); /* < DTS2012050205820 zhouqiwei 20120502 begin */ if (WIFI_QUALCOMM == get_hw_wifi_device_type()) { if (HW_DS != get_hw_ds_type()) { rc = regulator_bulk_get(NULL, ARRAY_SIZE(regs_camera_WIFI_QUALCOMM), regs_camera_WIFI_QUALCOMM); if (rc) { pr_err("%s: could not get regs_camera_WIFI_QUALCOMM: %d\n", __func__, rc); return; } rc = regulator_bulk_set_voltage(ARRAY_SIZE(regs_camera_WIFI_QUALCOMM), regs_camera_WIFI_QUALCOMM); if (rc) { pr_err("%s: could not set regs_camera_WIFI_QUALCOMM: %d\n", __func__, rc); return; } } else { rc = regulator_bulk_get(NULL, ARRAY_SIZE(regs_camera_HW_DS), regs_camera_HW_DS); if (rc) { pr_err("%s: could not get regs_camera_HW_DSs: %d\n", __func__, rc); return; } rc = regulator_bulk_set_voltage(ARRAY_SIZE(regs_camera_HW_DS), regs_camera_HW_DS); if (rc) { pr_err("%s: could not set regs_camera_HW_DS: %d\n", __func__, rc); return; } } } else { rc = regulator_bulk_get(NULL, ARRAY_SIZE(regs_camera), regs_camera); if (rc) { pr_err("%s: could not get regulators: %d\n", __func__, rc); return; } rc = regulator_bulk_set_voltage(ARRAY_SIZE(regs_camera), regs_camera); if (rc) { pr_err("%s: could not set voltages: %d\n", __func__, rc); return; } } /* DTS2012050205820 zhouqiwei 20120502 end > */ #if defined(CONFIG_MSM_CAMERA_V4L2) msm7x27a_init_cam(); #endif #ifndef CONFIG_MSM_CAMERA_V4L2 if (machine_is_msm7627a_qrd1()) i2c_register_board_info(MSM_GSBI0_QUP_I2C_BUS_ID, i2c_camera_devices_qrd, ARRAY_SIZE(i2c_camera_devices_qrd)); else #endif i2c_register_board_info(MSM_GSBI0_QUP_I2C_BUS_ID, i2c_camera_devices, ARRAY_SIZE(i2c_camera_devices)); }
void __init msm7627a_camera_init(void) { #ifndef CONFIG_MSM_CAMERA_V4L2 int rc; #endif pr_debug("msm7627a_camera_init Entered\n"); if (machine_is_msm7627a_qrd3() || machine_is_msm8625_qrd7()) { ov7692_cam_req_gpio[0].gpio = GPIO_SKU7_CAM_VGA_SHDN; ov7692_cam_gpio_set_tbl[0].gpio = GPIO_SKU7_CAM_VGA_SHDN; ov7692_cam_gpio_set_tbl[1].gpio = GPIO_SKU7_CAM_VGA_SHDN; msm_camera_sensor_ov5647_data.sensor_pwd = GPIO_SKU7_CAM_5MP_SHDN_N; msm_camera_sensor_ov5647_data.sensor_reset = GPIO_SKU7_CAM_5MP_CAMIF_RESET; } /* LCD and camera power (VREG & LDO) init */ if (machine_is_msm7627a_evb() || machine_is_msm8625_evb() || machine_is_msm8625_evt() || machine_is_msm7627a_qrd3() || machine_is_msm8625_qrd7()) { #ifndef CONFIG_MSM_CAMERA_V4L2 lcd_camera_power_init(); #endif evb_camera_gpio_cfg(); } #ifndef CONFIG_MSM_CAMERA_V4L2 if (machine_is_msm7627a_qrd1()) { qrd1_camera_gpio_cfg(); platform_add_devices(camera_devices_qrd, ARRAY_SIZE(camera_devices_qrd)); } else if (machine_is_msm7627a_evb() || machine_is_msm8625_evb() || machine_is_msm8625_evt() || machine_is_msm7627a_qrd3() || machine_is_msm8625_qrd7()) { platform_add_devices(camera_devices_evb, ARRAY_SIZE(camera_devices_evb)); } else if (machine_is_msm7627a_qrd3()) return; else platform_add_devices(camera_devices_msm, ARRAY_SIZE(camera_devices_msm)); #endif if (!machine_is_msm7627a_qrd1() || !machine_is_msm7627a_evb() || !machine_is_msm8625_evb() || !machine_is_msm8625_evt() || !machine_is_msm7627a_qrd3() || !machine_is_msm8625_qrd7()) register_i2c_devices(); #ifndef CONFIG_MSM_CAMERA_V4L2 rc = regulator_bulk_get(NULL, ARRAY_SIZE(regs_camera), regs_camera); if (rc) { pr_err("%s: could not get regulators: %d\n", __func__, rc); return; } rc = regulator_bulk_set_voltage(ARRAY_SIZE(regs_camera), regs_camera); if (rc) { pr_err("%s: could not set voltages: %d\n", __func__, rc); return; } #endif #if defined(CONFIG_MSM_CAMERA_V4L2) msm7x27a_init_cam(); #endif #ifndef CONFIG_MSM_CAMERA_V4L2 if (machine_is_msm7627a_qrd1()) { i2c_register_board_info(MSM_GSBI0_QUP_I2C_BUS_ID, i2c_camera_devices_qrd, ARRAY_SIZE(i2c_camera_devices_qrd)); } else if (machine_is_msm7627a_evb() || machine_is_msm8625_evb() || machine_is_msm8625_evt() || machine_is_msm7627a_qrd3() || machine_is_msm8625_qrd7()) { pr_debug("machine_is_msm7627a_evb i2c_register_board_info\n"); i2c_register_board_info(MSM_GSBI0_QUP_I2C_BUS_ID, i2c_camera_devices_evb, ARRAY_SIZE(i2c_camera_devices_evb)); } else #endif pr_debug("i2c_register_board_info\n"); i2c_register_board_info(MSM_GSBI0_QUP_I2C_BUS_ID, i2c_camera_devices, ARRAY_SIZE(i2c_camera_devices)); }
void __init msm7627a_camera_init(void) { #ifndef CONFIG_MSM_CAMERA_V4L2 int rc; #endif pr_debug("msm7627a_camera_init Entered\n"); /* LCD and camera power (VREG & LDO) init */ if (machine_is_msm7627a_evb() || machine_is_msm8625_evb() || machine_is_msm8625_evt() || machine_is_msm7627a_qrd3() || machine_is_msm8625_qrd7()) { #ifndef CONFIG_MSM_CAMERA_V4L2 lcd_camera_power_init(); #endif evb_camera_gpio_cfg(); } #ifndef CONFIG_MSM_CAMERA_V4L2 if (machine_is_msm7627a_qrd1()) { qrd1_camera_gpio_cfg(); platform_add_devices(camera_devices_qrd, ARRAY_SIZE(camera_devices_qrd)); } else if (machine_is_msm7627a_evb() || machine_is_msm8625_evb() || machine_is_msm8625_evt() || machine_is_msm7627a_qrd3() || machine_is_msm8625_qrd7()) { platform_add_devices(camera_devices_evb, ARRAY_SIZE(camera_devices_evb)); } else if (machine_is_msm7627a_qrd3()) return; else platform_add_devices(camera_devices_msm, ARRAY_SIZE(camera_devices_msm)); #endif #ifndef CONFIG_MSM_CAMERA_V4L2 rc = regulator_bulk_get(NULL, ARRAY_SIZE(regs_camera), regs_camera); if (rc) { pr_err("%s: could not get regulators: %d\n", __func__, rc); return; } rc = regulator_bulk_set_voltage(ARRAY_SIZE(regs_camera), regs_camera); if (rc) { pr_err("%s: could not set voltages: %d\n", __func__, rc); return; } #endif #if defined(CONFIG_MSM_CAMERA_V4L2) msm7x27a_init_cam(); #endif #ifndef CONFIG_MSM_CAMERA_V4L2 if (machine_is_msm7627a_qrd1()) { i2c_register_board_info(MSM_GSBI0_QUP_I2C_BUS_ID, i2c_camera_devices_qrd, ARRAY_SIZE(i2c_camera_devices_qrd)); } else if (machine_is_msm7627a_evb() || machine_is_msm8625_evb() || machine_is_msm8625_evt() || machine_is_msm7627a_qrd3() || machine_is_msm8625_qrd7()) { pr_debug("machine_is_msm7627a_evb i2c_register_board_info\n"); i2c_register_board_info(MSM_GSBI0_QUP_I2C_BUS_ID, i2c_camera_devices_evb, ARRAY_SIZE(i2c_camera_devices_evb)); } else #endif pr_debug("i2c_register_board_info\n"); i2c_register_board_info(MSM_GSBI0_QUP_I2C_BUS_ID, i2c_camera_devices, ARRAY_SIZE(i2c_camera_devices)); }