概述
随着Linux的发展,dts技术是大势所趋。里面的interrupts = < >这个里面的是1个数,有的是2个数,有的是3个数。这里啰嗦两句,笔记一下。
这个数目,是由这个属性来定的。#interrupt-cells ,如果当前节点找不到,就是跟随父节点的。至于含义,说明如下。
一个cell的情况:
当前interrupt 位于他的中断控制器的索引,比如:
vic: intc@10140000 {
compatible = "arm,versatile-vic";
interrupt-controller;
#interrupt-cells = <1>;
reg = <0x10140000 0x1000>;
};
sic: intc@10003000 {
compatible = "arm,versatile-sic";
interrupt-controller;
#interrupt-cells = <1>;
reg = <0x10003000 0x1000>;
interrupt-parent = <&vic>;
interrupts = <31>; /* Cascaded to vic */
};
二个cell的情况
第一个值: 该中断位于他的中断控制器的索引;
第二个值:触发的type
固定的取值如下:
1 = low-to-high edge triggered
2 = high-to-low edge triggered
4 = active high level-sensitive
8 = active low level-sensitive
三个cell的情况
第一个值:中断号
第二个值:触发的类型
第三个值:优先级,0级是最高的,7级是最低的;其中0级的中断系统当做 FIQ处理。
最后
以上就是完美毛巾为你收集整理的关于device tree中的interrupts选项的全部内容,希望文章能够帮你解决关于device tree中的interrupts选项所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复