首页 > TAG信息列表 > device-tree

linux-设备树和驱动程序探测

在Linux设备树文件(DTS)中,如果给出了多个选项,兼容条目如何工作?看来这不是在这些条目之间进行选择,但是分层设备也是可能的(例如,我有一行诸如compatible =“ vendor,controller-uart”,“ vendor,controller-serial”似乎将两个驱动程序控制器关联-serial和controller-uart(就代

linux-spi_driver.id_table和spi_driver.driver.of_match_table之间的区别

我目前正在尝试了解linux驱动程序的工作方式.据我所知,当内核解析设备树中相应的.compatible字符串时,将调用驱动程序的probe / init函数.但是,在arizona-spi驱动程序中,看起来好像有多个在不同成员中引用的兼容字符串: static const struct spi_device_id arizona_spi_ids[] = { {

linux-`.dts`文件和`.dtsi`文件有什么区别?

.dts文件和.dtsi文件有什么区别?生成设备树Blob时有区别吗?什么时候使用其中一个?解决方法:Here,由Thomas Petazzoni解释,并在@ mc110的评论之一中指出,您可以找到: > .dts<-用于板级定义的文件 > .dtsi<-包含文件的文件,通常包含SoC级定义(dtsi中的i代表“包含”) 但是,一旦使用设备树

ARM Linux Atags与设备树

设备树和ATAG有什么区别?此外,ATAG是必须的,内核是否期望它们在固定地址,或者它是否期望它们在r0-r3中?解决方法:设备树描述了内核用于选择要加载哪些驱动程序的硬件的所有内容,所有MMIO接口都在运行时. ATAG只描述了在哪里可以找到initrd和内核参数,内存等… – 机器的其他所有内容

如何编写Linux .dts设备树文件?

我将在我的开发板上启动Linux,我需要一个dts文件(设备树文件)来描述整个硬件.但我对这个文件的语法知之甚少,这还不足以在主板上正确运行Linux. 我现在知道的只是如何描述一个单元的中断号,频率,地址,父单元及其兼容的驱动程序类型(如下所述): ps7_scuwdt_0: ps7-scuwdt@f8f00620 {

linux – 设备树中断属性的值是什么?

我试图了解设备树中断属性,但无法找到一个好的解释. 例如,如果存在包含以下行的节点: interrupt-parent = <&gpio5>; interrupts = <9 0>; 我如何弄清楚幻数< 9 0>与……有关? 它是位掩码,gpio端口号,引脚号,优先级,边缘还是其他什么? 中断父节点看起来像这样(我想大多数ARM设备都类

设备树blob是否绑定到特定的Linux内核版本?

我问自己,某个适用于Linux内核版本3.18的dtb是否与Linux内核版本4.9兼容. 我想不是,因为有关设备树的内核代码可能随时间发生变化,但它必须兼容,否则多个dts / dtsi文件必须一直在变化. 我使用谷歌来调查这个,但即使在官方文档中,我也找不到关于不同内核版本的兼容性的话.解决方法:

linux – 是否有可能使用正在运行的内核的/ sys获取设备树的信息?

通常对于arm系统,设备树向内核(Linux)提供硬件信息.这些设备树以dts(设备树源)文件的形式存在,这些文件被编译并加载到内核中.问题是我无法访问这样的dts文件,甚至没有访问dtb文件. 我可以在机器上访问/ sys和/ proc,我想询问是否允许我“猜测正确的值”在dts中使用? 如果这个问题的

在Linux中编写设备驱动程序

我是编写设备驱动程序的新手. 我想在ARM平台上为外设编写设备驱动程序. 第一个问题:在ARM平台上为外围设备编写设备驱动程序与在Linux中使用x86编写设备驱动程序有什么不同? 第二个问题:我检查了/ proc / iomem文件以查看处理器的当前地址映射.但是,并非所有外围设备(包括我要访问的外

linux – 在DeviceTree中命名为GPIO

我正在尝试为嵌入式系统创建设备树,并希望向用户空间公开一些GPIO.这些不是也不应该被内核驱动程序使用.例如,有一个焊接到电路板的USB设备由用户空间驱动程序控制.它有一个GPIO重置线,用户空间库需要访问它. 我希望这些在sysfs的某个地方通过名称公开,这样用户空间就可以访问/ sys

Xilinx Zynq平台上的Linux 4.5 GPIO通过Devicetree中断

我使用的是定制开发板和Zynq XC72010,用于运行Linux 4.5内核.我正在为我们正在测试的芯片开发设备驱动程序,我在尝试将GPIO线绑定到软件IRQ时遇到很多问题.到目前为止,我已经尝试了一些方法,并且耗尽了我能想到的任何谷歌搜索.我的设备配置的相关部分: / { compatible = "xlnx,

linux – GPIO-Hog声明的用途和用法

问题 > gpio-hog声明的目的和用例是什么? >可以将’hogged’gpio引脚与Userspace连接吗?>如果“hogged”gpio引脚无法与Userspace接口,那么是否有任何机制可以在dts文件中配置GPIO引脚以进行用户空间交互? 背景 我正在尝试配置许多(10)GPIO与用户空间的低级芯片对话.我已经使用sysfs导

linux – 用于从用户空间读取设备树的API

是否有API从用户空间读取Open-Firmware设备树? 例如,读取/ sys / firmware / fdt(flattened device tree)? 如果没有,是否发布了文件格式,以便用户空间应用程序可以读取fdt中的条目?解决方法:这比我想象的要容易.在支持Open-Firmware的设备上,Linux内核将其作为虚拟文件系统安装在/ pr