首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >内核IRQ域列表

内核IRQ域列表
EN

Stack Overflow用户
提问于 2017-12-07 16:05:13
回答 1查看 1.3K关注 0票数 0

我正在为运行linux的SoC (新手级)开发一个简单的GPIO驱动程序,我面临的问题是IRQ号与数据表中的不同。

我了解到,有效的IRQ管理器可以创建IRQ域。然而,

无符号int irq_find_mapping(struct irq_domain * irq_hw_number_t,irq_hw_number_t hwirq)需要一个域结构。如何列出我的平台的可用域。谢谢。

以下是一些文件的内容

文件: irq_domain_mapping

代码语言:javascript
复制
 `name       mapped linear-max direct-max devtree_node     gpio-dwapb 29     29         0          /soc/gpio@ff709000/gpio-controller      ...     99 0x00019 none`   

文件: /proc/interrupts

代码语言:javascript
复制
 `99 ... 25 edge gpiolib`   

但是,DTS文件使用dwapb管理器将中断映射为197。

代码语言:javascript
复制
 `interrupts = <0x00000000 0x000000a5 0x00000004>`
EN

回答 1

Stack Overflow用户

发布于 2017-12-08 07:49:03

有许多事情需要考虑:

  1. /proc/interrupts将给出IRQ号,您可以直接使用它。
  2. BSP文档提到由驱动程序分配/使用的IRQ。
  3. 请参阅内核代码/arch/arm/您的平台文件,您将看到分配的IRQ编号。
  4. 设备树文件是识别IRQ编号的最佳选择。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47699089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档