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
    +关注

    关注

    38

    文章

    4156

    浏览量

    218125
  • Linux
    +关注

    关注

    87

    文章

    11279

    浏览量

    209264
  • GPIO
    +关注

    关注

    16

    文章

    1204

    浏览量

    52043
  • Versal
    +关注

    关注

    1

    文章

    158

    浏览量

    7654

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

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

收藏 人收藏

    评论

    相关推荐

    AMD Vivado Design Suite 2024.2全新推出

    AMD Vivado Design Suite 2024.2 全新推出,使用 AMD Versal Adaptive SoC 进行设计的重大
    的头像 发表于 11-22 13:54 218次阅读

    AMD推出第二代Versal Premium系列

    近日,AMD(超威,纳斯达克股票代码:AMD )今日宣布推出第二代 AMD Versal Premium 系列,这款自适应 SoC 平台旨在
    的头像 发表于 11-13 09:27 340次阅读

    AMD第二代Versal自适应SoC的主要特色

    AMD 第二代 AMD Versal AI Edge 和 Versal Prime 系列助力 AI 驱动型和经典的嵌入式系统实现单芯片智能性
    的头像 发表于 09-18 10:14 482次阅读

    AMD Versal自适应SoC CPM5 QDMA的Tandem PCIe启动流程介绍

    本文将从硬件设计和驱动使用两个方面介绍基于 CPM5 QDMA 的 AMD Versal 自适应 SoC 的 Tandem 设计和启动流程。
    的头像 发表于 09-18 10:07 499次阅读
    <b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b>自适应<b class='flag-5'>SoC</b> CPM5 QDMA的Tandem PCIe启动流程介绍

    ALINX VERSAL SOM产品介绍

    近日,2024 AMD Adaptive Computing Summit(AMD ACS)在深圳举行,芯驿电子应邀出席作主题分享:《ALINX 基于 Versal 系列硬件解决方案》
    的头像 发表于 08-05 10:33 645次阅读

    AMD VersalAdaptive SoC CPM PCIE PIO EP设计CED示例

    本文可让开发者们看懂 AMD Vivado Design Tool 2023.2 中的“AMD Versal Adaptive SoC CP
    的头像 发表于 05-10 09:39 565次阅读
    <b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b>™ <b class='flag-5'>Adaptive</b> <b class='flag-5'>SoC</b> CPM PCIE PIO EP设计CED示例

    SWDT在AMD VersalAdaptive SoC中的应用案例分享

    系统看门狗定时器(System WatchDog Timer)通常用于嵌入式系统,可以有效的防止软件错误、系统死锁、篡改以及意外行为,帮助维护健康和安全的系统
    的头像 发表于 04-15 10:36 877次阅读
    SWDT在<b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b>™ <b class='flag-5'>Adaptive</b> <b class='flag-5'>SoC</b>中的应用案例分享

    AMD发布第二代Versal自适应SoC,AI嵌入式领域再提速

    AMD表示,第二代Versal系列自适应SoC搭载全新的AI引擎,相较上一代Versal AI Edge系列,每瓦TOPS功率可实现最多3倍的性能提升,同时,新款集成Arm CPU的高
    的头像 发表于 04-11 16:07 775次阅读

    AMD Versal SoC刷新边缘AI性能,单芯片方案驱动嵌入式系统

    宣布扩展 AMD Versal™ 自适应片上系统SoC )产品组合,推出全新第二代 Versal AI Edge 系列和第二代
    的头像 发表于 04-11 09:06 3712次阅读
    <b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b> <b class='flag-5'>SoC</b>刷新边缘AI性能,单芯片方案驱动嵌入式<b class='flag-5'>系统</b>

    AMD Versal SoC全新升级边缘AI性能,单芯片方案驱动嵌入式系统

    宣布扩展 AMD Versal™ 自适应片上系统SoC )产品组合,推出全新第二代 Versal AI Edge 系列和第二代
    的头像 发表于 04-09 21:32 1053次阅读
    <b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b> <b class='flag-5'>SoC</b>全新升级边缘AI性能,单芯片方案驱动嵌入式<b class='flag-5'>系统</b>

    【ALINX 技术分享】AMD Versal AI Edge 自适应计算加速平台之 Versal 介绍(2)

    【ALINX 技术分享】AMD Versal AI Edge 自适应计算加速平台之 Versal 介绍,以及Versal 芯片开发流程的简介。
    的头像 发表于 03-07 16:03 1019次阅读
    【ALINX 技术分享】<b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b> AI Edge 自适应计算加速平台之 <b class='flag-5'>Versal</b> 介绍(2)

    AMD Versal AI Edge自适应计算加速平台之Versal介绍(2)

    Versal 包含了 Cortex-A72 处理器和 Cortex-R5 处理器,PL 端可编程逻辑部分,PMC 平台管理控制器,AI Engine 等模块,与以往的 ZYNQ 7000 和 MPSoC 不同,Versal 内部
    的头像 发表于 03-06 18:12 1447次阅读
    <b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b> AI Edge自适应计算加速平台之<b class='flag-5'>Versal</b>介绍(2)

    AMD率先推出符合DisplayPort™ 2.1 8K视频标准的FPGA和自适应SoC

    AMD UltraScale+ FPGA 和 AMD Versal 自适应 SoC 产品系列已率先成为业界符合 VESA DisplayPort 2.1 标准的 FPGA 和自适应
    的头像 发表于 01-24 09:18 461次阅读

    Versal自适应SoC系统集成和 确认方法指南

    电子发烧友网站提供《Versal自适应SoC系统集成和 确认方法指南.pdf》资料免费下载
    发表于 01-03 10:48 0次下载
    <b class='flag-5'>Versal</b>自适应<b class='flag-5'>SoC</b><b class='flag-5'>系统</b>集成和 确认方法指南

    通过JTAG启动Linux的方法和脚本

    AMD SoC 器件(AMD Zynq 7000 SoCAMD Zynq UltraScale+ MPSoC,
    的头像 发表于 12-22 10:27 1487次阅读
    <b class='flag-5'>通过</b>JTAG启动<b class='flag-5'>Linux</b>的方法和脚本