A20 实现 红外 开关机

原创 2015年11月17日 17:44:45

       实现本文的前提是要先实现 红外按键的匹配,我的是基于前几篇的基础上做的:      


    /usr/Cubie_A20/lichee/linux-3.4/drivers/input/keyboard 下面的sun7i-ir.c文件中做更改:

参考:

     ( 1. 原因:
               这个power是进入休眠状态而不是关机.
               不能开机的真正原因是:
               内核中的sun7i-ir.c中对休眠进行了处理,把红外的时钟关闭了.
               即在休眠状态下,红外不接收任何信号,所以也就不能唤醒了.
         2. 解决方法:
               把sun-7i-ir.c修改成如下形式: 即将suspend的处理的两个函数,改为空.)

把sun7i-ir.c 中的两个函数

//ͣ???豸
#ifdef CONFIG_HAS_EARLYSUSPEND
static void sun7i_ir_suspend(struct early_suspend *h)
{
/*	unsigned long tmp = 0;
	int ret;
	struct sun7i_ir_data *ts = container_of(h, struct sun7i_ir_data, early_suspend);

	tmp = readl(IR_BASE+IR_CTRL_REG);
	tmp &= 0xfffffffc;
	writel(tmp, IR_BASE+IR_CTRL_REG);
*/
//		dprintk(DEBUG_SUSPEND, "EARLYSUSPEND:enter earlysuspend: sun7i_ir_suspend. \n");
//        if(NULL == ir_clk || IS_ERR(ir_clk)) {
//        		printk("ir_clk handle is invalid, just return!\n");
//        		return;
//        } else {	
//        		clk_disable(ir_clk);
//        }
//	
//	if(NULL == apb_ir_clk || IS_ERR(ir_clk)) {
//		printk("ir_clk handle is invalid, just return!\n");
//		return;
//	} else {	
//		clk_disable(apb_ir_clk);
//	}
	
}


//???»???
static void sun7i_ir_resume(struct early_suspend *h)
{

//	dprintk(DEBUG_INIT, "EARLYSUSPEND:enter laterresume: sun7i_ir_resume. \n");
//	
//	ir_code = 0;
//	timer_used = 0;
//	ir_reset_rawbuffer();
//	ir_clk_cfg();
//	ir_reg_cfg();
}


改成 这个样子,函数中的全部注释掉

然后,再更该/usr/Cubie_A20/android/device/softwinner/wing-common下面的 axp20-supplyer.kl
     是这一行key 255   POWER               WAKE
将Power的值改为255,因为我电源键值对应的是255
保存,变异系统,烧写进板子,启动,就会发现可以实现 电源键关机了,
不过这样实现,短按电源键 只是实现了关闭屏幕,但没有真正给cpu断电,这样子在按电源键就可以实现开机啦
长按能关机, 这样会把cpu断电,红外遥控不能开机








全志a20 添加触摸唤醒屏幕功能

一、屏幕唤醒流程     这部分一开始我也不是很懂,然后百度一下,发现这哥们写得不错,所以这部分内容参考一下这个网址      http://blog.csdn.net/shadow_dance/a...
  • hujia414
  • hujia414
  • 2016年12月08日 16:12
  • 360

基于全志A20上的一些修改

任务1. A20上替换不同CSI接口Camera模组: 本来A20开发板上自带CSI接口模组gt2005. 但需要将其替换成ov2643. 1. 修改: android/device/soft...
  • wangjianzhongfj
  • wangjianzhongfj
  • 2014年09月07日 17:59
  • 7528

如何让A20,android开机自动启动C程序

1,修改 android/device/    init.sun7i.rc 增加: ........(略) #add by jiangdou     chmod 777 /system/bin/he...
  • u010402372
  • u010402372
  • 2014年12月26日 11:32
  • 1877

全志A20[android教程]-红外遥控器调试

要在树莓派3 (A20)android系统上实现红外遥控器,因为super3上有红外接收头,所以可以直接支持红外遥控器,可以把树莓派3应用到家庭控制当中。当作网络机顶盒用 树莓派3的红外遥控器,还有鼠...
  • ok138ok
  • ok138ok
  • 2014年03月21日 23:05
  • 11360

格力空调红外码(短码)解析

格力空调的红外码有长码和短码,这篇文章是红外短码的解析。
  • u012163234
  • u012163234
  • 2016年05月05日 10:52
  • 2127

香蕉派(or 皮?)上手初体验 -- 外观鉴赏,安装,配置&总结

香蕉派是国产的单板电脑,初入手一块,写些东西玩玩。 包括 :外观鉴赏,安装,配置 & 总结...
  • longerzone
  • longerzone
  • 2014年08月08日 10:02
  • 7733

Android定时开机及其实现流程

开(关)机原理,以低电平为例: 1、平时,电平为高 2、按下按键,电平为低; 3、电源管理(硬件PM)部分对低电平处理:低电平一直持续n秒,认为是开(关)机信号 4、进行开(关)机 要实现定时开(关...
  • u013686019
  • u013686019
  • 2016年06月19日 13:26
  • 3435

android中定时开关机的实现

android中定时开关机的实现 关于android自动关机,网上有很多应用程序和例子。 相对于自动开机来说,自动关机可以在应用层通过设置alarm来实现。而自动开机,它需要底层rtc时钟的支持。 简...
  • xiaole0313
  • xiaole0313
  • 2015年03月27日 19:58
  • 944

安卓定时开关机的实现

对于定时关机,可以将关机数据存入数据库,然后开启一个后台服务,定时的对数据库进行查询,获取到当前的系统时间再和关机时间做对比,到了关机时间则发送广播,通知系统,执行关机。 对于定时开机,我们在关机之前...
  • zy_style
  • zy_style
  • 2016年11月19日 11:16
  • 1615

Android:android定时开关机

android定时关机 (记住一定要在源码下编译生成apk,也就是放在源码的package/app下编译!!!) 先看一下简单的图形界面吧,比较简单的实现定时关机!!!(我的上传资源中有整...
  • xxssyyyyssxx
  • xxssyyyyssxx
  • 2015年11月09日 10:13
  • 542
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:A20 实现 红外 开关机
举报原因:
原因补充:

(最多只允许输入30个字)