设备树的interrupts属性
在设备树⾥⾯,中断使⽤interrupts来描述。
interrupts属性后⾯,会有不同的参数,有时是两个,有时是三个
两个的时候⼀般是这样出现:
interrupt-parent = <&gpio2>;
interrupts = <29 0>;
⼀般这样表明:中断控制器是GPIO2,然后使⽤它的29号中断。(这⾥的29号,就是指29号引脚),0是指触发的⽅式(上升沿、下降沿等)。
三个的时候⼀般是这样出现:
interrupts = <0 37 1>;
interrupts = <GIC_SPI 37 1>;
interrupts = <GIC_PPI 37 1>;
先看⼏个缩写
IPI:inter-procesr interrupt 中断号0~15
PPI:per processor interrupts 中断号16~31
SPI:shared processor interrupts 中断号 32 ~32+224
SGI:software generated interrupts (SGI).
三个的时候:
第⼀个参数表⽰是IPI、PPI、SPI、SGI其中的⼀个
第⼆个参数表⽰:是第⼀个参数⾥⾯的第⼏个
第三个参数表⽰:中断触发的类型。(上升沿、下降沿等)
下⾯是中断类型的值:
#define IRQ_TYPE_NONE 0
#define IRQ_TYPE_EDGE_RISING 1
#define IRQ_TYPE_EDGE_FALLING 2
#define IRQ_TYPE_EDGE_BOTH (IRQ_TYPE_EDGE_FALLING | IRQ_TYPE_EDGE_RISING)
#define IRQ_TYPE_LEVEL_HIGH 4
#define IRQ_TYPE_LEVEL_LOW 8
以上是使⽤过程中的⼀点总结,有不对的地⽅,留⾔指正。