コード例 #1
0
static void aat2862_touch_ldo_enable(struct i2c_client *client, int on)
{
#if 0
	aat2862_set_ldo(1, ENLDO_D, VLDO_3_0V);
	msleep(1);
	aat2862_set_ldo(1, ENLDO_C, VLDO_1_8V);	
#endif
	if(on)
	{
		aat2862_write_reg(client, 0x02, 0x0B);
		msleep(10);
		aat2862_write_reg(client, 0x02, 0x0F);
		msleep(10);		

		touch_i2c2_enable(on);
	}
	else
	{
		touch_i2c2_enable(on);

		msleep(10);
		aat2862_write_reg(client, 0x02, 0x0B);
		msleep(10);
		aat2862_write_reg(client, 0x02, 0x03);
	}

//	printk(KERN_WARNING"[!] %s()\n", __func__);
}
コード例 #2
0
static int mipi_panel_power(int on)
{
	int flag_on = !!on;
	static int mipi_power_save_on;
	int rc;

	if (mipi_power_save_on == flag_on)
		return 0;

	mipi_power_save_on = flag_on;


	if (reg_8901_l3 == NULL) {
		reg_8901_l3 = regulator_get(NULL, "8901_l3");
		if (IS_ERR(reg_8901_l3)) {
			reg_8901_l3 = NULL;
		}
	}

	if(on){
		aat2862_set_ldo(1,0,0x4);
		aat2862_set_ldo(1,1,0xC);

		rc = regulator_set_voltage(reg_8901_l3, 3000000, 3000000);
		if (!rc)
			rc = regulator_enable(reg_8901_l3);
		if (rc) {
			pr_err("'%s' regulator enable failed, rc=%d\n",
					"8901_l3", rc);
			return rc;
		}


		gpio_tlmm_config(GPIO_CFG(LCD_RESET_N, 0, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA),GPIO_CFG_ENABLE);

		gpio_set_value(LCD_RESET_N,1);
		mdelay(50);
		gpio_set_value(LCD_RESET_N,0);
		mdelay(20);
		gpio_set_value(LCD_RESET_N,1);
		mdelay(50);

	}
	else{
		aat2862_set_ldo(0,0,0x0);
		aat2862_set_ldo(0,1,0x0);

		rc = regulator_disable(reg_8901_l3);
		if (rc)
			pr_warning("'%s' regulator disable failed, rc=%d\n",
					"8901_l3", rc);
		pr_info("%s(off): success\n", __func__);

	}
	return 0;
}
コード例 #3
0
static int mipi_panel_power(int on)
{
	int flag_on = !!on;
	static int mipi_power_save_on;
	int rc;

	if (mipi_power_save_on == flag_on)
		return 0;

	mipi_power_save_on = flag_on;

	if (reg_8901_l3 == NULL) {
		reg_8901_l3 = regulator_get(NULL, "8901_l3");
		if (IS_ERR(reg_8901_l3)) {
			reg_8901_l3 = NULL;
		}
	}

	if(on){
		aat2862_set_ldo(1,0,0x4);
		aat2862_set_ldo(1,1,0xC);

		rc = regulator_set_voltage(reg_8901_l3, 3000000, 3000000);
		if (!rc)
			rc = regulator_enable(reg_8901_l3);
		if (rc) {
			pr_err("'%s' regulator enable failed, rc=%d\n",
					"8901_l3", rc);
			return rc;
		}
	}
	else{
		aat2862_set_ldo(0,0,0x0);
		aat2862_set_ldo(0,1,0x0);

		rc = regulator_disable(reg_8901_l3);
		if (rc)
			pr_warning("'%s' regulator disable failed, rc=%d\n",
					"8901_l3", rc);
		pr_info("%s(off): success\n", __func__);

	}
	return 0;
}