天嵌 ARM开发社区

 找回密码
 注册
楼主: fanqiehua

android4.0休眠

[复制链接]
亚瑟王 发表于 2013-8-20 10:36:40 | 显示全部楼层
fanqiehua 发表于 2013-8-19 13:09
请问这个部分是在哪里改的,我现在要实现的功能是像手机那样的按键功能,长按关机,短按休眠和唤醒,现在 ...

1、你把esc键和power键的标识交换一下吧。
2、开关机问题:修改电源管理芯片里面的配置可以实现。(前提:硬件上一直对电源管理芯片供电才可以解决)。
回复

使用道具 举报

 楼主| fanqiehua 发表于 2013-8-20 10:58:53 | 显示全部楼层
亚瑟王 发表于 2013-8-20 10:36
1、你把esc键和power键的标识交换一下吧。
2、开关机问题:修改电源管理芯片里面的配置可以实现。(前提 ...

我修改mach-tq210.c的static struct gpio_keys_button gpio_buttons[]如下:
#ifdef CONFIG_KEYBOARD_S3C_GPIO
static struct gpio_keys_button gpio_buttons[] = {

          {
                  .gpio                = S5PV210_GPH0(0),
                  .code                = 139,
                  .desc                = "KEY_MENU_SHARD",
                  .active_low        = 1,
                  .wakeup                = 0,
          },
          {
                  .gpio                = S5PV210_GPH0(1),
                  .code                = 28,
                  .desc                = "ENTER",
                  .active_low        = 1,
                  .wakeup                = 1,
          },        
          {
                  .gpio                = S5PV210_GPH0(2),
                  .code                = 158,
                  .desc                = "BACK",
                  .active_low        = 1,
                  .wakeup                = 1,
          },
          {
                  .gpio                = S5PV210_GPH3(6),
                  .code                = 116,
                  .desc                = "POWER",
                  .active_low        = 1,
                  .wakeup                = 0,
          },



修改struct s3c_gpio_key s3c_gpio_keys[]如下:
struct s3c_gpio_key s3c_gpio_keys[]=
{        
           {
                   .pin = S5PV210_GPH0(0),
                   .eintcfg = 0X0f<<0,      
                   .inputcfg = 0<<0,
                   .eint = IRQ_EINT0,
           },
           {
                   .pin = S5PV210_GPH0(1),
                   .eintcfg = 0X0f<<4,      
                   .inputcfg = 0<<4,
                   .eint = IRQ_EINT1,
           },
           { //lhh add
                   .pin = S5PV210_GPH0(2),
                   .eintcfg = 0X0f<<8,      
                   .inputcfg = 0<<8,
                   .eint = IRQ_EINT2,
           },
           {
                   .pin = S5PV210_GPH3(6),
                   .eintcfg = 0X0f<<24,      
                   .inputcfg = 0<<24,
                   .eint = IRQ_EINT(30),
           },



power键的开关机,休眠功能已经作好,就是休眠后唤醒不了!还要改哪些地方?
回复

使用道具 举报

亚瑟王 发表于 2013-8-20 14:12:41 | 显示全部楼层
fanqiehua 发表于 2013-8-20 10:58
我修改mach-tq210.c的static struct gpio_keys_button gpio_buttons[]如下:
#ifdef CONFIG_KEYBOARD_S3 ...

                .wakeup                = 0,
中的0要改为1才是唤醒功能。
回复

使用道具 举报

 楼主| fanqiehua 发表于 2013-8-20 16:06:13 | 显示全部楼层
亚瑟王 发表于 2013-8-20 14:12
.wakeup                = 0,
中的0要改为1才是唤醒功能。

我开始写的是1,发现唤醒不了,改成的0,最后发现他1,9都唤醒不了
回复

使用道具 举报

亚瑟王 发表于 2013-8-21 09:06:44 | 显示全部楼层
fanqiehua 发表于 2013-8-20 16:06
我开始写的是1,发现唤醒不了,改成的0,最后发现他1,9都唤醒不了

前面我有说过,唤醒不要用那个键,要用K1到K6中的任意一个都可以(前提是wakeup那个地方设置为1)。
回复

使用道具 举报

 楼主| fanqiehua 发表于 2013-8-21 15:15:52 | 显示全部楼层
亚瑟王 发表于 2013-8-21 09:06
前面我有说过,唤醒不要用那个键,要用K1到K6中的任意一个都可以(前提是wakeup那个地方设置为1)。

static struct gpio_keys_button gpio_buttons[] = {

        {
                .gpio                = S5PV210_GPH0(0),
                .code                = 116,
                .desc                = "POWER",
                .active_low        = 1,
                .wakeup                = 1,
        },
        {
                .gpio                = S5PV210_GPH0(1),
                .code                = 28,
                .desc                = "ENTER",
                .active_low        = 1,
                .wakeup                = 1,
        },       
        {
                .gpio                = S5PV210_GPH0(2),
                .code                = 158,
                .desc                = "BACK",
                .active_low        = 1,
                .wakeup                = 1,
        },
        {
                .gpio                = S5PV210_GPH3(6),
                .code                = 139,
                .desc                = "KEY_MENU_SHARD",
                .active_low        = 1,
                .wakeup                = 1,
        },

按照你的说法我改后,开关机,休眠功能正常,但还是不能唤醒!还是有别的地方要改啊?大神们来帮帮忙吧
回复

使用道具 举报

亚瑟王 发表于 2013-8-21 17:47:17 | 显示全部楼层
fanqiehua 发表于 2013-8-21 15:15
static struct gpio_keys_button gpio_buttons[] = {

        {

双击K1到K6的按键呢?我这里可以休眠也可以唤醒的。
回复

使用道具 举报

 楼主| fanqiehua 发表于 2013-8-22 09:13:25 | 显示全部楼层
怎么样都试了,单击,双击,什么都试了。就是没用啊!按键改的那里不对?休眠是可以进入的,长按也会出来关机选项的,就是休眠唤醒不了!
回复

使用道具 举报

 楼主| fanqiehua 发表于 2013-8-22 09:24:11 | 显示全部楼层
亚瑟王 发表于 2013-8-21 17:47
双击K1到K6的按键呢?我这里可以休眠也可以唤醒的。

能把你正常可以休眠唤醒过程的终端打印信息发上来一下吗?
回复

使用道具 举报

亚瑟王 发表于 2013-8-22 19:38:51 | 显示全部楼层
fanqiehua 发表于 2013-8-22 09:24
能把你正常可以休眠唤醒过程的终端打印信息发上来一下吗?

休眠的信息:
PM: Syncing filesystems ... done.
Freezing user space processes ... (elapsed 0.01 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
Suspending console(s) (use no_console_suspend to debug)
唤醒的信息:
s3c_rtc_setalarm: 1, 2013.08.22 11:43:15
setting S3C2410_RTCALM to 00000007
s3c_rtc_setaie: aie=1
wake enabled for irq 41
PM: suspend of devices complete after 621.402 msecs
PM: late suspend of devices complete after 0.799 msecs
PM: early resume of devices complete after 0.865 msecs
mmc0: error -84 during resume (card was removed?)
s3c-i2c s3c2440-i2c.0: slave address 0x10
s3c-i2c s3c2440-i2c.0: bus frequency set to 378 KHz
s3c-i2c s3c2440-i2c.1: slave address 0x10
s3c-i2c s3c2440-i2c.1: bus frequency set to 65 KHz
s3c-i2c s3c2440-i2c.2: slave address 0x10
s3c-i2c s3c2440-i2c.2: bus frequency set to 65 KHz
s3c-rtc s3c64xx-rtc: rtc disabled, re-enabling
s3c2410-wdt: watchdog disabled
usb usb1: root hub lost power or was reset
usb usb2: root hub lost power or was reset
wakeup wake lock: vbus_present
android_work: did not send uevent (0 0   (null))
wake disabled for irq 41
i2c i2c-2: ch7034 probe
usb 1-1: reset high speed USB device number 2 using s5p-ehci
(0x25)=0x1b
hinca_reg=0x3ff,hincb_reg=0x3ff,hinc_reg=0x100000
vinca_reg=0x2ff,vincb_reg=0x2ff,vinc_reg=0x100000
usb 1-1.1: reset full speed USB device number 3 using s5p-ehci
ch7034 probe successfully
PM: resume of devices complete after 932.151 msecs
Restarting tasks ...
request_suspend_state: wakeup (3->0) at 43658274842 (2013-08-22 11:37:20.168940761 UTC)
done.
suspend: exit suspend, ret = 0 (2013-08-22 11:37:20.208330503 UTC)
active wake lock mmc3_detect
active wake lock mmc2_detect
active wake lock mmc1_detect
active wake lock PowerManagerService
active wake lock main
s3cfb_late_resume is called
FIMD src sclk = 166750000
s3cfb_late_resume is complete
回复

使用道具 举报

 楼主| fanqiehua 发表于 2013-8-23 09:04:34 | 显示全部楼层
亚瑟王 发表于 2013-8-22 19:38
休眠的信息:
PM: Syncing filesystems ... done.
Freezing user space processes ... (elapsed 0.01 s ...

你这个是用什么方式唤醒的?能把你这个能唤醒的内核源码发给我吗?我来对比一下是哪个地方不一样!
回复

使用道具 举报

亚瑟王 发表于 2013-8-23 09:14:27 | 显示全部楼层
fanqiehua 发表于 2013-8-23 09:04
你这个是用什么方式唤醒的?能把你这个能唤醒的内核源码发给我吗?我来对比一下是哪个地方不一样!

就是用的天嵌科技光盘中的镜像测试的。天嵌科技光盘中的镜像和源码一直都支持休眠唤醒的。
回复

使用道具 举报

 楼主| fanqiehua 发表于 2013-8-23 09:34:44 | 显示全部楼层
你这个是按那个按键唤醒的信息?
回复

使用道具 举报

 楼主| fanqiehua 发表于 2013-8-23 09:34:58 | 显示全部楼层
亚瑟王 发表于 2013-8-23 09:14
就是用的天嵌科技光盘中的镜像测试的。天嵌科技光盘中的镜像和源码一直都支持休眠唤醒的。

你这个是按那个按键唤醒的信息?
回复

使用道具 举报

亚瑟王 发表于 2013-8-26 09:26:58 | 显示全部楼层
fanqiehua 发表于 2013-8-23 09:34
你这个是按那个按键唤醒的信息?

我在22楼已经回复过了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2025-6-17 13:50 , Processed in 2.045773 second(s), 17 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表