提示:of 函数获取中断信息
文章目录
前言
- 前面了解了of 函数获取设备节点、设备属性 相关内容,这里通过 of 函数获取中断相关信息
一、参考资料
Linux-驱动-设备树实案例分析-中断
Linux驱动-设备树-获取节点属性of函数分析
RK3568平台(中断篇)of操作函数获取中断资源
of操作函数——获取中断资源
二、of 相关API 获取中断资源
配置中断设备树节点
路径:kernel/arch/arm64/boot/dts/rockchip/rk3568-evb1-ddr4-v10-linux.dts 中,新增中断设备数描述,如下:
新增如下设备数,配置中断节点:
。。。。。
/{
topeet{
#address-cells = <1>;
#size-cells = <1>;
ranges;
compatible = "simple-bus";
myLed{
compatible = "my devicetree";
reg = <0xFDD60000 0x00000004>;
};
myirq {
compatible = "my_devicetree_irq";
interrupt-parent = <&gpio3>;
interrupts = <RK_PA5 IRQ_TYPE_LEVEL_LOW>;
};
};
};
。。。。。。。。。。
问题:
上面配置为什么这么配置,设备树中中断配置就是这么配置的,前面我们了解过。 这里我们参考的文件是:/kernel/arch/arm64/boot/dts/rockchip/topeet_rk3568_lcds.dtsi

编译Room后,查看开发板是否生成了中断设备,如下:路径:/sys/bus/platform/devices
[root@topeet:/sys/bus/platform/devices]# ls topeet
driver_override fdd60000.myLed modalias of_node power subsystem topeet:myirq uevent
看到了 topeet:myirq ,说明设备树生成设备成功。
irq_of_parse_and_map
irq_of_parse_and_map 是 Linux 设备树(DTS)操作中用于解析和映射中断请求(IRQ)的重要函数。它在设备驱动初始化过程中经常被使用,用于从设备树节点获取中断信息并将其映射到Linux内核的IRQ编号。
函数原型
unsigned int irq_of_parse_and_map(struct device_node *dev, int index);
参数说明
- dev: 指向设备树节点的指针,表示要从中获取中断信息的设备节点
- index: 中断的索引号,表示要获取该设备的第几个中断描述
返回值
成功返回Linux IRQ号,失败返回0
示例驱动代码如下:
#include <linu

最低0.47元/天 解锁文章
875

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



