设备信息添加
ARM平台的设备信息,都是通过Device Tree设备树来添加,设备树信息放置在arch/arm64/boot/dts/下
下图就是一个中断控制器的设备树信息:
compatible字段:用于与具体的驱动来进行匹配,比如图片中arm, gic-400,可以根据这个名字去匹配对应的驱动程序;
interrupt-cells字段:用于指定编码一个中断源所需要的单元个数,这个值为3。比如在外设在设备树中添加中断信号时,通常能看到类似interrupts= 《0 234》;的信息,第一个单元0,表示的是中断类型(1:PPI,0:SPI),第二个单元23表示的是中断号,第三个单元4表示的是中断触发的类型;
reg字段:描述中断控制器的地址信息以及地址范围,比如图片中分别制定了GIC Distributor(GICD)和GIC CPUInterface(GICC)的地址信息;
interrupt-controller字段:表示该设备是一个中断控制器,外设可以连接在该中断控制器上;
关于设备数的各个字段含义,详细可以参考Documentation/devicetree/bindings下的对应信息;
设备树的信息,是怎么添加到系统中的呢?DeviceTree最终会编译成dtb文件,并通过Uboot传递给内核,在内核启动后会将dtb文件解析成device_node结构。关于设备树的相关知识,本文先不展开,后续再找机会补充。来一张图,先简要介绍下关键路径:
设备树的节点信息,最终会变成device_node结构,在内存中维持一个树状结构;
设备与驱动,会根据compatible字段进行匹配;
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
相关推荐
lspci是列出所有的硬件信息,包括已经安装了驱动还是没有安装驱动的硬件设备,因为根据pci规范,只要改设备在pci总线上挂着,就可以读到起
发表于 07-23 07:25
文章目录一、回顾二、设备树中GIC中断控制器节点三、外设中断控制器节点三、其他设备使用中断节点1、中断类型四、常用函数1、request_irq()函数(1
发表于 01-10 07:37
同一个中断号。2、寄存器banking对于同一个gic寄存器地址,在不同的情况下,访问的是不同的寄存器。例如在secure和non-secure状态下,访问同一个gic寄存器,其实是访问的不同的gic的寄存器。具体,更多的
发表于 04-06 10:15
这个文档简单介绍了如何在 H-FLASHER 中添加NAND FLASH 驱动。基于这个文档,用户可以根据 自己的实际需求修改已有的NAND FLASH 驱动程序,或添加新的NAND
发表于 04-01 10:21
•0次下载
下面以添加一个字符设备为例,说明添加设备驱动的过程.块设备与网络设备可以比照处理. 0.原文件放
发表于 10-13 15:29
•67次下载
本文分析了ARM-Linux下IIC总线及其设备驱动的层次结构,指出了IIC设备添加与驱动实现的途径,详细阐述了如何采用通用i2c-dev.
发表于 06-13 14:37
•57次下载
本文档内容介绍了基于GIC的物联网的应用方案,供参阅。
发表于 09-18 15:46
•0次下载
地磁感应电流(geomagnetically induced currents,GIC)引起变压器半波饱和对电力系统的安全运行产生不利影响,甚至引发大面积停电事故。为了有效治理GIC对大规模电力系统
发表于 01-04 17:03
•7次下载
GIC硬件原理 ARM公司提供了一个通用的中断控制器 GIC(Generic Interrupt Controller) , GIC 的版本包括 V1 ~ V4 ,由于本人使用的SoC中的中断控制器
发表于 09-28 14:58
•1846次阅读
匹配设备; 在GIC驱动程序中,使用 IRQCHIP_DECLARE 宏来声明结构信息,包括 compatible 字段和回调函数,该宏会将这个结构放置到 __irqchip_of_t
发表于 09-28 15:09
•498次阅读
数据结构分析 先来张图: GIC驱动中,使用 struct gic_chip_data 结构体来描述GIC控制器的信息,整个
发表于 09-28 15:18
•534次阅读
电子发烧友网站提供《ARM-Linux-IIC设备的添加与驱动实现.pdf》资料免费下载
发表于 10-24 09:55
•0次下载
为了适应大规模的SoC设计,GIC-600被设计成分布式IP。 所谓分布式,GIC-600由几种组件构成,每个组件可以跟其它相关模块在物理设计上摆放在一起,并与其拥有共同的电源域;组件之间通过片上网
发表于 11-07 17:19
•664次阅读
。用于gic的IRI组件,和cpu interface之间,传输信息。 • ◾distributor,redistributor和ITS,统称为IRI组件(interrupt routing infrastructure)。 • ◾gi
发表于 11-07 18:07
•589次阅读
添加设备驱动是使用LabVIEW进行设备控制和数据采集的关键步骤之一。本文将向您介绍如何在LabVIEW中添加设备驱动程序。 在开始之前,您
发表于 01-02 16:10
•2183次阅读
评论