Пример #1
0
static int prox_power_set(unsigned char onoff)
{

/* LGE_CHANGE_S: E0 [email protected] [2011-10-17] : for new bl */
#if defined(CONFIG_BACKLIGHT_AAT2870)
	if(onoff == 1) {
		aat28xx_ldo_set_level(NULL,1,1800);
		aat28xx_ldo_enable(NULL,1,1);
	} else {
		aat28xx_ldo_enable(NULL,1,0);
	}
#elif defined(CONFIG_BACKLIGHT_BU61800)
   if(onoff == 1) {
		bu61800_ldo_enable(NULL,1,1);
	} else {
		bu61800_ldo_enable(NULL,1,0);
	}
#else
	//default
#endif
/* LGE_CHANGE_E: E0 [email protected] [2011-10-17] : for new bl */

	printk("[Proximity] %s() : Power %s\n",__FUNCTION__, onoff ? "On" : "Off");

	return 0;
}
Пример #2
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;
}
Пример #3
0
static void msm_camera_vreg_config(int vreg_en)
{
	int rc;
	static int gpio_initialzed;

	if (!gpio_initialzed) {
		rc = gpio_request(GPIO_CAM_PWDN, "hi351_pwdn");
		if (rc < 0) {
			pr_err("%s: gpio_request(GPIO_CAM_PWDN) failed\n", __func__);
		}
		
		rc = gpio_request(GPIO_CAM_RESET, "hi351_reset");
		if (rc < 0) {
			pr_err("%s: gpio_request(GPIO_CAM_RESET) failed\n", __func__);
		}
		
		rc = gpio_direction_output(GPIO_CAM_PWDN, 0);
		if (rc < 0) {
			pr_err("%s: gpio_direction_output(GPIO_CAM_PWDN, 0) failed(1)\n", __func__);
		}

		rc = gpio_direction_output(GPIO_CAM_RESET, 0);
		if (rc < 0) {
			pr_err("%s: gpio_direction_output(GPIO_CAM_RESET, 0) failed(2)\n", __func__);
		}
		gpio_initialzed = 1;
	}
	
#if defined(CONFIG_BACKLIGHT_AAT2870)
	if (vreg_en) {
		pr_err("%s: msm_camera_vreg_config power on vreg_en enable\n", __func__);

		//IOVDD: 1.8V START
		rc = aat28xx_ldo_set_level(NULL, 4, 1800);
		if (rc < 0) {
			pr_err("%s: aat28xx_ldo_set_level(ldo4) failed\n", __func__);
		}
		rc = aat28xx_ldo_enable(NULL, 4, vreg_en);
		if (rc < 0) {
			pr_err("%s: aat28xx_ldo_enable(ldo4) failed\n", __func__);
		}
		//IOVDD: 1.8V END

		//AVDD: 2.8V START
		rc = aat28xx_ldo_set_level(NULL, 2, 2800);
		if (rc < 0) {
			pr_err("%s: aat28xx_ldo_set_level(ldo2) failed\n", __func__);
		}
		rc = aat28xx_ldo_enable(NULL, 2, vreg_en);
		if (rc < 0) {
			pr_err("%s: aat28xx_ldo_enable(ldo2) failed\n", __func__);
		}
		//AVDD: 2.8V END

		//DVDD: 1.2V START
		rc = aat28xx_ldo_set_level(NULL, 3, 1200); //DVDD: 1.2V E0
		if (rc < 0) {
			pr_err("%s: aat28xx_ldo_set_level(ldo3) failed\n", __func__);
		}
		rc = aat28xx_ldo_enable(NULL, 3, vreg_en);
		if (rc < 0) {
			pr_err("%s: aat28xx_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 = aat28xx_ldo_enable(NULL, 3, 0);
		if (rc < 0) {
			pr_err("%s: aat28xx_ldo_enable(ldo3) OFF failed\n", __func__);
		}

		rc = aat28xx_ldo_enable(NULL, 2, 0);
		if (rc < 0) {
			pr_err("%s: aat28xx_ldo_enable(ldo2) OFF failed\n", __func__);
		}

		rc = aat28xx_ldo_enable(NULL, 4, 0);
		if (rc < 0) {
			pr_err("%s: aat28xx_ldo_enable(ldo4) OFF failed\n", __func__);
		}
		pr_err("%s: msm_camera_vreg_config power on vreg_en disable end\n", __func__);

	}
#elif defined(CONFIG_BACKLIGHT_BU61800)
	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: aat28xx_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: aat28xx_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: aat28xx_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: aat28xx_ldo_enable(ldo3) OFF failed\n", __func__);
		}

		rc = bu61800_ldo_enable(NULL,2,vreg_en);
		if (rc < 0) {
			pr_err("%s: aat28xx_ldo_enable(ldo2) OFF failed\n", __func__);
		}

		rc = bu61800_ldo_enable(NULL,4,vreg_en);
		if (rc < 0) {
			pr_err("%s: aat28xx_ldo_enable(ldo4) OFF failed\n", __func__);
		}
		pr_err("%s: msm_camera_vreg_config power on vreg_en disable end\n", __func__);

	}
#else
	//default
#endif
	return;
}
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;
}