linux开发之设备树四、设备树中断节点

中断节点

这里是由原厂的BSP工程师写的一部分

在CPU的外部有一个GIC控制器,外设会连接在GIC控制器上

设备树是对硬件进行描述的,所以设备树会对CPU进行描述,也要对GIC

控制器进行描述,这部分的代码由原厂的BSP工程师进行编写,这部分就对应上图的上半部分。

首先gpio0是一个标签(可以理解为名字),gpio0@fdd60000是这个节点的名称,fdd60000是这个gpio0的寄存器地址,这个只是为了取名字,实际可能没有意义,具体还要看内部其他参数。

在节点中出现gpio-controller说明这是一个gpio控制器,出现interrupt-controller代表这是一个中断控制器,同时出现是因为gpio引脚也可以作为中断使用

在interrupts =<GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;中,GIC_SPI 33代表33号引脚为SPI中断,IRQ_TYPE_LEVEL_HIGH表示高电平触发

#interrupt-cells = <2>;是重点,这表示引用这个节点的interrupts 可以有几个值,可以看到是两个值

这部分是实际使用时编写的

interrupt-parent =<&gpio0>;这里引用了上面的gpio0节点,也就是上面的中断控制器,

interrupts =<RK_PB5 IRQ_TYPE_LEVEL_LOW>;表示那个引脚作为中断引脚,低电平触发中断,这里有两个值,从上面的#interrupt-cells = <2>;中定义的,规定了两个值,所以这里就有了两个值,一个引脚编号,一个触发模式

从上面这两个参数就可以判断出来使用那个管脚,gpio0,PB5,中断引脚,低电平触发


选择中断控制器

中断控制器的级联

相关推荐
企鹅的蚂蚁3 分钟前
LubanCat RK3588 实时 Linux 开发(七):YT6801 PCIe 网卡驱动移植与 vermagic 排查
linux·rk3588·linux驱动·yt6801·pcie网卡·vermagic
DYWorker00112 分钟前
Linux驱动子系统:DMA子系统 —— Consumer和Provider(006)
linux·驱动开发
byte轻骑兵21 分钟前
【BlueZ】 log 模块:日志系统的实现与自定义日志输出配置
linux·人工智能·bluez·电脑蓝牙·嵌入式蓝牙
探索云原生1 小时前
KubeClipper 1.7.0 发布:Operation 优化与 Kubernetes 1.37 支持
linux·docker·云原生·kubernetes·go
一技安身1 小时前
【信创】docker-26.0.2.tgz 原理 + 完整安装
linux·运维·服务器
程曦曦2 小时前
MySQL 生产库误删 98 张表后的时间点恢复实战:从 binlog 解析到资金对账
linux·数据结构·其他·算法·ubuntu·运维开发
赵民勇2 小时前
systemd-mount命令详解
linux
H_oRIZoN_2 小时前
Linux入门DAY42【51 单片机】DS18B20 数字温度传感器完整解析(单总线原理 + 时序 + 读取流程)
linux·单片机·linux应用编程
j7~2 小时前
【Linux网络加餐】(篇六)网络版计算器(上):模板方法模式、序列化与 JSON
linux·c++·json·序列化·反序列化·网络版计算机
流浪0013 小时前
Linux系统篇34——信号(六):信号处理期间又来了怎么办?——sigaction、sa_mask、可重入函数与 volatile
linux·运维·面试·操作系统·信号处理·信号