设备数中的interrupt

设备树中有很多描述中断的地方例如

axi_timer@42800000 {
    compatible = "xlnx,axi_timer-1.03.a";
    reg = <0x42800000 0x10000>;
    interrupts = <0 37 1>;
      interrupt-parent = <&gic>;
};
一开始搞不清楚中断号37从哪里来的,根据网上资料现在整理一下思路。

先看几个缩写
IPI:inter-processer interrupt   中断号0~15
PPI:per processor interrupts    中断号16~31
SPI:shared processor interrupts  中断号 32 ~32+224
SGI:software generated interrupts (SGI).
设备树是用来描述硬件信息的,因此里面不涉及软件中断SGI,从设备树包含的头文件可以看出这一点:
在arm-gic.h文件中定义的只有SPI和PPI
#define GIC_SPI 0
#define GIC_PPI 1

一般设备树中的中断都是SPI,那么 interrupts = <0 37 1>;形式中的<X Y Z>
都是什么呢
X:GIC_SPI或者GIC_PPI
Y:物理中断号-32
Z:触发方式
  • 1 = low-to-high edge triggered
  • 2 = high-to-low edge triggered (invalid for SPIs)
  • 4 = active high level-sensitive
  • 8 = active low level-sensitive (invalid for SPIs).



  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值