我试图理解设备树interrupts
属性,但找不到很好的解释。
例如,如果有一个节点具有以下几行:
interrupt-parent = <&gpio5>;
interrupts = <9 0>;
Run Code Online (Sandbox Code Playgroud)
我如何弄清楚幻数<9 0>
与什么相关?它是位掩码、GPIO 端口号、引脚号、优先级、边缘还是其他?
该interrupt-parent
节点如下所示(我想对于大多数 ARM 设备来说都是类似的):
gpio5: gpio@1234 {
compatible = "fsl,imx7d-gpio", "fsl,imx35-gpio";
reg = <0x30240000 0x10000>;
interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
};
Run Code Online (Sandbox Code Playgroud)
您可以从描述中断属性的内核文档中获取一些信息。
继续以 OpenPIC 中断控制器为例 ,该控制器有 2 个单元:
第一个单元格定义中断号。第二个单元定义了意义和电平信息。感知和电平信息应编码如下:
0 = low to high edge sensitive type enabled
...
Run Code Online (Sandbox Code Playgroud)
您的情况可能类似,但通常需要您对芯片组和驱动程序有深入的了解。