dts

一个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 base address and range

reg = <0xf9200000 0xfc000>,
<0xfd4ab000 0x4>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
  • 0xf9200000表示开始地址,0xfc000表示地址范围
  • 0xfd4ab000表示有多个地址资源。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容