0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何通过PMC_GPIO唤醒AMD Versal™ Adaptive SoC Linux系统

XILINX开发者社区 来源:XILINX开发者社区 2024-12-17 10:07 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在功耗敏感的系统里,我们通常会在系统空闲的时候将系统休眠,然后可以通过一些外设的输入来唤醒系统,比如 UartUSB 和 GPIO。AMD VersalAdaptive SoC 系统的休眠唤醒指导页面和 MPSoC 系统在同一个 Wiki 网页。本文将通过 PMC_GPIO 作为例子来描述如何唤醒 Versal 系统。

Wiki 网页:

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842232/Zynq+UltraScale+MPSoC+Power+Management+-+Linux+Kernel

我们这里采用 VPK120 板卡作为平台,这个板卡上面没有通过 PMC MIO 连接 GPIO 器件,所以我们需要使用 PMC EMIO 来实现 GPIO。我们可以在 VPK120 Petalinux BSP 里的 AMD VivadoDesign Suite 工程基础上增加 PMC_GPIO_EMIO。

1. 首先打开 Vivado 工程进入 CIPS core 配置界面并使能 PMC_GPIO_EMIO,板卡上有两个 Button 器件连接到了两个 PL 管脚,所以位宽选择为 2。这两个 Button 在板卡上分为名为 SW4 和 SW5。

024dd3e8-b6e7-11ef-93f3-92fbcf53809c.png

2. 这时 CIPS core 的界面上会多出 PMC_GPIO 端口,右键点击这个端口,菜单中选择 Make External Pins 可以把这个接口的两个 GPIO 信号连接到 PL 管脚,我们需要在 XDC 约束文件里增加这两个管脚的约束。

0256aa68-b6e7-11ef-93f3-92fbcf53809c.png

3. 最后完成 Implementation 并导出 XSA。附件里有预先做好的 Block design tcl 脚本、顶层 Wrapper 和约束文件。可以用它们直接创建 Vivado 工程。

4. 导出 XSA 后,可以用下面命令将 XSA 导入 VPK120 petalinux BSP 里的 Petalinux 工程。

02783af2-b6e7-11ef-93f3-92fbcf53809c.png

5. 按照上面提到的 Wiki 页面里对 GPIO 的要求配置 Kernel,并在“project-spec/meta-user/recipes-bsp/device-tree/files/system-user.dtsi“里增加 gpio-keys节点。

028c4790-b6e7-11ef-93f3-92fbcf53809c.png

6. 在 2023.2 版本里,ATF 和 PLM 需要两个 Patch 来支持 GPIO 唤醒。使用下面方法将两个 Patch 应用到 Petalinux 工程,最后执行 petalinux-build 命令。

将ATF patch "0001-fix-xilinx-map-PMC_GPIO-device-node-to-interrupt-for 1.patch"拷贝到“project-spec/meta-user/recipes-bsp/arm-trusted-firmware/files/”,如果没有这个路径就手动创建。

执行下面命令创建“arm-trusted-firmware_%.bbappend”文件。

02a37104-b6e7-11ef-93f3-92fbcf53809c.png

将下面内容拷贝到“arm-trusted-firmware_%.bbappend”并保存。

02bcd7ca-b6e7-11ef-93f3-92fbcf53809c.png

执行下面命令。

02d377dc-b6e7-11ef-93f3-92fbcf53809c.png

参考 Wiki 页面,将 PLM patch 文件“0001-xilpm-versal-server-Add-entry-for-PMC_GPIO-in-Wakeup.patch” 应用到 Petalinux 工程。

7. 使用下面命令使系统休眠。使用下面命令使能 gpio 为 Wakeup source。

02dc10a4-b6e7-11ef-93f3-92fbcf53809c.png

8. 使用下面命令使系统休眠。

02ea683e-b6e7-11ef-93f3-92fbcf53809c.png

9. 按动板卡上的 SW4 button,Linux 系统就会唤醒。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • soc
    soc
    +关注

    关注

    40

    文章

    4622

    浏览量

    230143
  • Linux
    +关注

    关注

    88

    文章

    11812

    浏览量

    219527
  • GPIO
    +关注

    关注

    16

    文章

    1333

    浏览量

    56435
  • Versal
    +关注

    关注

    1

    文章

    176

    浏览量

    8538

原文标题:开发者分享|如何通过 PMC_GPIO 唤醒 AMD Versal™ Adaptive SoC Linux 系统

