【发布时间】:2018-07-17 20:32:50
【问题描述】:
上下文
在我使用的设备树中,在它的一个节点中,interrupts 是:
interrupts = <0x0 0x1d 0x4>;
(来自 Pynq 板的设备树,配备具有双核 ARM A9 的 ZYnq 设备)
现在,在设备树.probe 函数中,我使用Linux 内核API:
irq_line = platform_get_irq(pdev, 0);
为了让 irq 用于函数 request_irq(在 ldd3 第 10 章中描述)。
执行irq_line = platform_get_irq(pdev, 0); 时,我得到的值0x2e 与设备树的interrupts 的字段不匹配。
问题
-
<0x0 0x1d 0x4>数字到底是什么?我知道,根据elinux.org,:
interrupts - 设备节点的属性,包含一系列中断说明符,设备上的每个中断输出信号对应一个。
我怎样才能使用 irq 行(可能从这些数字开始)? irq line是否与设备树相关?
为什么我得到的值与
interrupts的任何字段都不匹配?
我确定我误解了一些重要的话题,对不起。感谢您阅读问题并分享您的知识。
【问题讨论】:
标签: linux-kernel kernel linux-device-driver platform device-tree