[笔记分享] [DT] device tree之中断

时间:2021-09-02 17:55:33

Platform: MSM8X39
OS: Android4.4

overview

设备使用中断通过interrupt-parent来指定interrupt source, 可以通过前面说的phandle来表示。 Interrupt source作为一个interrupt controller存在。

当没有指定interrupt-parent时,DT会假设当前interrupt node是parent node.

每个设备的中断有个interrupt property存在,用来表示当前使用的中断口,以及可能还有触发方式。
#interrupt-cells property用来定义interrupt <u32>的number。


properties

1. interrupts
Property: interrupts
Value type: < prop-encoded-array>
Des:

用于表示当前所用中断号是多少,第二个参数一般表示中断触发的方式,电平/边缘触发。

例子:
[msm8939-common.dtsi]

[笔记分享] [DT] device tree之中断

元素在不同场景下表示也不一样,这里第二个元素是interrupt number. 其他两个元素貌似没用上?

2. interrupt-parent
Property: interrupt-parent
Value type: < phandle>
Des:

对于中断来说,它的parent node不一定是interrupt parent,所有需要显示地指出。
如果没有写明,表明parent node就是默认的interrupt parent.

例子:

[笔记分享] [DT] device tree之中断

表明它的interrupt parent是msm_gpio.
[msm8939-pinctrl.dtsi]

[笔记分享] [DT] device tree之中断

3. #interrupt-cells
Property: #interrupt-cells
Value type: < u32>
Des:

定义interrupt property 的number.

例子:
[msm8939-pinctrl.dtsi]

[笔记分享] [DT] device tree之中断

4. interrupt-parent
Property: interrupt-parent
Value type: < empty>
Des:

表明当前node是个interrupt controller.

例子:
[msm8939-pinctrl.dtsi]

[笔记分享] [DT] device tree之中断


参考文档:

Q1:Power_ePAPR_APPROVED_v1.1.pdf
Q2:http://www.devicetree.org/Device_Tree_Usage
Q3:http://www.wowotech.net/sort/device_model

                                                            Kris.Fei
2014/10/30