static void lcm_resume(void)
{
#ifdef BUILD_LK 
	printf("[LK/LCM] lcm_resume() enter\n");

	lcm_set_gpio_output(GPIO_LCD_PWR_EN, GPIO_OUT_ZERO);
	MDELAY(50);

	//VGP1 3.3V
	//upmu_set_rg_vgp1_vosel(0x7);
	//upmu_set_rg_vgp1_en(0x1);
	//MDELAY(10);
	
	lcm_set_gpio_output(GPIO_LCD_PWR_EN, GPIO_OUT_ONE);
	MDELAY(50);
	
#else
	pr_debug("[Kernel/LCM] lcm_resume() enter\n");

	lcm_set_gpio_output(GPIO_LCD_PWR_EN, GPIO_OUT_ZERO);
	MDELAY(50);

	//hwPowerOn(MT65XX_POWER_LDO_VGP1, VOL_3300, "LCM");
	//MDELAY(100);

	lcm_set_gpio_output(GPIO_LCD_PWR_EN, GPIO_OUT_ONE);
	MDELAY(50);
	
#endif
}
static void lcm_suspend(void)
{
#ifdef BUILD_LK

	printf("[LK/LCM] lcm_suspend() enter\n");

	lcm_set_gpio_output(GPIO_LCM_RST_EN, 0);
	MDELAY(300);
    //AVDD power off
	lcm_set_gpio_output(GPIO_LCM_PWR_EN, 0);
	MDELAY(2);

	//VDD power off ->VGP3_PMU 1.8V
	upmu_set_rg_vgp3_vosel(0);
	upmu_set_rg_vgp3_en(0);	
	MDELAY(20);
	
#elif (defined BUILD_UBOOT)
#else

	printk("[LCM] lcm_suspend() enter\n");

    lcm_set_gpio_output(GPIO_LCM_RST_EN, 0);
	MDELAY(300);
    //AVDD power off
	lcm_set_gpio_output(GPIO_LCM_PWR_EN, 0);
	MDELAY(2);

	//VDD power off ->VGP3_PMU 1.8V
	hwPowerOn(MT6323_POWER_LDO_VGP3 , VOL_1800 ,"LCM");
	MDELAY(20);
	
#endif	 
}
static void lcm_init(void)
{
#ifdef BUILD_LK

	printf("[LK/LCM] lcm_init() enter \n");

	lcm_set_gpio_output(GPIO_LCM_RST_EN, 0);
	MDELAY(20);

	lcm_set_gpio_output(GPIO_LCM_RST_EN, 1);
	MDELAY(50);

	//VDD power on ->VGP3_PMU 1.8V
	upmu_set_rg_vgp3_vosel(3);
	upmu_set_rg_vgp3_en(0x1);
    MDELAY(20);
	//AVDD power on
	lcm_set_gpio_output(GPIO_LCM_PWR_EN, 1);
	MDELAY(20);
	

#elif (defined BUILD_UBOOT)
#else

	printk("[Kernel/LCM] lcm_init() enter \n");	

#endif	 
}
static void lcm_resume_power(void)
{
#ifdef BUILD_LK 
	printf("[LK/LCM] lcm_resume_power() enter\n");
	lcm_set_gpio_output(GPIO_LCD_PWR_EN, GPIO_OUT_ONE);
	MDELAY(20);
			
#else
	pr_debug("[Kernel/LCM] lcm_resume_power() enter\n");
	lcm_set_gpio_output(GPIO_LCD_PWR_EN, GPIO_OUT_ONE);
	MDELAY(20);
		
#endif

}
static void lcm_init(void)
{
#ifdef BUILD_LK 
	printf("[LK/LCM] lcm_init() enter\n");
	SET_RESET_PIN(1);
	MDELAY(10);
	
	SET_RESET_PIN(0);
	MDELAY(10);
	
	SET_RESET_PIN(1);
	MDELAY(10);
	
	// when phone initial , config output high, enable backlight drv chip  
	push_table(lcm_initialization_setting, sizeof(lcm_initialization_setting) / sizeof(struct LCM_setting_table), 1);	

	lcm_set_gpio_output(GPIO_LCD_BL_EN, GPIO_OUT_ONE);
	MDELAY(10);
	
	printf("[LK/LCM] lcm_init() end\n");
#else

	pr_debug("[Kernel/LCM] lcm_init() enter\n");

#endif
}
static void lcm_init_power(void)
{
#ifdef BUILD_LK 
	printf("[LK/LCM] lcm_init_power() enter\n");
	lcm_set_gpio_output(GPIO_LCD_PWR, GPIO_OUT_ONE);
	MDELAY(20);
	upmu_set_rg_vgp1_vosel(3);
	upmu_set_rg_vgp1_en(0x1);
		
#else
	printk("[Kernel/LCM] lcm_init_power() enter\n");
	lcm_set_gpio_output(GPIO_LCD_PWR, GPIO_OUT_ONE);
	MDELAY(20);
	
#endif

}
static void lcm_suspend(void)
{
#ifdef BUILD_LK
	printf("[LK/LCM]lcm_suspend enter\n");
#else
	unsigned char temp;

	pr_debug("[Kernel/LCM]lcm_suspend enter\n");

	lcm_set_gpio_output(GPIO_LCD_PWR2_EN, GPIO_OUT_ZERO);
	MDELAY(30);		/* avoid LCD resume transint */

	/* step 1 power down lvds lcd */
	lcm_set_gpio_output(GPIO_LCD_BRIDGE_EN, GPIO_OUT_ZERO);
	MDELAY(10);

	/* LCMBIASON :VGH VHL */
	lcm_vgp_supply_enable();
	MDELAY(20);

	lcm_vgp_supply_disable();
	MDELAY(20);

	lcm_set_gpio_output(GPIO_LCD_PWR_EN, GPIO_OUT_ZERO);	/* LCM VCC :enable LCD VCC */
	MDELAY(20);

	lcm_set_gpio_output(GPIO_LCD_STB_EN, GPIO_OUT_ZERO);
	MDELAY(20);

	lcm_set_gpio_output(GPIO_LCD_RST_EN, GPIO_OUT_ZERO);	/* LCM_STBY */
	MDELAY(50);

	/* step 2 suspend sn65dsi8x */
	sn65dsi83_read_byte(0x0a, &temp);	/* for test wether ti lock the pll clok */
	pr_debug("lcm_suspend  0x0a  value=0x%x\n", temp);

	sn65dsi83_read_byte(0x0d, &temp);
	pr_debug("lcm_suspend  0x0d  value=0x%x\n", temp);

	sn65dsi83_write_byte(0x0d, (temp & 0xfe));	/* set bit0: 0 */

	/* step 3 set dsi LP mode */
	DSI_clk_HS_mode(0, NULL, 0);
#endif
}
static void lcm_resume_power(void)
{
#ifdef BUILD_LK 
	printf("[LK/LCM] lcm_resume_power() enter\n");
	lcm_set_gpio_output(GPIO_LCD_PWR, GPIO_OUT_ONE);
	MDELAY(20);
	upmu_set_rg_vgp1_vosel(3);
	upmu_set_rg_vgp1_en(0x1);
				
#else
	printk("[Kernel/LCM] lcm_resume_power() enter\n");
	lcm_set_gpio_output(GPIO_LCD_PWR, GPIO_OUT_ONE);
	MDELAY(20);
	
	hwPowerOn(MT6323_POWER_LDO_VGP1 , VOL_1800 ,"LCM");
	MDELAY(20);
			
#endif
}
static void lcm_resume(void)
{
#ifdef BUILD_LK
	printf("[LK/LCM]lcm_resume enter\n");

#else
#ifdef SN65DSI_DEBUG
	unsigned char temp;
#endif

	pr_debug("[Kernel/LCM]lcm_resume enter\n");

	DSI_clk_HS_mode(0, NULL, 1);
	MDELAY(50);

	/* step 1 resume sn65dsi8x */
	lcm_set_gpio_output(GPIO_LCD_PWR2_EN, GPIO_OUT_ONE);
	MDELAY(10);

	lcm_set_gpio_output(GPIO_LCD_BRIDGE_EN, GPIO_OUT_ONE);
	MDELAY(5);

	lcm_set_gpio_output(GPIO_LCD_BRIDGE_EN, GPIO_OUT_ZERO);
	MDELAY(20);

	lcm_set_gpio_output(GPIO_LCD_BRIDGE_EN, GPIO_OUT_ONE);
	MDELAY(10);

	init_sn65dsi8x();
	MDELAY(10);

#ifdef SN65DSI_DEBUG
	sn65dsi83_read_byte(0x0a, &temp);
	pr_debug("lcm_resume cmd-- 0x0a=0x%x\n", temp);

	sn65dsi83_read_byte(0x0d, &temp);
	pr_debug("lcm_resume cmd-- 0x0d=0x%x\n", temp);

	sn65dsi83_read_byte(0x09, &temp);
	pr_debug("lcm_resume cmd-- 0x09=0x%x\n", temp);
#endif

	/* step 2 resume lvds */
	lcm_set_gpio_output(GPIO_LCD_PWR_EN, GPIO_OUT_ONE);
	MDELAY(50);

	/* hwPowerOn(MT65XX_POWER_LDO_VGP6, VOL_3300, "LCM"); */
	lcm_vgp_supply_enable();
	MDELAY(30);

	lcm_set_gpio_output(GPIO_LCD_RST_EN, GPIO_OUT_ONE);
	MDELAY(5);

	lcm_set_gpio_output(GPIO_LCD_STB_EN, GPIO_OUT_ONE);
	MDELAY(5);
#endif
}
static void lcm_suspend_power(void)
{
#ifdef BUILD_LK 
	printf("[LK/LCM] lcm_suspend_power() enter\n");
	lcm_set_gpio_output(GPIO_LCD_PWR, GPIO_OUT_ZERO);
	MDELAY(20);
	
	upmu_set_rg_vgp1_vosel(0);
	upmu_set_rg_vgp1_en(0);	
			
#else
	printk("[Kernel/LCM] lcm_suspend_power() enter\n");
	lcm_set_gpio_output(GPIO_LCD_PWR, GPIO_OUT_ZERO);
	MDELAY(20);
	
	hwPowerDown(MT6323_POWER_LDO_VGP1 ,"LCM");
	MDELAY(20);
		
#endif
}
Exemplo n.º 11
0
static void lcm_suspend(void)
{
#ifdef BUILD_LK

	printf("[LK/LCM] lcm_suspend() enter\n");

	lcm_set_gpio_output(GPIO_LCM_RST, 0);
	MDELAY(300);
    //AVDD power off
	lcm_set_gpio_output(GPIO_LCM_PWR_EN, 0);
	MDELAY(2);

	//VDD power off ->VGP1_PMU 2.0V
	upmu_set_rg_vgp1_vosel(0);
	upmu_set_rg_vgp1_en(0);	
	MDELAY(20);
	
#elif (defined BUILD_UBOOT)
#else

	printk("[LCM] lcm_suspend() enter\n");

    lcm_set_gpio_output(GPIO_LCM_RST, 0);
	MDELAY(300);
    //AVDD power off
	lcm_set_gpio_output(GPIO_LCM_PWR_EN, 0);
	MDELAY(2);
	if(fgisFirst == TRUE)
	{
		 fgisFirst = FALSE;
		hwPowerOn(MT6323_POWER_LDO_VGP1, VOL_2000, "LCM");
	}

	//VDD power off ->VGP1_PMU 2.0V
	hwPowerDown(MT6323_POWER_LDO_VGP1, "LCM");
	MDELAY(20);
	
#endif	 
}
static void lcd_poweron(unsigned char enabled)
{
	if (enabled > 0)
	{
	#ifdef BUILD_LK 
		printf("[LK/LCM] lcm_resume_power() enter\n");
		lcm_set_gpio_output(GPIO_LCD_PWR_EN, GPIO_OUT_ONE);
	        MDELAY(5);
		lcm_Enable_HW(1800);
		MDELAY(20);

	#else
		printk("[Kernel/LCM] lcm_resume_power() enter\n");
		lcm_set_gpio_output(GPIO_LCD_PWR_EN, GPIO_OUT_ONE);
                MDELAY(5);
		hwPowerOn(MT6328_POWER_LDO_VCAM_AF, VOL_1800, "LCM");
		MDELAY(20);
	#endif
	}
	else
	{
	#ifdef BUILD_LK 
		printf("[LK/LCM] lcm_suspend_power() enter\n");
		lcm_set_gpio_output(GPIO_LCD_PWR_EN, GPIO_OUT_ZERO);
		MDELAY(20);
		lcm_Disable_HW();		
	#else
		printk("[Kernel/LCM] lcm_suspend_power() enter\n");
		lcm_set_gpio_output(GPIO_LCD_PWR_EN, GPIO_OUT_ZERO);
		MDELAY(20);
		if(fgisFirst == TRUE) {
		fgisFirst = FALSE;
		hwPowerOn(MT6328_POWER_LDO_VCAM_AF, VOL_1800, "LCM"); 
		}
		hwPowerDown(MT6328_POWER_LDO_VCAM_AF, "LCM");	

	#endif
	}
}
static void lcm_suspend(void)
{
#ifdef BUILD_LK
	printf("[LK/LCM] lcm_suspend() enter\n");

	lcm_set_gpio_output(GPIO_LCD_BL_EN,GPIO_OUT_ZERO);
	MDELAY(10);
	push_table(lcm_suspend_setting, sizeof(lcm_suspend_setting) / sizeof(struct LCM_setting_table), 1);  
	
	SET_RESET_PIN(0);
	MDELAY(10);
#else
	pr_debug("[Kernel/LCM] lcm_suspend() enter\n");

	lcm_set_gpio_output(GPIO_LCD_BL_EN,GPIO_OUT_ZERO);
	MDELAY(10);
	push_table(lcm_suspend_setting, sizeof(lcm_suspend_setting) / sizeof(struct LCM_setting_table), 1);  

	SET_RESET_PIN(0);
	MDELAY(10);
	pr_debug("[Kernel/LCM] lcm_suspend() end\n");

#endif
}
Exemplo n.º 14
0
static void lcm_suspend(void)
{
#ifdef BUILD_LK
	printf("[LK/LCM] lcm_suspend() enter\n");

	lcm_set_gpio_output(GPIO_LCD_PWR_EN,GPIO_OUT_ZERO);
	MDELAY(100);
	
	//VGP1 3.3V
	//upmu_set_rg_vgp1_vosel(0x0);
	//upmu_set_rg_vgp1_en(0x0);
	//MDELAY(50);
	
#else
	printk("[Kernel/LCM] lcm_suspend() enter\n");

	lcm_set_gpio_output(GPIO_LCD_PWR_EN,GPIO_OUT_ZERO);
	MDELAY(100);
	
	//hwPowerDown(MT65XX_POWER_LDO_VGP1, "LCM");
	//MDELAY(50);
	
#endif
}
static void lcm_init(void)
{
#ifdef BUILD_LK
	printf("[LK/LCM]lcm_init\n");

	/* step1: sn65dsi8x enbable and init */
	/* GPIO42       VDD18_LVDS for SN65DSI83 power */
	lcm_set_gpio_output(GPIO_LCD_PWR2_EN, GPIO_OUT_ONE);
	MDELAY(20);

	/* GPIO127       LVDS_EN_R for SN65DSI83 */
	lcm_set_gpio_output(GPIO_LCD_BRIDGE_EN, GPIO_OUT_ONE);
	MDELAY(5);

	lcm_set_gpio_output(GPIO_LCD_BRIDGE_EN, GPIO_OUT_ZERO);
	MDELAY(20);

	lcm_set_gpio_output(GPIO_LCD_BRIDGE_EN, GPIO_OUT_ONE);
	MDELAY(50);

	DSI_clk_HS_mode(0, NULL, 1);
	MDELAY(5);

	init_sn65dsi8x();
	MDELAY(10);

	/* step 2 :lvds lcd init */
	/* GPIO131        VDD33_LCD */
	lcm_set_gpio_output(GPIO_LCD_PWR_EN, GPIO_OUT_ONE);
	MDELAY(50);

	/* VGP6_PMU       AVDDVGH/VGL/VCOM for panel power */
	upmu_set_rg_vgp6_vosel(0x7);
	upmu_set_rg_vgp6_sw_en(0x1);

	/* GPIO103       LCM_RST for panel */
	lcm_set_gpio_output(GPIO_LCD_RST_EN, GPIO_OUT_ZERO);
	MDELAY(50);

	/* GPIO102       LCM_STBY_2V8 for panel */
	lcm_set_gpio_output(GPIO_LCD_STB_EN, GPIO_OUT_ONE);
#elif (defined BUILD_UBOOT)
#else
	pr_debug("[Kernel/LCM]lcm_init\n");

	DSI_clk_HS_mode(0, NULL, 1);
#endif
}
static void lcm_resume(void)
{
#ifdef BUILD_LK

	printf("[LK/LCM] lcm_resume() enter \n");


	lcm_set_gpio_output(GPIO_LCM_RST_EN, 0);
	MDELAY(20);

	lcm_set_gpio_output(GPIO_LCM_RST_EN, 1);
	MDELAY(20);

	//VGP3_PMU 1.8V
	upmu_set_rg_vgp3_vosel(3);
	upmu_set_rg_vgp3_en(0x1);
	MDELAY(20);

	lcm_set_gpio_output(GPIO_LCM_PWR_EN, 1);
	MDELAY(20);
	
	
#elif (defined BUILD_UBOOT)
#else

	printk("[Kernel/LCM] lcm_resume() enter \n");


	lcm_set_gpio_output(GPIO_LCM_RST_EN, 0);
	MDELAY(20);

	lcm_set_gpio_output(GPIO_LCM_RST_EN, 1);
	MDELAY(20);

	hwPowerOn(MT6323_POWER_LDO_VGP3 , VOL_1800 ,"LCM");
	MDELAY(20);

	lcm_set_gpio_output(GPIO_LCM_PWR_EN, 1);
	MDELAY(20);		
	
#endif	 
}