设备树中的interrupts属性解析
interrupts属性会有两种不同的参数:
1. 带两个参数的情形
示例:
interrupt-parent = <&gpio2>;
interrupts = <5 1>;
表示中断控制器是GPIO2,使用GPIO2的第5号中断,这里的第5号中断指的是5号引脚,1是指中断触发的方式为上升沿触发,详见内核代码中的头文件include/dt-bindings/interrupt-controller/irq.h
2. 带三个参数的情形
示例:
interrupts = <GIC_SPI 66 1>;
2.1 先了解一下中断的类型
IPI:inter-processer interrupt 中断号0~15
PPI:per processor interrupts 中断号16~31
SPI:shared processor interrupts 中断号 32 ~32+224
SGI:software generated interrupts (SGI).
所以上述示例表示中断类型为共享处理器中断(SPI),中断号为SPI中断类型中的第66号中断号,计算出来的实际中断号即为32+66=98号中断,1表示上升沿触发中断