设备树中断属性的值是多少?

设备树中断属性的值是多少?

我试图理解设备树interrupts属性,但找不到很好的解释。

例如,如果有一个节点具有以下几行:

interrupt-parent = <&gpio5>;
interrupts = <9 0>;

我如何弄清楚幻数<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>;
};

答案1

您可以从以下位置获取一些信息内核文档它描述了中断属性。

继续下面的例子 OpenPIC 中断控制器 有 2 个单元格:

第一个单元格定义中断号。第二个单元定义了意义和电平信息。感知和电平信息应编码如下:

  0 = low to high edge sensitive type enabled
  ...

您的情况可能类似,但通常需要您对芯片组和驱动程序有深入的了解。

答案2

作为嗯建议,此信息应可在内核设备树绑定文档。但是,要查看哪个文件可能并不明显,因此这里有一些建议:

首先检查节点compatible中的属性字符串interrupt-parent(即本例中的 gpio5)。如果幸运的话,文档将包含与该信息相关的所有兼容属性字符串的列表,并且在搜索任何这些字符串时该文件将直接显示。
如果不是这种情况,您必须浏览文档目录并查找名称与兼容属性字符串类似的文件。通常,相同的文档适用于一系列设备,并且文件名中省略了型号等内容。您还可以查找较旧的型号。

首先检查相关子目录(在本例中它位于“gpio”目录下)。

请注意名称变更。例如,飞思卡尔(“fsl”)现在归 NXP 所有,因此包含“fsl”和“nxp”的文件名可能会提供有用的信息。

相关内容