我是靠谱客的博主 完美毛巾,最近开发中收集的这篇文章主要介绍关于device tree中的interrupts选项,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

随着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选项所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(69)

评论列表共有 0 条评论

立即
投稿
返回
顶部