文章出处:【微信号:gh_2d1c7e2d540e,微信公众号:XILINX开发者社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    第二代AMD VERSAL AI EDGE系列全面赋能汽车ADAS系统

    选择 AMD 自适应 SoC 和 FPGA 第二代 AMD Versal AI Edge 系列自适应 SoC 带来一种高性能单芯片解决方案,
    的头像 发表于 03-27 16:30 893次阅读
    第二代<b class='flag-5'>AMD</b> <b class='flag-5'>VERSAL</b> AI EDGE系列全面赋能汽车ADAS<b class='flag-5'>系统</b>

    AMD Versal CPM5 QDMA Gen4x8 ST Only Performance Design CED示例

    的驱动程序来运行性能测试的步骤。这是 AMD Versal 自适应 SoC CPM QDMA 端点 (EP) 设计中可用的预设之一。
    的头像 发表于 03-23 09:12 1225次阅读
    <b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b> CPM5 QDMA Gen4x8 ST Only Performance Design CED示例

    AMD Versal自适应SoC中eMMC烧录/启动调试检查表(上)

    本篇博文提供了有关 AMD Versal 自适应 SoC 中 eMMC 烧录和启动设置的技巧和指南。它还可用于调试 eMMC 烧录/启动失败。提交服务申请个案前,应先复查以下检查表。
    的头像 发表于 03-09 10:24 1960次阅读
    <b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b>自适应<b class='flag-5'>SoC</b>中eMMC烧录/启动调试检查表(上)

    使用Aurora 6466b协议实现AMD UltraScale+ FPGA与AMD Versal自适应SoC的对接

    在本博客中,我们将介绍使用 Aurora 6466b 协议实现 AMD UltraScale+ FPGA 与 AMD Versal 自适应 SoC 的对接。我们还将涵盖有关 IP 配置
    的头像 发表于 01-13 14:04 3786次阅读
    使用Aurora 6466b协议实现<b class='flag-5'>AMD</b> UltraScale+ FPGA与<b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b>自适应<b class='flag-5'>SoC</b>的对接

    探索AMD XILINX Versal Prime Series VMK180评估套件,开启硬件创新之旅

    探索AMD XILINX Versal Prime Series VMK180评估套件,开启硬件创新之旅 在电子设计的领域中,快速实现原型设计并确保高性能是每一位工程师的追求。AMD XILINX
    的头像 发表于 12-15 14:40 782次阅读

    AMD Vivado Design Suite 2025.2版本现已发布

    AMD Vivado Design Suite 2025.2 版本现已发布,新增对 AMD Versal 自适应 SoC 的设计支持,包含新器件支持、QoR 功能及易用性增强。
    的头像 发表于 12-09 15:11 1309次阅读

    AMD Versal自适应SoC内置自校准的工作原理

    本文提供有关 AMD Versal 自适应 SoC 内置自校准 (BISC) 工作方式的详细信息。此外还详述了 Versal 的异步模式及其对 BISC 的影响。
    的头像 发表于 10-21 08:18 4374次阅读

    【NCS随笔】如何进入system_off深度睡眠模式以及配置GPIO中断唤醒

    【NCS随笔】如何进入system_off深度睡眠模式以及配置GPIO中断唤醒 本文章主要是讲解NCS下面使用nRF54L15如何进入system_off模式,以及如何配置通过按键唤醒
    的头像 发表于 09-29 00:56 927次阅读
    【NCS随笔】如何进入system_off深度睡眠模式以及配置<b class='flag-5'>GPIO</b>中断<b class='flag-5'>唤醒</b>

    AMD Versal自适应SoC上使用QEMU+协同仿真示例

    在任意设计流程中,仿真都是不可或缺的关键组成部分。它允许用户在无任何物理硬件的情况下对硬件系统进行确认。这篇简短的博客将介绍如何使用 QEMU + 协同仿真来对 AMD Versal 自适应
    的头像 发表于 08-06 17:21 2181次阅读
    在<b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b>自适应<b class='flag-5'>SoC</b>上使用QEMU+协同仿真示例

    基于AMD Versal器件实现PCIe5 DMA功能

    VersalAMD 7nm的SoC高端器件,不仅拥有比16nm性能更强的逻辑性能,并且其PS系统中的CPM PCIe也较上一代MPSoC PS硬核PCIe单元强大得多。本节将基于
    的头像 发表于 06-19 09:44 2011次阅读
    基于<b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b>器件实现PCIe5 DMA功能

    AMD第二代Versal AI Edge和Versal Prime系列加速量产 为嵌入式系统实现单芯片智能

    我们推出了 AMD 第二代 Versal AI Edge 系列和第二代 Versal Prime 系列,这两款产品是对 Versal 产品组合的扩展,可为嵌入式
    的头像 发表于 06-11 09:59 2069次阅读

    利用AMD VERSAL自适应SoC的设计基线策略

    您是否准备将设计迁移到 AMD Versal 自适应 SoC?设计基线是一种行之有效的时序收敛方法,可在深入研究复杂的布局布线策略之前,帮您的 RTL 设计奠定坚实的基础。跳过这些步骤可能会导致
    的头像 发表于 06-04 11:40 914次阅读

    AMD Versal Adaptive SoC Clock Wizard AXI DRP示例

    本文将使用 Clocking Wizard 文档 PG321 中的“通过 AXI4-Lite 进行动态重配置的示例”章节作为参考。
    的头像 发表于 05-27 10:42 1312次阅读
    <b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b> <b class='flag-5'>Adaptive</b> <b class='flag-5'>SoC</b> Clock Wizard AXI DRP示例

    适用于VersalAMD Vivado 加快FPGA开发完成Versal自适应SoC设计

    设计、编译、交付,轻松搞定。更快更高效。 Vivado 设计套件提供经过优化的设计流程,让传统 FPGA 开发人员能够加快完成 Versal 自适应 SoC 设计。 面向硬件开发人员的精简设计流程
    的头像 发表于 05-07 15:15 1471次阅读
    适用于<b class='flag-5'>Versal</b>的<b class='flag-5'>AMD</b> Vivado  加快FPGA开发完成<b class='flag-5'>Versal</b>自适应<b class='flag-5'>SoC</b>设计

    第二代AMD Versal Premium系列SoC满足各种CXL应用需求

    第二代 AMD Versal Premium 系列自适应 SoC 是一款多功能且可配置的平台,提供全面的 CXL 3.1 子系统。该系列自适应 So
    的头像 发表于 04-24 14:52 1405次阅读
    第二代<b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b> Premium系列<b class='flag-5'>SoC</b>满足各种CXL应用需求