问题标签 [device-tree]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2138 浏览

linux - 开放固件设备树概述/参考手册

我正在尝试为嵌入式 PowerPC 板设置驱动程序,而今天正确的方法是使用 OpenFirmware 设备树数据结构(.dtb 文件,从 .dts 文件编译而来)。创建树非常容易,但是如何让设备驱动程序找到它的节点和其中的数据?我还没有找到任何好的参考资料,像“Linux 设备驱动程序”这样的书籍在 x86 领域中的内容太多,对主要与基于 Power Architecture 的机器(Linux 内核中的 arch powerpc)相关的设备树有很大帮助术语)。

0 投票
3 回答
3105 浏览

python - python中的嵌入式Linux设备树解析器?

我正在寻找一个实用程序来验证嵌入式(PPC 或 ARM)Linux *.dts(设备树源)或 *.dtb(二进制)文件与来自另一个工具的 XML 配置文件。所以,我需要解析 dts 或 dtb 文件。我真的很想用 Python 来做这件事。有谁知道解析 dts 或 dtb 文件的 Python 库或工具?设备树编译器 (dtc) 的 Python 实现将是完美的,但我还没有看到。

0 投票
1 回答
3575 浏览

linux-kernel - 在linux中获取指向结构设备的指针的更简洁的方法是什么?

我需要获得一个指向在 linux 中注册的特定设备的指针。简而言之,这个设备代表一个mii_bus对象。问题是这个设备似乎不属于总线(它dev->busNULL)所以我不能使用例如功能bus_for_each_dev。但是,该设备已由 Open Firmware 层注册,我可以of_device/sys/bus/of_platform. 我的设备也在 a 中注册,class所以我可以在/sys/class/mdio_bus. 现在的问题:

  1. of_device可以使用指向我们想要的设备的父设备的指针来获取指针吗?

  2. 我怎样才能通过仅使用名称来获得指向已经实例化的类的指针?如果可能的话,我可以迭代该类的设备。

任何其他建议都会非常有用!谢谢你们。

0 投票
2 回答
18994 浏览

linux - 如何从 Linux 驱动程序访问和调试 FDT/DTS 设备树(seg-fault)

我编写了一个 Linux 内核模块,作为基于 Freescale P2020RDB 的定制板的 FPGA 驱动程序。驱动程序包含几个#defines来指定各种地址、大小、总线宽度等。我想从驱动程序中访问板子的扁平设备树 (FDT) 以配置这些地址,因此该驱动程序可用于其他板子,其中FPGA 具有不同的大小或位于不同的地址。

我在模块的初始化函数中添加了以下简单代码,这些代码是我在浏览 Linux 内核源代码树时发现的:

不幸的是,插入模块会在尝试查找设备节点时产生分段错误。

这说明什么?有什么方法可以验证设备树 blob 是否已正确加载且可用?我是否需要更多“设置”代码来准备这样的查询?或者,我想用螺丝刀当锤子?

谢谢!

顺便说一句,这是我的 FDT (DTS) 来源:

0 投票
1 回答
2404 浏览

kernel - 错误:无法识别/不支持的设备树兼容列表

我需要你的帮助。由于我需要 Kernel 3.3 来支持特殊设备的触摸屏,因此我下载了 Linaro Kernel 3.3-rc3 文件。将文件系统从我工作的 Ubuntu-Linaro 安装更改为 ext3 后,新内核将启动到根控制台,但 HDMI 和 USB 无法正常工作......

在一些互联网提示 HDMI 无法与 3.3-rc3 一起正常工作后,我决定从 kernel.org 编译最新的内核 3.3-rc6。

现在我会收到以下错误:

我使用了原始 board.dtb 以及内核树中的版本:

但没有成功。我已经从 git.linaro.org/boot/u-boot-linaro-next.git 获得了最新的 uboot,没有变化。

谁能帮忙?

0 投票
5 回答
55078 浏览

linux - 可视化Linux内核使用的设备树文件(dtb)的工具?

我正在寻找一种可以以图形方式表示 linux 内核中使用的硬件设备树的工具。我正在尝试了解特定 arm 芯片组的 linux 内核。这将是一个非常有用的工具。

0 投票
2 回答
806 浏览

linux-kernel - 将现有的 Linux 设备结构与设备文件相关联

我正在使用嵌入在具有 Linux 内核 2.6.33 的 Virtex4 FPGA 中的 PowerPC 405 进行开发。

到目前为止,我一直在为在 FPGA 中以内核可加载模块的形式实现的平台设备编写驱动程序。使用平面开放固件设备树文件注册设备。要创建设备文件,我使用 OF 函数获取设备节点,然后注册一个新的miscdevice,然后自动注册一个次要设备号并为我创建设备文件。这也创建了一个device嵌入在miscdevice(ie miscdevice.this_device)

现在的问题是我需要执行 DMA 操作。我尝试使用 调用该dma_alloc_coherent()函数miscdevice.this_device,但该设备未与任何总线关联并且总是返回错误。我做了一些挖掘,结果发现它struct of_devicestruct device嵌入了一个(即of_device.dev)。当我尝试将它与 一起使用时dma_alloc_coherent(),它工作得很好。

所以现在我有两种不同的struct device结构,一种用于管理我的字符设备文件,另一种用于管理底层的 Open Firmware 系统调用、总线和 DMA 事务。当然,这些设备在 sysfs 中并不相互关联。

device我的问题是,是否有可能以某种方式请求为我从 OF 层获得的结构创建一个设备文件,而不是使用 Misc Device API 创建一个新设备?这样,所有内容都将与单个device结构相关联。

0 投票
6 回答
36118 浏览

beagleboard - 配置引脚模式 Beaglebone

在 beagleboard 或 beaglebone 中有不同的模式来工作 pin。对于以前的内核,它们位于 /sys/kernel/debug/omap_mux 中。你知道最后一个内核这些文件在哪里吗?

0 投票
1 回答
11584 浏览

linux - 什么是设备树?优点和缺点?

Linux 中的设备树是什么?设备树的优缺点是什么?

如果有人详细了解设备树,请帮助回答上述问题。

0 投票
4 回答
38053 浏览

linux - 如何对 Linux .dts 设备树文件进行编程?

我要在我的开发板上启动一个 Linux,我需要一个 dts 文件(设备树文件)来描述整个硬件。但是我对这个文件的语法知之甚少,这不足以在板上正常运行 Linux。

我现在所知道的只是如何描述一个单元的中断号、频率、地址、父单元及其兼容的驱动程序类型(如下所述):

其他高级用法或语法对我来说是不熟悉的。