在設備樹裏面,中斷使用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-processer 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
以上是使用過程中的一點總結,有不對的地方,留言指正。