TP X 双击唤醒 X 高通msm8916 X 方案1

最近要实现双击唤醒屏幕

第一个方案:勉强实现,但是功耗大,还没进行消抖处理

实现步骤如下:
1.找到tp实现的代码kernel/drivers/input/touchscreen/gsl/gslX68X.c

2.找到tp休眠挂起的代码,开启中断,去掉拉低电源引脚
在static struct i2c_driver gsl_ts_driver结构体中有 .pm = &gsl2680_ts_pm_ops,此结构体进行电源管理,唤醒和休眠,如下:

static const struct dev_pm_ops gsl2680_ts_pm_ops = {
	.suspend = gsl_ts_suspend,  //休眠函数,拉低shutdown的引脚,供给低电压
	.resume = gsl_ts_resume,    //唤醒函数
};

下面是休眠函数

static int gsl_ts_suspend(struct device *dev)
{	
	...
	struct gsl_ts *ts = dev_get_drvdata(dev);
	...
	gsl_halt_flag = 1;
	
	enable_irq(ts->irq);  //当进入休眠的时候,为了获取双击坐标,要先打开中断
	//disable_irq_nosync(ts->irq);  去掉关中断 	
	//gslX680_shutdown_low();       去掉拉低电源,其函数如下
	return 0;
}
/************************************************
  Description	: Put the shutdown(Reset) on Lower Voltage;
  Input			: None
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值