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/AM3351:从 DMTimer 唤醒1ms

Guru**** 2553900 points
Other Parts Discussed in Thread: AM3351, CCSTUDIO

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/599114/linux-am3351-wakeup-from-dmtimer-1ms

器件型号:AM3351
Thread 中讨论的其他器件: CCStudio

工具/软件:Linux

我正在使用基于 AM3351的定制板。  在 AM335x TRM 第8.1.4.5节中、以下事件可以是从深度睡眠模式唤醒处理器。

•GPIO0组
•dmtimer1_1ms (基于计时器的唤醒)
•USB2PHY (USB 从挂起恢复信号)–支持两个 USB 端口。
•TSC (触摸屏控制器、ADC 监视器功能)
•UART0 (红外支持)
•I2C0
•RTC 报警

 但我没有找到任何有关如何实现基于 Dmtimer1_1ms 的深度睡眠唤醒模式的参考。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    已通知 PM 专家。 他们将在这里作出回应。

    请发布您使用的 Linux 版本。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢 Biser、
    我使用的是 Linux 版本4.1.18。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Manoj、

    在 PSDK 3.03 (Linux 内核4.4)中、默认情况下、我们只有这些用于深度睡眠0 (mem)电源状态的唤醒源:

    UART0
    GPIO0
    触摸屏

    我发现我们在 AM335x StarterWare 中实现了 dmtimer1_1ms 唤醒模式、因此您可以将该源代码作为参考。

    processors.wiki.ti.com/.../AM335x_StarterWare_Power_management

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

    我们还有 DMTIMER7用作从待机模式唤醒源的示例、您还可以将该代码用作参考:

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

    请注意、下面的 DTS 文件中描述了 DMTIMER1_1ms、可以从以下驱动程序访问:

    linux-4.4.4.41/arch/arm/boot/dts/am33xx.dtsi

    Timer1:定时器@44e31000{
    兼容="ti、am335x-timer-1ms";
    REG =<0x44e31000 0x400>;
    中断=<67>;
    ti、hwmds ="Timer1";
    TI、计时器- alwon;
    };

    Linux-4.4.4.41/arch/arm/mach-omap2/timer.c
    Linux-4.4.4.41/arch/arm/plat-omap/dmtimer.c

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

    我们需要 Dmtimer1_1ms 作为深度睡眠模式的唤醒源、而不是待机模式的唤醒源。 您能否共享用于电源管理的 StarterWare 源代码链接。

    我们使用的是 AM3351处理器。 是否可以在 Linux 用户空间中实施 Starterware 代码?

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

    Manoj、

    [引用 user="Manoj Kumar "]我们需要 Dmtimer1_1ms 作为深度睡眠模式的唤醒源,而不是待机模式的唤醒源。

    我知道这个。 但我找不到比这更接近的任何 Linux 参考代码(DMTIMER7从待机状态唤醒)。

    [引用 user="Manoj Kumar ]]您能否共享用于电源管理的 StarterWare 源代码链接。 [/报价]

    我不熟悉 StarterWare。 您应在 StarterWare 论坛中提问/发帖:

    [引用 user="Manoj Kumar ]]我们使用 是 AM3351处理器。 是否可以在 Linux 用户空间中实施 Starterware 代码?

    我不熟悉 StarterWare。 我所知的是裸机编程、类似于 CCStudio GEL 文件。 我想您不仅可以将 StarterWare 代码复制粘贴到 Linux 用户空间中。 您应该探索 StarterWare DMTIMER1编程序列和寄存器设置、并在 Linux 中应用这些设置、但这不能通过简单的复制粘贴传输来完成。

    此致、
    帕维尔

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

    您能否与您的软件团队一起了解如何实现基于 dmtimer 的深度睡眠唤醒模式。 由于 TRM 中提到了这一点、因此可以实现或存在任何限制、以阻止将 dmtimer 配置为深度睡眠唤醒源。

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

    [引用 user="Manoj Kumar "]您能否与您的软件团队核实如何实现基于 dmtimer 的深度睡眠唤醒模式。[/quot]

    有关如何实现 dmtimer 唤醒、请参阅 AM335x TRM 的章节:

    8.1.6.13定时器时钟结构
    20.2 DMTimer 1ms

    Manoj Kumar 说:
    因为 TRM 中提到了它

    它不仅仅是提到的。 它有完整的文档记录和说明。

    [引用 user="Manoj Kumar ]*这是可以实现的,也是任何限制因素都无法将 dmtimer 配置为 DeepSleep 唤醒源。[/引用]

    是的、这是可以实现的。 我找不到任何限制。 AM335x 芯片勘误表中描述的所有计时器的一个常见限制是 Advisory 1.0.39、其中介绍了其解决方法。

    此致、
    帕维尔

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

    您还可以参考以下链接以供参考:

    processors.wiki.ti.com/.../TI81xx_PSP_Porting_Guide

    processors.wiki.ti.com/.../AM335x_Power_Management_Standby_User's_Guide -使用 Timer1完成性能评测、请参阅 Add-timer-profiling-support.zip

    此致、
    帕维尔