This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux:从深度睡眠模式唤醒 RTC:AM3358ZCZ ARM Cortex-A8处理器

Guru**** 2539500 points
Other Parts Discussed in Thread: TPS65217, INA230

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/626216/linux-rtc-wake-up-from-deepsleep-mode-am3358zcz-arm-cortex-a8-processor

主题中讨论的其他器件:TPS65217INA230

工具/软件:Linux

我们使用 AM3358ZCZ ARM Cortex-A8处理器、并希望使用 RTC 从深度睡眠模式唤醒。  

RTC insta

RTC 实例 rtc0是从 DTS 文件创建的、如下所示。 我们可以设置 rtc0

          Echo +60 >/sys/class/rtc/rtc0/wakealarm

但目标永远不会从深度睡眠中唤醒(echo mem>/sys/power/state)。  

有人对什么问题有建议吗? 我可以看到、计时器在深度睡眠模式期间递增。  

Linux 是- TI Linux 内核 Linux-processor-sdk-linux-03.03.00  

Linux 4.4.41版本

#include "am33xx.dtsi"。

RTC:RTC@44e3e000{
兼容="ti、am3352-rtc"、"ti、DA830-rtc";
reg =<0x44e3e000 0x1000>;
中断=<75
76>;
ti、hwmods ="rtc";
时钟=<clkdiv32k_ick>;
时钟名称="int-clk";
};

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    驱动程序是 RTC-OMAP-C 我们将外部32.768kHz 时钟连接到 RTCIN 引脚。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Grant:

    您是否使用 AM335x TI 电路板(EVM、SK、BBB)或定制电路板?

    请确保您已访问以下 wiki 页面;

    processors.wiki.ti.com/.../Linux_Core_Power_Management_User's_Guide_(v4.4)

    此致、
    帕维尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Pavel、

    感谢您的建议。

    是的、我们使用的是定制板、并将外部时钟连接到 CPU。

    深度睡眠模式唤醒可从连接到 GPIO0的所有器件-串行终端、wifi 模块等
    它不能从 RTC 警报时钟工作。 断电命令也通过 RTC 正常工作。


    我刚刚尝试过指令、目标不会唤醒。 此功能是否需要特定连接? 如引脚、接线等...?

    Echo 1 >/sys/kernel/debug/pm_debug/enable_off_mode
    tcwake -s d /dev/rtc0 -m memN

     以下日志显示警报计时器在超时后设置和清除。 但目标不会唤醒。

    WiFi# echo +60 >/sys/class/rtc/rtc0/wakealarm
    WiFi [回波+60 >/sys/class/rtc/rtc0/wakealarm ]~

    16-02-11 4:31
    WiFi# ls /sys/class/rtc/rtc0
    /sys/class/rtc/rtc0@
    WiFi [ls /sys/class/rtc/rtc0 ~

    16-02-11 4:32
    WiFi# cat /proc/driver/rtc
    RTC_TIME:00:04:22
    RTC_DATE:2000-01-01
    ALRM_TIME:00:04:59
    ALRM_DATE (日期):2000-01-01
    alarm_IRQ:是
    ALRM_PENDING:否
    更新 IRQ 已启用:否
    启用周期性 IRQ:否
    周期性 IRQ 频率:1.
    最大用户 IRQ 频率:64
    24小时:是的
    WiFi [猫/proc/driver/rtc ~

    16-02-11 4:32
    WiFi# cat /proc/driver/rtc
    RTC_TIME:00:04:26
    RTC_DATE:2000-01-01
    ALRM_TIME:00:04:59
    ALRM_DATE (日期):2000-01-01
    alarm_IRQ:是
    ALRM_PENDING:否
    更新 IRQ 已启用:否
    启用周期性 IRQ:否
    周期性 IRQ 频率:1.
    最大用户 IRQ 频率:64
    24小时:是的
    WiFi [猫/proc/driver/rtc ~

    16-02-11 4:32
    WiFi# cat /proc/driver/rtc
    RTC_TIME:00:06:41
    RTC_DATE:2000-01-01
    ALRM_TIME:00:04:59
    ALRM_DATE (日期):2000-01-01
    ALARM_IRQ:否
    ALRM_PENDING:否
    更新 IRQ 已启用:否
    启用周期性 IRQ:否
    周期性 IRQ 频率:1.
    最大用户 IRQ 频率:64

     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我们可以使用 EXT_WAKEP 吗? 它连接到 PMIC

    PMIC_PWR_EN:CPU 连接到 PWR_EN:用于 DDR 的 PMIC
    EXT_WAKEP:CPU 唤醒:用于 DDR 的 PMIC

    已将以下补丁添加至、但 Tenable EXT_WAKEUP 不起作用。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Grant:

    Wiki 页面(我在上一篇文章中提供了链接)声明如下:

    LCPD 版本支持 MEM 睡眠和待机睡眠。 在 AM335和 AM437上、MEM 睡眠对应于 DeepSlep0。 DeepSlep0支持以下唤醒源

      UART

      GPIO0

      触摸屏(仅限 AM335x)

     

    您是否已验证您可以通过 AM335x TI EVM 上的 RTC 从深度睡眠模式唤醒 AM335x 器件? 您是否还可以使用仅 RTC 方法进行检查? 您正在使用哪种 AM335x 器件器件版本?


    请向我发送完整的控制台启动日志以及您用于输入和通过 RTC 警报从 DeepSlep0唤醒的确切步骤。

     

    此致、
    帕维尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    非常感谢您的建议。

    您是否已验证您可以通过 AM335x TI EVM 上的 RTC 从深度睡眠模式唤醒 AM335x 器件?  

    我们使用 RTC 驱动程序在 Linux "poweroff"命令1秒后关闭该目标。 这工作正常。 DTS 中有一个参数可以使用 RTC 驱动器的断电功能。  

    我测试 了唤醒警报功能、但这不起作用。 它   

    您是否还可以使用仅 RTC 方法进行检查?  

    我不确定如何仅使用 RTC 唤醒、因为 RTC 驱动程序没有显式唤醒配置。  

    我们可以从 GPIO0器件和终端唤醒手机。  我尝试了唤醒警报功能、但这没有唤醒目标。  

           

    您正在使用哪种 AM335x 器件器件版本?  

      AM3358BZCZ100

      6BAQ35W 通用

      962B ZcZ

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用用户="Grant Zadoyan"]

    您是否已验证您可以通过 AM335x TI EVM 上的 RTC 从深度睡眠模式唤醒 AM335x 器件?  

    我们使用 RTC 驱动程序在 Linux "poweroff"命令1秒后关闭该目标。 这工作正常。 DTS 中有一个参数可以使用 RTC 驱动器的断电功能。  

    我测试 了唤醒警报功能、但这不起作用。 它   

    [/报价]

    这不能回答问题。 让我以另一种方式询问:您是否尝试重现 AM335x TI EVM 上的问题?

    [引用用户="Grant Zadoyan"]

    您是否还可以使用仅 RTC 方法进行检查?  

    我不确定如何仅使用 RTC 唤醒、因为 RTC 驱动程序没有显式唤醒配置。  

    [/报价]

    Wiki 页面中介绍了仅 RTC 方法。 另请参见以下 e2e 线程:

    请向我发送完整的控制台启动日志以及您用于输入和通过 RTC 警报从深度睡眠0唤醒的确切步骤!

     


    此致、
    帕维尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Pavel、

    非常感谢您的参考。 下面的行似乎正常工作。
    rtcwake -d /dev/rtc0 -m standby -s 5.

    从 shell 中、我看到我们进入深度睡眠模式。

    "rtcWAKE STANDBY "设置是否真的是深度睡眠模式(它是否替代了"echo mem >/sys/power/state)?

    我没有 EVM 板。 我们使用客户电路板、但原理图应与 EVM 和 BeagleBone 类似。

    授予
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="Grant Zadoyan"]rtcwake -d /dev/rtc0 -m standby -s 5.

    从 shell 中、我看到我们进入深度睡眠模式。

    "rtcWAKE STANDBY "设置是否真的是深度睡眠模式(它是否替代了"echo mem >/sys/power/state)? [/报价]

    对于深度睡眠0 (mem)模式、您应该使用:

    rtcwake -d /dev/rtc0 -m mem -s 5.

    默认情况下、"rtcwake -d /dev/rtc0 -m mem -s 5"命令会使 AM335x 器件进入深度睡眠0模式、而不是仅 RTC 模式。

    processors.wiki.ti.com/.../AM335x_Power_Management_Standby_User's_Guide

    processors.wiki.ti.com/.../Linux_Core_Power_Management_User's_Guide_(v4.4)

    此致、
    帕维尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    MEM 选项不能用于唤醒。 由于我们没有 EVM 板、因此我要附上原理图。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    待机工作正常、但内存不工作。 两种模式下的电流相同- 0.42安。

     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我的意思是 RTC 从待机模式唤醒正在工作、而从内存模式唤醒则不工作。 我们可以设置这两种模式并从 GPIO0唤醒。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Grant:

    我在 AM335x Starterkit 上尝试了默认的 PSDK3.03 (内核4.4.4.1)、使用 DeepSlep0 (mem)的 rtcwake 工作正常:

    root@AM335x-EVM:~ rtcwake -d /dev/rtc0 -m mem -s 5.

    rtcwake:假设 RTC 使用 UTC...

    rtcwake:使用/dev/rtc0在2017年3月29日20:54:26日从"mem"唤醒

    [48.513012] PM:正在同步文件系统... 完成。

    [48.610281] 冻结用户空间进程... (已过0.009秒)完成。

    [48.622261] 冻结剩余可自由执行的任务... (已用0.001秒)。

    [48.631815] 暂停控制台(使用 NO_console_suspend 进行调试)

    [48.762257] PM:器件暂停在121.297毫秒后完成

    [48.767018] PM:4.703m 秒后器件延迟挂起完成

    [48.771730] PM:4.658ms 后器件挂起完成

    [48.771747] PM:已成功将所有电源域置于目标状态

    [48.793071] PM:21.123毫秒后器件恢复完成

    [48.797300] PM:3.660ms 后完成设备的早期恢复

    [48.799281] Net eth0:正在初始化 cpsw 版本1.12 (0)

    [48.799303] net eth0:初始化 cpsw ale 版本1.4

    [48.799317] 净 eth0:ALE 表大小1024

    [48.874116] net eth0:找到的 PHY:id:0x4dd074

    [49.113569] PM:316.213毫秒后设备恢复完成

    [49.178248] 正在重新启动任务... 完成。

    根目录@AM335x-EVM:~编号

     

    我正在附加完整的启动日志:

    e2e.ti.com/.../4075.am335x_5F00_SK_5F00_log

    是否可以从定制板附加完整的启动日志?

    您还能检查是否可以成功进入深度睡眠0 (MEM)状态、而不将 RTC 用作唤醒源吗? 请在您的电路板上尝试:

    $ echo mem>/sys/power/state

     

    此致、
    帕维尔

     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Pavel、

    下面是 deepsleep0模式的日志。 目标处于睡眠状态、但绝不会从 RTC 唤醒。 下面的唤醒是从串行端口完成的。 RTC 在30秒内唤醒未发生。  

    WiFi [0;160R]~ 16-02-11 4:30
    WIFI# rtcwake -d /dev/rtc0 -m mem -s 30.
    rtcwake:假设 RTC 使用 UTC...
    rtcwake:使用/dev/rtc0从"mem"唤醒、时间为2000年1月1日星期六00:02:46
    [141.853136] PM:正在同步文件系统... 完成。
    [141.878281]冻结用户空间进程... (已过0.002秒)完成。
    [141.893210]冻结剩余可自由执行的任务... (已用0.001秒)。
    [141.902654]暂停控制台(使用 NO_console_suspend 进行调试)
    [141.918580]排队 ieee80211在等待暂停时工作
    [141.918799]排队 ieee80211在进入暂停状态时工作
    [141.922645] ili9341:睡眠
    [142.036469] ili9341:暂停
    [142.041268] PM:器件暂停在130.891毫秒后完成
    [142.042776] PM:器件延迟暂停在1.471ms 后完成
    [142.044755] PM:1.940毫秒后器件暂停完成
    [142.044767] PM:已成功将所有电源域置于目标状态
    [142.046877] PM:1.932毫秒后器件的 noirq 恢复完成
    [142.048129] PM:0.942ms 后器件的早期恢复完成
    [142.057068] ili9341:休眠
    [142.376135] ili9341:继续
    [142.423590] PM:375.416毫秒后设备恢复完成
    [142.494254]正在重新启动任务... 完成。

    谢谢你

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Grant、

    这不是我请求的完整爬虫程序启动日志(SPL、Uboot、内核、rootfs)。 请共享完整日志。

    谢谢你
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Pavel、

    很抱歉造成误解。 引导日志附在下面。


    wifi [journalctl | grep grant]~ 16-02-11 4:32
    WiFi #
    U-Boot SPL 2015.07 (2017年9月29日- 06:32:38)
    正在引导 TrueNorth TN2010。
    正在读取 u-boot.img
    正在读取 u-boot.img


    U-Boot 2015.07 (2017年9月29日- 06:32:38 -0400)

    启用看门狗
    I2C:就绪
    DRAM:256 MIB
    MMC:OMAP SD/MMC:0、OMAP SD/MMC:1.
    使用默认环境

    NET:配置以太网
    未设置。 验证第一个电子保险丝 MAC
    未找到 PHY 1
    CPsw
    按任意键停止自动引导:0
    切换到分区#0,确定
    mmc0是当前器件
    在器件0上找到 SD/MMC
    **找不到文件/boot/uboot.env **
    **找不到文件/boot/onetime.env **
    4465608字节读取时间:292ms (14.6 MIB/s)
    在47ms 内读取38486字节(798.8 KiB/s)
    内核映像@ 0x82000000 [ 0x000000 - 0x4423c8]
    ###展开的设备树 blob、88000000
    使用0x88000000处的 FDT blob 进行引导
    正在将设备树加载到8ef46000,结束8ef52655... 好的

    正在启动内核...

    [0.000000]在物理 CPU 0x0上引导 Linux
    [0.000000]正在初始化 cgroup 子系统 CPU
    [0.000000] Linux 版本4.4.41 (PC@PC)(gcc 版本6.1.0 (BuildRoot 2016.05-svn20580))#1抢先于2017年9月29日星期五06:12:31 EDT
    [0.000000] CPU:ARMv7处理器[413fc082]修订版2 (ARMv7)、CR=10c5387d
    [0.000000] CPU:PIPT/VIPT 非混叠数据高速缓存、VIPT 别名指令高速缓存
    [0.000000]机器型号:TrueNorth TN2010
    [0.000000]内存策略:数据高速缓存写回
    [0.000000] CPU:所有 CPU 均在 SVC 模式下启动。
    [0.000000] AM335X ES2.1 (SGX NEON )
    [0.000000]在区域顺序和移动分组中构建了1个区域列表。 总页数:65024
    [0.000000]内核命令行:console=ttyO0、115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait
    [0.000000] PID 哈希表条目:1024 (顺序:0、4096字节)
    [0.000000]条目高速缓存散列表条目:32768 (顺序:5、131072字节)
    [0.000000] inode 高速缓存散列表条目:16384 (顺序:4、65536字节)
    [0.000000]内存:250204K/262144K 可用(6391K 内核代码、285K RWdata、2204K rodata、308K init、252K BSS、 11940K 保留、0K CMA 保留、0K HIGHMEM)
    [0.000000]虚拟内核内存布局:
    [0.000000] 向量:0xff0000-0xff1000 (4KB)
    [0.000000] Fixmap:0xc00000 - 0xc00000 (3072 KB)
    [0.000000] vmalloc:0x90800000 - 0x0x800000 (1776 MB)
    [0.000000] 低内存:0x80000000 - 0x90000000 (256 MB)
    [0.000000] pkmap:0x7fe00000 - 0x8000000000 (2 MB)
    [0.000000] 模块:0x7f000000 - 0x7fe00000 (14MB)
    [0.000000] .text:0x80008000 - 0x8086cfd4 (8596 KB)
    [0.000000] 初始化:0x8086d000 - 0x808ba000 (308 KB)
    [0.000000] .data:0x808ba000 - 0x80901678 (286KB)
    [0.000000] .bss:0x80903000 - 0x809420b4 (253KB)
    [0.000000]可抢占的分层 RCU 实现。
    [0.000000]叶扇出的生成时间调整为32。
    [0.000000] NR_IRQ:16 nr_IRQ:16 16.
    [0.000000] IRQ:在0xfa200000 (修订版5.0)处找到具有128个中断的 INTC
    [0.000000] OMAP 时钟事件源:timer2为24000000 Hz
    [0.000015] sched_clock:24MHz 时为32位、分辨率为41ns、每89478484971ns 换行一次
    [0.000034]时钟源:Timer1:屏蔽:0xFFFFFFFF max_cycles:0xFFFFFFFF、max_idle_ns:79635851949 ns
    [0.000043] OMAP 时钟源:Timer1为24000000 Hz
    [0.000381] clocksource_probe:未找到匹配的时钟源
    [0.000673]控制台:彩色虚拟设备80x30
    [0.000696]正在校准延迟环路... 992.25茂物剪(lpj=496128)
    [0.009228] pid_max:默认值:32768最小值:301
    [0.009327]安装高速缓存散列表条目:1024 (顺序:0、4096字节)
    [0.009336] mountpoint-cache 哈希表条目:1024 (顺序:0、4096字节)
    [0.009937]正在初始化 cgroup Subsys net_cls
    [0.009962]正在初始化 cgroup Subsys net_prio
    [0.009988] CPU:测试写入缓冲区一致性:好
    [0.010400]为0x80008200 - 0x80008260设置静态标识映射
    [0.013950] devtmpfs:已初始化
    [0.024181] VFP 支持 v0.3:实施者41架构3第30部分版本 c 修订版3
    [0.037009] OMAP_hwmod:debugss:_wait_target_disable 失败
    [0.08883]时钟源:Jiffies:MASK:0xFFFFFFFF max_cycles:0xFFFFFFFF、max_idle_ns:1911260446275000 ns
    [0.089196] pinctrl 内核:已初始化 pinctrl 子系统
    [0.090404] NET:注册协议系列16.
    [0.090888] DMA:为原子相干分配预分配256 K2B 池
    [0.094240]空闲:使用调速器梯
    [0.097232]空闲:使用调速器菜单
    [0.101483] OMAP GPIO 硬件版本0.1
    [0.110626]硬件断点:不支持调试架构0x4。
    [0.123625] EDMA 49000000.EDMA:TI EDMA DMA 引擎驱动程序
    [0.124283] reg-fixal-voltage fixedregulator@1:找不到节点/ocp/l4_wkup@44c00000-SCM@210000/ pinmux@800/pinmux_wl12xx_gpio 的 pctldev、延迟探针
    [0.125348] omap_i2c 44e0b000.i2c:找不到节点/ocp/l4_wkup@44c0000000/CSCM@210000/ pinmux@800/pinmux_i2c0_pins 的 pctldev、延迟探针
    [0.125515] pps_core:LinuxPPS API 版本。 1已注册
    [0.125523] pps_core:软件版本 5.3.6 -版权所有2005-2007 Rodolfo Giometti
    [0.125551] PTP 时钟支持已注册
    [0.126321] OMAP-mailbox 480c8000.mailbox:OMAP mailbox 修订版0x400
    [0.126822]已初始化高级 Linux 声音架构驱动程序。
    [0.128500]时钟源:切换到时钟源 Timer1
    [0.138261] NET:注册协议系列2.
    [0.139072] TCP 建立哈希表条目:2048 (顺序:1、8192字节)
    [0.139104] TCP 绑定哈希表条目:2048 (顺序:1、8192字节)
    [0.139127] TCP:已配置哈希表(建立2048 BIND 2048)
    [0.139198] UDP 哈希表条目:256 (顺序:0、4096字节)
    [0.139213] UP-Lite 哈希表条目:256 (顺序:0、4096字节)
    [0.139340] NET:注册协议系列1.
    [0.139800]硬件性能事件:通过 armv7_cortex_A8 PMU 驱动器启用、提供5个计数器
    [0.141673] futex 散列表条目:256 (顺序:-1、3072字节)
    [0.142844] NTFS:驱动程序2.1.32 [Flags:R/W]。
    [0.143094]熔丝初始化(API 版本7.23)
    [0.179024]已注册 IO 调度程序 NOP (默认值)
    [0.179601] pinctrl-single 44e10800.pinmux:142引脚、PA f9e10800大小568
    [0.180579] wkup_m3_IPC 44e11324.wkup_m3_IPC:无法获取 rproc 句柄
    [0.181346] OMAP-UART 44e09000.serial: uart0无 wakeirq
    [0.181609] 44e09000.serial:在 MMIO 0x44e09000 (IRQ = 158、base_baud = 3000000)处的 ttyO0是 OMAP UART0
    [0.698057]控制台[ttyO0]已启用
    [0.702873] OMAP-rng 48310000.rng:OMAP 随机数生成器版本 20.
    [0.709954][DRM]已初始化 DRM 1.1.0 20060810
    [0.716290][DRM]支持 vblank 时间戳缓存修订版2 (2013年10月21日)。
    [0.723288][DRM]不支持 vblank 时间戳查询的驱动程序。
    [0.739607]控制台:切换到彩色帧缓冲器件30x40
    [0.747959] tilcdc 4830e000.lcdc:fb0:帧缓冲器件
    [0.753976][DRM]初始化了次要0上的 tilcdc 1.0.0 20121205
    [0.770842]返修:模块已加载
    [0.776873]输入:Matrix_keypad、如/devices/platform/matrix_keypad/input/input0
    [0.785134] lsm303dlhc_ACC 加速计驱动程序:初始化
    [0.791455] OMAP_RTC 44e3e000。RTC:RTC 内核:将44e3e000。RTC 注册为 rtc0
    [0.799085] i2c /dev/entries 驱动程序
    [0.803852] OMA_WDT:OMAP 看门狗定时器修订版0x01:初始超时60秒
    [0.837033] remoteproc0:wkup_m3可用
    [0.841808] remoteproc0:注意:remoteproc 仍在开发中并被视为实验。
    [0.851229] remoteproc0:二进制格式尚未最终确定、并且尚不能保证向后兼容性。
    [0.865179]通过 NetLink v0.30的 Netfilter 消息。
    [0.870280] nfnl_acct:使用 nfnetlink 注册。
    [0.875410] NF_conntrack 版本0.5.0 (3909桶、最大15636)
    [0.882104] ctnetlink v0.93:注册 nfnetlink。
    [0.887967] Nf_tables:(c) 2007-2009 Patrick McHardy
    [0.894876] NF_tables_compat:(c) 2012 Pablo Neira Ayuso
    [0.903096] XT_TIME:内核时区为-0000
    [0.907692] IP_SET:协议6
    [0.911434] IP_Tables:(c) 2000-2006年 Netfilter 核心小组
    [0.917204] IPT_CLUSTERIP:ClusterIP 版本0.8已成功加载
    [0.923959] arp_tables:(c) 2002 David S. Miller
    [0.928871]正在初始化 XFRM netlink 套接字
    [0.933465] NET:注册协议系列17.
    [0.938184] NET:注册协议系列15.
    [0.942905]桥接器:已弃用通过 arp/IP/ip6tables 进行自动筛选的功能。 如果需要,请更新脚本以加载 br_netfilter。
    [0.956181]已注册桥式防火墙
    [0.960481]已注册 Ebtables v2.0
    [0.96425] 8021q:802.1Q VLAN 支持 v1.8
    [0.96947] DCCP:已激活 CCID 2 (类似 TCP)
    [0.974143] DCCP:已激活 CCID 3 (TCP 友好速率控制)
    [0.980296] mmc0:主机不支持只读开关、假设启用了写功能
    [0.988808] SCTP:配置哈希表(建立512 BIND 1024)
    [0.995940] NET:注册协议系列21.
    [1.000765] mmc0:地址0007处的新高速 SDHC 卡
    [1.006659]已注册的 RDS/TCP 传输
    [1.011389] mmcblk0:mmc0:0007 S04GJ 3.71 GiB
    [1.016276] OMAP_VOLTGE_LARD_INIT:未添加电压驱动器支持
    [1.024426] PM:无法获取 wkup_m3_IPC 句柄
    [1.029210] mmcblk0:P1 P2
    [1.032429]支持 ThumbEE CPU 扩展。
    [1.040282] lsm303dlhc_acc 0-0019:探测器启动。
    [1.045101] lsm303dlhc_acc 0-0019:使用默认的 plaform_data
    [1.051159] lsm303dlhc_acc:硬件初始化启动
    [1.06767573] lsm303dlhc_acc:硬件初始化完成
    [1.072264]输入:lsm303dlhc_acc 作为/devices/platform/ocp/44e0b000.i2c/i2c-0/0-0019/input/input1
    [1.081971] lsm303dlhc_acc 0-0019:lsm303dlhc_acc:探测
    [1.089267] IIO IIO:device0:注册磁力计 lsm303dlhc_magn
    [1.105421] tps65217 0-0024:TPS65217 ID 0xe 版本1.2
    [1.111957] ina2xx 0-0040:功率监控器 ina230 (Rshunt = 39000 uOhm)
    [1.119339] ina2xx 0-0041:功率监控器 ina230 (Rshunt = 39000 uOhm)
    [1.126691] LM75 0-0048:hwmon2:传感器'LM75'
    [1.131890] LM75 0-0049:hwmon3:传感器'LM75'
    [1.136821] at24 0-0053:4096字节24c32 EEPROM、可写、4字节/写入
    [1.143956] omap_i2c 44e0b000。i2c:400kHz 时的总线0版本0.11
    [1.151234] remoteproc0:为 wkup_m3加电
    [1.155868] remoteproc0:引导 FW 映像 AM335x-pm-firmware.elf、大小217148
    [1.16375] remoteproc0:远程处理器 wkup_m3现已启动
    [1.169687] wkup_m3_IPC 44e11324.wkup_m3_IPC:CM3固件版本= 0x192
    [1.244083] PM:引导加载程序不支持仅 RTC!
    [1.250869]输入:GPIO 键作为/devices/platform/gpio-keys/input/input2
    [1.258836] OMAP_RTC 44e3e000.RTC:将系统时钟设置为2000-01-01 00:00:01 UTC (946684801)
    [1.271432] ALSA 器件列表:
    [1.274695]未找到声卡。
    [1.278667] omap_hsmmc 481d8000.mmc:卡声称支持低于定义范围的电压
    [1.299124] mmc1:排队未知 CIS tuple 0x91 (3字节)
    [1.305926] mmc1:地址0001处的新高速 SDIO 卡
    [2.339157] EXT4-FS (mmcblk0p2):恢复完成
    [2.348073] EXT4-FS (mmcblk0p2):已安装文件系统、具有有序数据模式。 OPTS:(空)
    [2.356638] VFS:在设备179:2上安装了根(ext4文件系统)。
    [2.375632] devtmpfs:已安装
    [2.379127]释放未使用的内核内存:308K (8086d000 - 808ba000)
    [2.385817]此架构没有内核内存保护。
    [2.778963] systemd[1]:生成时间之前的系统时间、提前时钟。
    [2.826454]随机:systemd:未初始化的 urandom 读取(16字节读取、56位熵可用)
    [2.847493] systemd[1]:systemd 229在系统模式下运行。 (-pam -audit -selinux +ima -AppArmor -smack +sysvinit +utmp -LIBCRYPTSETUP +GCRYPT -GNUTLS -ACL -XZ -LZ4 -SECCOMP +blkid -ELFUTILS +KMOD -IDN)
    [2.867078] systemd[1]:检测到架构 ARM。

    欢迎使用 WiFi Stylus v2.0.1 Build 20587:20596!

    [2.883232] systemd[1]:将主机名设置为 。
    [2.905874] random:systemd:未初始化的 urandom 读取(16字节读取、58位熵可用)
    [2.968148] random:systemd-sysv-ge:未初始化 urandom 读取(16字节读取、60位熵可用)
    [2.981843]随机:systemd-gpT-aut:未初始化的 urandom 读取(16字节读取、60位熵可用)
    [3.000008]随机:systemd-gpT-aut:未初始化 urandom 读取(16字节读取、61位熵可用)
    [3.027021] systemd-fstab-Generator[95]:忽略根设备的"noauto"
    [3.145471] random:systemd:未初始化 urandom 读取(16字节读取、66位熵可用)
    [3.155662] random:systemd:未初始化 urandom 读取(16字节读取、66位熵可用)
    [3.170075]随机:systemd:未初始化 urandom 读取(16字节读取、67位熵可用)
    [3.180382] random:systemd:未初始化 urandom 读取(16字节读取、67位熵可用)
    [3.191178]随机:systemd:未初始化 urandom 读取(16字节读取、67位熵可用)
    [3.512231] systemd[1]:已开始将密码请求转发到 Wall Directory Watch。
    [确定]已开始将密码请求转发到 Wall Directory Watch。
    [3.529810] systemd[1]:已达到目标远程文件系统。
    [确定]已到达目标远程文件系统。
    [3.542234] systemd[1]:侦听网络服务 Netlink 套接字。
    [确定]侦听网络服务 Netlink 套接字。
    [3.557058] systemd[1]:Listening on Journal Socket (/dev/log)。
    [确定]收听 Journal Socket (/dev/log)。
    [3.577350] systemd[1]:侦听处理内核转储套接。
    [确定]正在侦听进程核心转储套接。
    [3.590484] systemd[1]:创建的层用户和会话层。
    [确定]已创建层用户和会话层。
    [3.602987] systemd[1]:侦听/dev/initctl 兼容性命名管道。
    [确定]收听/dev/initctl 兼容性命名管道。
    [3.617724] systemd[1]:已达到目标交换。
    [确定]已达到目标交换。
    [3.627036] systemd[1]:侦听日志套接字。
    [确定]收听日志套接字。
    [3.669980] systemd[1]:已创建切片系统切片。
    [确定]已创建切片系统切片。
    [3.681849] systemd[1]:已达到目标层。
    [确定]已到达目标层面。
    [3.696081] systemd[1]:开始为当前内核创建所需静态设备节点列表...
    正在开始创建所需 st 的列表... 当前内核的节点...
    [3.720474] systemd[1]:创建的片系统串行\x2dgetty.slice。
    [确定]已创建片系统序列\x2dgetty.slice。
    [3.755362] systemd[1]:正在启动加载内核模块...
    正在启动加载内核模块...
    [3.774476] systemd[1]:正在开始重新装载根和内核文件系统...
    正在开始重新装载根文件系统和内核文件系统...
    [3.798210] systemd[1]:侦听 udev 控制套接字。
    [确定]正在侦听 udev 控制套接字。
    [3.818289] systemd[1]:已开始向控制台目录监视发送密码请求。
    [确定]已开始向控制台目录监视发送密码请求。
    [3.854289] systemd[1]:已达到目标路径。
    [确定]已到达目标路径。
    [3.881809] systemd[1]:正在安装调试文件系统...
    正在安装调试文件系统...
    [3.936376] systemd[1]:正在启动日志服务...
    正在启动日记账服务...
    [3.972183] systemd[1]:侦听 udev 内核套接字。
    [3.990468] EXT4-FS (mmcblk0p2):已重新安装。 OPTS:(空)
    [确定]正在侦听 udev 内核套接字。
    [4.018906] systemd[1]:安装 POSIX 消息队列文件系统...
    正在安装 POSIX 消息队列文件系统...
    [4.118915] systemd[1]:已挂载 POSIX 消息队列文件系统。
    [确定]已挂载 POSIX 消息队列文件系统。
    [4.153027] systemd[1]:已安装调试文件系统。
    [确定]已安装调试文件系统。
    [4.167195] ili9341:制造商 ID:0x0
    [4.180833] systemd[1]:已开始为当前内核创建所需的静态设备节点列表。
    [4.193596] ili9341:版本 ID:0x0
    [4.201587] ili9341:驱动程序 ID:0x7f
    [确定]已开始为当前内核创建所需的 sta...ce 节点列表。
    [4.219906] systemd[1]:已开始重新装载根和内核文件系统。
    [确定]已开始重新装载根和内核文件系统。
    [4.291711] systemd[1]:已启动日志服务。
    [确定]已启动日志服务。
    正在开始将日志刷新到持久存储...
    正在启动 udev 冷插拔所有设备...
    正在启动加载/保存随机种子...
    正在开始在/dev/中 创建静态设备节点...
    [确定]已开始加载/保存随机种子。
    [确定]已开始在/dev/中 创建静态设备节点。
    [4.765660] ili9341:init 命令:bb6
    [4.779976] ili9341:init 命令:0xf6
    [4.794600] ili9341:init 命令:0xb5
    [4.807107] ili9341:init 命令:b0
    [4.816553] ili9341:init 命令:0x3a
    [确定]已开始加载内核模块。
    [4.909176] systemd-journale[109]:已收到从 PID 1刷新运行时日志的请求
    [确定]已开始将日志刷新到持久存储。
    正在安装保险丝控制文件系统...
    正在开始应用内核变量...
    正在启动 udev 内核设备管理器...
    [确定]已达到目标本地文件系统(预)。
    正在安装/tmp...
    [确定]安装的保险丝控制文件系统。
    [确定]已开始应用内核变量。
    [确定]已安装/tmp。
    [确定]已启动 udev 内核设备管理器。
    [5.427579] random:非阻塞池已初始化
    [确定]已启动 udev 冷插拔所有设备。
    [确定]已到达目标本地文件系统。
    正在开始创建易失性文件和目录...
    [确定]已开始创建易失性文件和目录。
    正在开始更新 utmp 关于系统引导/关机...
    正在启动网络时间同步...
    [确定]已开始网络时间同步。
    [确定]已开始更新关于系统引导/关机的参数。
    [确定]已达到目标系统初始化。
    [ OK ]正在收听 D 总线系统消息总线插座。
    [确定]已达到目标套接字。
    [确定]已到达目标基本系统。
    正在启动系统-通讯座-电压...
    [确定]启动了 D-Bus 系统消息总线
    [6.564540] lsm303dlhc_acc:硬件初始化启动
    [6.5948] lsm303dlhc_acc:硬件初始化完成
    [确定]开始每日清理临时目录。
    [确定]达到目标计时器。
    正在启动网络服务...
    [确定]启动硬件 RNG Entropy Gatherer 守护程序。
    [确定]已同步达到目标系统时间。
    [确定]已启动系统-底座-电压。
    [确定]找到设备/dev/ttyO0.
    [确定]已启动网络服务。
    [确定]已创建切片 system-systemd\x2dbacklight.slice。
    正在启动加载/保存屏幕背光...背光亮度:tps65217-BL...
    [确定]已在 ttyO0上启动串行 Getty。
    正在启动登录服务...
    [确定]已启动加载/保存屏幕背光...背光亮度:tps65217-BL。
    [7.235610] ASOC-simple card sound:adau1761-dai <->4803c000.McASP 映射正常
    [确定]启动登录服务。
    [确定]已创建根的层用户层。
    正在为 UID 0启动用户管理器...
    正在启动 qws.service ...
    [确定]已启动 UID 0的 User Manager。
    [确定]侦听加载/保存射频终止开关状态/dev/rfkill 观察。
    正在启动加载/保存屏幕背光...背光 ss:LCD_背 光...
    [确定]已开始加载/保存屏幕背光...背光度:LCD_背 光。
    [确定]已到达目标声卡。
    [9.499965] cfg80211:已更新世界监管范围:
    [9.506603] cfg80211:DFS 主设备区域:取消设置
    [9.511384] cfg80211:(start_freq - end_freq @带宽)、(max_antenna_gain、max_EIRP)、(dfs_cac_time)
    [9.522058] cfg80211:(2402000 KHz - 2472000 KHz @ 40000 KHz)、(N/A、2000 MBM)、(N/A)
    [9.532840] cfg80211:(2457000 KHz - 2482000 KHz @ 20000 KHz、92000 KHz 自动)、(N/A、2000 MBM)、(N/A)
    [9.543005] cfg80211:(2474000 KHz - 2494000 KHz @ 20000 KHz)、(N/A、2000 MBM)、(N/A)
    [9.552706] cfg80211:(5170000 KHz - 5250000 KHz @ 80000 KHz、160000 KHz 自动)、(N/A、2000 MBM)、(N/A)
    [9.562943] cfg80211:(5250000 KHz - 5330000 KHz @ 80000 KHz、160000 KHz 自动)、(N/A、2000 MBM)、(0s)
    [9.574116] cfg80211:(5490000 KHz - 5730000 KHz @ 160000 KHz)、(N/A、2000 MBM)、(0s)
    [9.582987] cfg80211:(5735000 KHz - 5835000 KHz @ 80000 KHz)、(N/A、2000 MBM)、(N/A)
    [9.592384] cfg80211:(57240000 KHz - 63720000 KHz @ 2160000 KHz)、(N/A、0 MBM)、(N/A)
    [9.638972] cfg80211:已更新世界监管范围:
    [9.645455] cfg80211:DFS 主设备区域:取消设置
    [9.650377] cfg80211:(start_freq - end_freq @带宽)、(max_antenna_gain、max_EIRP)、(dfs_cac_time)
    [9.660773] cfg80211:(2402000 KHz - 2472000 KHz @ 40000 KHz)、(N/A、2000 MBM)、(N/A)
    [9.670342] cfg80211:(2457000 KHz - 2482000 KHz @ 20000 KHz、92000 KHz 自动)、(N/A、2000 MBM)、(N/A)
    [9.686289] cfg80211:(2474000 KHz - 2494000 KHz @ 20000 KHz)、(N/A、2000 MBM)、(N/A)
    [9.695353] cfg80211:(5170000 KHz - 5250000 KHz @ 80000 KHz、160000 KHz 自动)、(N/A、2000 MBM)、(N/A)
    [9.707494] cfg80211:(5250000 KHz - 5330000 KHz @ 80000 KHz、160000 KHz 自动)、(N/A、2000 MBM)、(0s)
    [9.718028] cfg80211:(5490000 KHz - 5730000 KHz @ 160000 KHz)、(N/A、2000 MBM)、(0s)
    [9.727332] cfg80211:(5735000 KHz - 5835000 KHz @ 80000 KHz)、(N/A、2000 MBM)、(N/A)
    [9.737324] cfg80211:(57240000 KHz - 63720000 KHz @ 2160000 KHz)、(N/A、0 MBM)、(N/A)
    [确定]已启动 qws.service。
    正在启动 home.service ...
    [10.141416] wlcore:wl18xx 硬件:183x 或180x、PG 2.2 (ROM 0x11)
    [10.175689] wlcore:已加载
    [确定]找到设备/sys/subsystem/net/devices/wlan0.
    正在启动 WPA 请求程序守护程序(接口特定版本)...
    正在启动加载/保存射频终止开关状态...
    [确定]已启动加载/保存射频终止开关状态。
    [10.859232] wlcore:PHY 固件版本:版本8.2.0.233
    [10.95393939] wlcore:固件已启动(版本8.9.0.1.55)
    [确定]已启动 home.service。
    正在启动 system_config.service ...
    正在启动 hardware.service ...


    Truenorth Avionics WiFi 手写笔

    WiFi 登录:[14.679004] lsm303dlhc_acc:HW init start
    [14.69184] lsm303dlhc_acc:硬件初始化完成


    [PC@PC ~]$
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您还能检查是否可以成功进入深度睡眠0 (MEM)状态、而不将 RTC 用作唤醒源吗? 请在您的电路板上尝试:

    $ echo mem>/sys/power/state

    我们需要检查问题是否与 RTC 唤醒源或 DeepSlep0模式有关。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Echo mem >/sys/power/state 看起来不错。 我们可以通过串行连接、键盘、WiFi 模块(采用这种设计方式)将其唤醒。 但 RTC 唤醒不起作用。 RTC 唤醒在待机模式下工作。  

    WiFi# echo mem >/sys/power/state
    [105.141091] PM:正在同步文件系统... 完成。
    [108.838651]冻结用户空间进程... (已过0.002秒)完成。
    [108.852631]冻结剩余可自由执行的任务... (已用0.001秒)。
    [108.861965]暂停控制台(使用 NO_console_suspend 进行调试)

    在串行终端上按键盘键后(60秒内)

    [108.876766]排队 ieee80211在进入暂停状态时工作
    [108.876986]排队 ie80211在进入暂停状态时工作
    [108.881450] ili9341:睡眠
    [108.994958] ili9341:暂停
    [109.002940] PM:133.324ms 后设备挂起完成
    [109.004446] PM:1.468毫秒后设备延迟挂起完成
    [109.006432] PM:1.947ms 后设备挂起完成
    [109.006443] PM:已成功将所有电源域置于目标状态
    [109.008575] PM:1.961毫秒后器件的 noirq 恢复完成
    [109.009723] PM:0.936毫秒后设备的早期恢复完成
    [109.018871] ili9341:解除睡眠
    [109.33752] ili9341:继续
    [109.384538] PM:374.768毫秒后完成设备恢复
    [109.455272]正在重新启动任务... 完成。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    授予、

    当在 AM335x SK 上使用默认4.4.41内核时、我能够从 RTC 唤醒 DeepSlep0、并且我有以下有关 RTC 的引导消息:

    hctosys:无法打开 RTC 设备(rtc0)
    OMAP_RTC 44e3e000.RTC:已在运行
    OMAP_RTC 44e3e000.RTC:RTC 内核:将44e3e000.RTC 注册为 rtc0
    PM:引导加载程序不支持仅 RTC!

    当我在您的 AM335x 定制板上看到以下引导消息时:

    OMAP_RTC 44e3e000.RTC:RTC 内核:将44e3e000.RTC 注册为 rtc0
    PM:引导加载程序不支持仅 RTC!
    OMAP_RTC 44e3e000:RTC:将系统时钟设置为2000-01-01 00:00:01 UTC (946684801)


    您能否评论一下您对 RTC 所做的哪些更改? 您是否修改了 RTC 驱动程序 drivers/rtc/rtc-omap.c? 您能否切换回更改并尝试使用默认 RTC 设置? 您能否在执行 rtcwake 命令之前提供 RTC 寄存器转储?

    当使用 RTC 定时器功能、但没有仅 RTC 模式时、以下电路原理图建议有效:
    processors.wiki.ti.com/.../AM335x_Schematic_Checklist


    此致、
    帕维尔