一.设备树中断相关属性
interrupts:
interrupts 属性用于指定设备的中断相关信息。它描述了中断控制器的类型、中断号以及 中断触发类型。
gpio0: gpio@fdd60000 {
....
interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
....
};
gpio0 节点的 interrupts 具有三个参数,分别表示中断控制器类型、中断号和中断触发类型, 每个参数的具体描述如下所示:
中断控制器类型:interrupts 属性的第一个参数指定了中断控制器的类型。常见的类型包括 GIC (Generic Interrupt Controller)、IRQ (Basic Interrupt Handling) 等。例如,在给定的代码片段中,GIC_SPI 表 示中断控制器的类型为 GIC SPI 中断。
中断号: interrupts 属性的第二个参数指定了设备所使用的中断号。中断号是一个唯一标识符,用 于区分不同的中断信号源。系统使用中断号来识别中断源并进行相应的中断处理。 中断号可以是一个整数值,也可以是一个宏定义或符号引用。在给定的代码片段中,33 表 示该设备使用的中断号为 33。
中断触发类型: interrupts 属性的第三个参数指定了中断的触发类型,即中断信号的触发条件。常见的触 发类型包括边沿触发和电平触
本文详细介绍了在Linux系统中,如何通过DeviceTree(DTS)和OF操作函数(如irq_of_parse_and_map、irq_get_trigger_type等)来解析中断资源,以及如何在驱动程序中实现中断的映射、触发类型获取和GPIO到中断号的转换。
订阅专栏 解锁全文
577

被折叠的 条评论
为什么被折叠?



