打印
[i.MX]

imx6 linux 如何设置普通的gpio 唤醒系统 直接在设备树下可以配置不?

[复制链接]
3822|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
583893280|  楼主 | 2016-5-20 16:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
583893280|  楼主 | 2016-5-22 14:04 | 只看该作者
目前 可以正常唤醒设备了 如下配置
gpio-keys {
                compatible = "gpio-keys";
                pinctrl-names = "default";
                pinctrl-0 = <&pinctrl_gpio_keys>;  /* ----->>>>yao */
                status = "okay";

                button-k1 {
                        label = "K1";
                        gpios = <&gpio3 20 GPIO_ACTIVE_HIGH>;
                        linux,code = <1>;
                        gpio-key,wakeup;
                };
               
        };

pinctrl_led: gpio_ledsgrp {
                        fsl,pins = <
                               MX6UL_PAD_LCD_DATA19__GPIO3_IO24  0x17059
                        >;
                };

然后 echo enabled > /sys/devices/soc0/gpio-keys.10/power/wakeup 使能wakeup
之后 echo mem > /sys/power/state

然后 将对应的io拉低 就ok了 前提该gpio是高电平 如果不是 需要上拉

使用特权

评论回复
板凳
583893280|  楼主 | 2016-5-22 14:05 | 只看该作者
root@imx6ulevk:/sys/devices/soc0# cd gpio-keys.10/
root@imx6ulevk:/sys/devices/soc0/gpio-keys.10# ls
disabled_keys      input              power              uevent
disabled_switches  keys               subsystem
driver             modalias           switches
root@imx6ulevk:/sys/devices/soc0/gpio-keys.10# cd power/
root@imx6ulevk:/sys/devices/soc0/gpio-keys.10/power# ls
autosuspend_delay_ms    wakeup                  wakeup_expire_count
control                 wakeup_abort_count      wakeup_last_time_ms
runtime_active_time     wakeup_active           wakeup_max_time_ms
runtime_status          wakeup_active_count     wakeup_total_time_ms
runtime_suspended_time  wakeup_count
root@imx6ulevk:/sys/devices/soc0/gpio-keys.10/power# ls -l
-rw-r--r--    1 root     root          4096 Jan 19 09:05 autosuspend_delay_ms
-rw-r--r--    1 root     root          4096 Jan 19 09:05 control
-r--r--r--    1 root     root          4096 Jan 19 09:05 runtime_active_time
-r--r--r--    1 root     root          4096 Jan 19 09:05 runtime_status
-r--r--r--    1 root     root          4096 Jan 19 09:05 runtime_suspended_time
-rw-r--r--    1 root     root          4096 Jan 19 09:05 wakeup
-r--r--r--    1 root     root          4096 Jan 19 09:05 wakeup_abort_count
-r--r--r--    1 root     root          4096 Jan 19 09:05 wakeup_active
-r--r--r--    1 root     root          4096 Jan 19 09:05 wakeup_active_count
-r--r--r--    1 root     root          4096 Jan 19 09:05 wakeup_count
-r--r--r--    1 root     root          4096 Jan 19 09:05 wakeup_expire_count
-r--r--r--    1 root     root          4096 Jan 19 09:05 wakeup_last_time_ms
-r--r--r--    1 root     root          4096 Jan 19 09:05 wakeup_max_time_ms
-r--r--r--    1 root     root          4096 Jan 19 09:05 wakeup_total_time_ms
root@imx6ulevk:/sys/devices/soc0/gpio-keys.10/power# cat wakeup
enabled
oot@imx6ulevk:/sys/devices/soc0/gpio-keys.10/power# echo mem > /sys/power/state
PM: Syncing filesystems ... done.
Freezing user space processes ... (elapsed 0.001 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.003 seconds) done.
Suspending console(s) (use no_console_suspend to debug)
>>>>>>>>>>>>>>>>>>>>__gpio_set_value
>>>>>>>>>>>>>>>>>>>>gpiod_set_raw_value
--222222222222222->led_dat->gpio = 88
gpio-keys gpio-keys.10: --->gpio_keys_suspend ---in---
gpio-keys gpio-keys.10: >>>>>>>>>>>>>>gpio_keys_suspend  keycode: 0x54 desc 0K1
---->imx_snvs_pwrkey_suspend.
PM: suspend of devices complete after 36.607 msecs
PM: suspend devices took 0.040 seconds
PM: late suspend of devices complete after 0.877 msecs
PM: noirq suspend of devices complete after 1.018 msecs
Disabling non-boot CPUs ...
Turn off M/F mix!
PM: noirq resume of devices complete after 0.568 msecs
PM: early resume of devices complete after 0.703 msecs
---->imx_snvs_pwrkey_resume.
imx-sdma 20ec000.sdma: loaded firmware 3.1
gpio-keys gpio-keys.10: --->gpio_keys_resume ---in---
gpio-keys gpio-keys.10: >>>>>>>>>>>>>>gpio_keys_resume  keycode: 0x54 desc K1
>>>>>>>>>>>>>>>>>>>>__gpio_set_value
>>>>>>>>>>>>>>>>>>>>gpiod_set_raw_value
--222222222222222->led_dat->gpio = 88
PM: resume of devices complete after 89.308 msecs
PM: resume devices took 0.090 seconds
Restarting tasks ... done.
root@imx6ulevk:/sys/devices/soc0/gpio-keys.10/power#

使用特权

评论回复
地板
mini1986| | 2017-2-16 13:10 | 只看该作者
没搞过这个,学习一下......

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

47

帖子

3

粉丝