/* proximity */ static int prox_power_set(unsigned char onoff) { #if defined (CONFIG_SENSOR_APDS9190) if(onoff == 1) { rt9396_ldo_enable(NULL,1,1); printk(KERN_INFO "%s,***********Proximity probe enter when power on*****\n",__func__); } else { rt9396_ldo_enable(NULL,1,0); printk(KERN_INFO "%s,***********Proximity probe enter when power on*****\n",__func__); } #endif return 0; }
static int msm_camera_vreg_config(int vreg_en) { int rc = 0; #if defined (CONFIG_SENSOR_APDS9190) if (vreg_en) { pr_err("%s: msm_camera_vreg_config power on vreg_en enable\n", __func__); //IOVDD: 1.8V START rc = rt9396_ldo_enable(NULL,4,vreg_en); if (rc < 0) { pr_err("%s: rt9396_ldo_enable(ldo4) failed\n", __func__); } //IOVDD: 1.8V END //AVDD: 2.8V START rc = rt9396_ldo_enable(NULL,2,vreg_en); if (rc < 0) { pr_err("%s: rt9396_ldo_enable(ldo2) failed\n", __func__); } //AVDD: 2.8V END //DVDD: 1.2V START rc = rt9396_ldo_enable(NULL,3,vreg_en); if (rc < 0) { pr_err("%s: rt9396_ldo_enable(ldo3) failed\n", __func__); } //DVDD: 1.2V END } else { pr_err("%s: msm_camera_vreg_config power on vreg_en disable start\n", __func__); rc = rt9396_ldo_enable(NULL,3,vreg_en); if (rc < 0) { pr_err("%s: rt9396_ldo_enable(ldo3) OFF failed\n", __func__); } rc = rt9396_ldo_enable(NULL,2,vreg_en); if (rc < 0) { pr_err("%s: rt9396_ldo_enable(ldo2) OFF failed\n", __func__); } rc = rt9396_ldo_enable(NULL,4,vreg_en); if (rc < 0) { pr_err("%s: rt9396_ldo_enable(ldo4) OFF failed\n", __func__); } pr_err("%s: msm_camera_vreg_config power on vreg_en disable end\n", __func__); } #else if (vreg_en) { pr_err("%s: msm_camera_vreg_config power on vreg_en enable\n", __func__); //IOVDD: 1.8V START rc = bu61800_ldo_enable(NULL,4,vreg_en); if (rc < 0) { pr_err("%s: bu61800_ldo_enable(ldo4) failed\n", __func__); } //IOVDD: 1.8V END //AVDD: 2.8V START rc = bu61800_ldo_enable(NULL,2,vreg_en); if (rc < 0) { pr_err("%s: bu61800_ldo_enable(ldo2) failed\n", __func__); } //AVDD: 2.8V END //DVDD: 1.2V START rc = bu61800_ldo_enable(NULL,3,vreg_en); if (rc < 0) { pr_err("%s: bu61800_ldo_enable(ldo3) failed\n", __func__); } //DVDD: 1.2V END } else { pr_err("%s: msm_camera_vreg_config power on vreg_en disable start\n", __func__); rc = bu61800_ldo_enable(NULL,3,vreg_en); if (rc < 0) { pr_err("%s: bu61800_ldo_enable(ldo3) OFF failed\n", __func__); } rc = bu61800_ldo_enable(NULL,2,vreg_en); if (rc < 0) { pr_err("%s: bu61800_ldo_enable(ldo2) OFF failed\n", __func__); } rc = bu61800_ldo_enable(NULL,4,vreg_en); if (rc < 0) { pr_err("%s: bu61800_ldo_enable(ldo4) OFF failed\n", __func__); } pr_err("%s: msm_camera_vreg_config power on vreg_en disable end\n", __func__); } //default #endif return rc; }
static int msm_camera_vreg_config(int vreg_en) { int rc = 0; /* */ #ifdef CONFIG_MACH_MSM7X25A_V1 if( vreg_en ) { pr_info("%s: msm_camera_vreg_config power on.\n", __func__); /* CAM_IOVDD */ rc = lge_rt8966a_ldo_control( 4, vreg_en ); if( rc != 0 ) pr_err("%s: CAM_IOVDD on failed.\n", __func__); /* CAM_AVDD */ rc = lge_rt8966a_ldo_control( 2, vreg_en ); if( rc != 0 ) pr_err("%s: CAM_AVDD on failed.\n", __func__); /* CAM_DVDD */ rc = lge_rt8966a_ldo_control( 3, vreg_en ); if( rc != 0 ) pr_err("%s: CAM_DVDD on failed.\n", __func__); pr_err("%s: msm_camera_vreg_config power on ok.\n", __func__); } else { pr_info("%s: msm_camera_vreg_config power off.\n", __func__); /* CAM_DVDD */ rc = lge_rt8966a_ldo_control( 3, vreg_en ); if( rc != 0 ) pr_err("%s: CAM_DVDD off failed.\n", __func__); /* CAM_AVDD */ rc = lge_rt8966a_ldo_control( 2, vreg_en ); if( rc != 0 ) pr_err("%s: CAM_AVDD off failed.\n", __func__); /* CAM_IOVDD */ rc = lge_rt8966a_ldo_control( 4, vreg_en ); if( rc != 0 ) pr_err("%s: CAM_IOVDD off failed.\n", __func__); pr_err("%s: msm_camera_vreg_config power off ok.\n", __func__); } #else /* !CONFIG_MACH_MSM7X25A_V1 */ #if defined (CONFIG_SENSOR_APDS9190) if (vreg_en) { pr_err("%s: msm_camera_vreg_config power on vreg_en enable\n", __func__); //IOVDD: 1.8V START rc = rt9396_ldo_enable(NULL,4,vreg_en); if (rc < 0) { pr_err("%s: rt9396_ldo_enable(ldo4) failed\n", __func__); } //IOVDD: 1.8V END //AVDD: 2.8V START rc = rt9396_ldo_enable(NULL,2,vreg_en); if (rc < 0) { pr_err("%s: rt9396_ldo_enable(ldo2) failed\n", __func__); } //AVDD: 2.8V END //DVDD: 1.2V START rc = rt9396_ldo_enable(NULL,3,vreg_en); if (rc < 0) { pr_err("%s: rt9396_ldo_enable(ldo3) failed\n", __func__); } //DVDD: 1.2V END } else { pr_err("%s: msm_camera_vreg_config power on vreg_en disable start\n", __func__); rc = rt9396_ldo_enable(NULL,3,vreg_en); if (rc < 0) { pr_err("%s: rt9396_ldo_enable(ldo3) OFF failed\n", __func__); } rc = rt9396_ldo_enable(NULL,2,vreg_en); if (rc < 0) { pr_err("%s: rt9396_ldo_enable(ldo2) OFF failed\n", __func__); } rc = rt9396_ldo_enable(NULL,4,vreg_en); if (rc < 0) { pr_err("%s: rt9396_ldo_enable(ldo4) OFF failed\n", __func__); } pr_err("%s: msm_camera_vreg_config power on vreg_en disable end\n", __func__); } #else if (vreg_en) { pr_err("%s: msm_camera_vreg_config power on vreg_en enable\n", __func__); //IOVDD: 1.8V START rc = bu61800_ldo_enable(NULL,4,vreg_en); if (rc < 0) { pr_err("%s: bu61800_ldo_enable(ldo4) failed\n", __func__); } //IOVDD: 1.8V END //AVDD: 2.8V START rc = bu61800_ldo_enable(NULL,2,vreg_en); if (rc < 0) { pr_err("%s: bu61800_ldo_enable(ldo2) failed\n", __func__); } //AVDD: 2.8V END //DVDD: 1.2V START rc = bu61800_ldo_enable(NULL,3,vreg_en); if (rc < 0) { pr_err("%s: bu61800_ldo_enable(ldo3) failed\n", __func__); } //DVDD: 1.2V END } else { pr_err("%s: msm_camera_vreg_config power on vreg_en disable start\n", __func__); rc = bu61800_ldo_enable(NULL,3,vreg_en); if (rc < 0) { pr_err("%s: bu61800_ldo_enable(ldo3) OFF failed\n", __func__); } rc = bu61800_ldo_enable(NULL,2,vreg_en); if (rc < 0) { pr_err("%s: bu61800_ldo_enable(ldo2) OFF failed\n", __func__); } rc = bu61800_ldo_enable(NULL,4,vreg_en); if (rc < 0) { pr_err("%s: bu61800_ldo_enable(ldo4) OFF failed\n", __func__); } pr_err("%s: msm_camera_vreg_config power on vreg_en disable end\n", __func__); } #endif #endif /* CONFIG_MACH_MSM7X25A_V1 */ /* */ return rc; }