linux如何通过设备树获取到中断号irq
这几天看linux的中断,有很多不明白,向大神们请教。
对于中断申请函数中的第一个参数,irq,自己原本理解的是硬件手册上的中断号,后来发现不对,应该是linux内核中的IRQ号。
例如对于三星exynos4412芯片中的GPX1_1和GPX1_2对应的硬件中断号为25,26


在使用request_irq时第一个参数需要有个转换的过程,如下
完成对中断的申请。
现在不理解的是,在设备树形式下,如何来完成的,我是参考的这篇博客上http://blog.csdn.net/zqixiao_09/article/details/50916212(设备树)和http://blog.csdn.net/zqixiao_09/article/details/50908125(中断驱动)
设备树下的中断如下

驱动获取中断如下

代码的64 65行获取设备资源,然后67 68行拿出了资源的res->start就能直接赋值给irq参数了?platform_get_resource已经把硬件中断号转换为linux的中断号了吗?我理解的不知道对不对,如果是的话,这中间是个什么过程呢?
request_irq(unsigned int irq, irq_handler_t handler, unsigned long flags,
const char *name, void *dev)对于中断申请函数中的第一个参数,irq,自己原本理解的是硬件手册上的中断号,后来发现不对,应该是linux内核中的IRQ号。
例如对于三星exynos4412芯片中的GPX1_1和GPX1_2对应的硬件中断号为25,26


在使用request_irq时第一个参数需要有个转换的过程,如下
request_irq(IRQ_EINT(9),key_handler,IRQF_TRIGGER_FALLING,"KEY1",NULL);完成对中断的申请。
现在不理解的是,在设备树形式下,如何来完成的,我是参考的这篇博客上http://blog.csdn.net/zqixiao_09/article/details/50916212(设备树)和http://blog.csdn.net/zqixiao_09/article/details/50908125(中断驱动)
设备树下的中断如下

驱动获取中断如下

代码的64 65行获取设备资源,然后67 68行拿出了资源的res->start就能直接赋值给irq参数了?platform_get_resource已经把硬件中断号转换为linux的中断号了吗?我理解的不知道对不对,如果是的话,这中间是个什么过程呢?
...全文
相关推荐
宋宝华 - 深入探究Linux设备树CSDN讲座ppt
宋宝华 - 深入探究Linux设备树CSDN讲座ppt。详细的论述的device tree的方方面面。
RK3568平台开发系列讲解(中断及异常篇)获取中断号
沉淀、分享、成长,让自己和他人都能有所收获!
tiny4412背光驱动,移植到linux-6.1
移植tiny4412背光驱动,到linux-6.1。解决了设备树中无法获取irq中断资源的问题。
天嵌开发板设备树配置文件
天嵌开发板的设备数配置文件,触摸驱动ft5306 等配置信息。 天嵌开发板的设备数配置文件,触摸驱动ft5306 等配置信息。
linux 驱动实例代码,基本一看就知道怎么写linux下驱动了
几个非常不错的linux 驱动,主要涉及到GPIO口的一些驱动


驱动开发/核心开发
