中断系统中的设备树(五)__内核对设备树中断信息的处理


从硬件结构上看, 处理过程分上下两个层面: 中断控制器, 使用中断的设备

 从软件结构上看, 处理过程分左右两个部分: 在设备树中描述信息, 在驱动中处理设备树

从图中我们可以看到有顶层的中断控制器(interrupt-controller@4a000000),
也有下面一级的中断控制器gpg、gpf,对于gpg、gpf这两个中断控制器是pinctr节点里面的子节点,对应的设备树描述如下所示:

    pinctrl@56000000 {
        reg = <0x56000000 0x1000>;
        compatible = "samsung,s3c2440-pinctrl";

        wakeup-interrupt-controller {
            compatible = "samsung,s3c2410-wakeup-eint";
            interrupts = <0x0 0x0 0x0 0x3 0x0 0x0 0x1 0x3 0x0 0x0 0x2 0x3 0x0 0x0 0x3 0x3 0x0 0x0 0x4 0x4 0x0 0x0 0x5 0x4>;
        };

        gpf {
            gpio-controller;
            #gpio-cells = <0x2>;
            interrupt-controller;
            #interrupt-cells = <0x2>;
            phandle = <0x6>;
        };

        gpg {
            gpio-controller;
            #gpio-cells = <0x2>;
            interrupt-controller;
            #interrupt-cells = <0x2>;
            phandle = <0xe>;
        };
    
    };

所以对于gpg、gpf这两个中断控制器的处理因该有pinctr的驱动程序来处理,pinctr对应的驱动程序:drivers/pinctrl/samsung/pinctrl-samsung.c

 

对于顶层的中断控制对应的驱动程序是drivers/irqchip/irq-s3c24xx.c

对于buttons节点对应的驱动程序是我们自己写按键驱动程序button.c,在中断系统中的设备树(四)__设备树描述按键中断中介绍过,内部数据的处理在后面会详细介绍的,每一个中断控制器在linux驱动程序里面都会有一个irq_domain(域),

 

在解析设备的中断信息时也会涉及到irq_domain(域)

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值