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表示有多个地址资源。

你可能感兴趣的:(dts)