问题标签 [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.
linux-device-driver - 使用 dtb 在 beaglebone black 上启用 i2c1
我使用 dtb 中的以下行在 beagle bone black 上启用了 I2C 总线 2
但是当我使用下面的代码启用 I2C 总线 1 时
i2cdetect -l
总线在命令中列出。但是使用命令探测总线i2cdetect -r 1
会给我以下错误
我使用的是 AM3359 芯片的 ZCZ 封装。谁能指出我在 dtb 文件中犯的错误?
linux-kernel - Linux 设备树,具有多个中断父节点的节点
我正在使用 linux 内核设备树,乍一看似乎缺少具有多个中断父节点的节点的功能。我有一个控制自定义 ARM 嵌入式板的驱动程序,它从多个 GPIO 中断父级获取 GPIO 和引脚中断,并管理板载电池、电压低 irq、reset_pending irq 等。
我发现了一个来源,有人似乎已经破解了额外的功能来处理这个问题,但这不是官方的,并且涉及修改我不想要的中断源文件。该修改增加了对这样一个称为“中断扩展”的术语的支持。这里中断父级在元组中指定。
我还没有找到任何方法或示例来说明如何使用中断映射属性来实现简单的 gpio 中断映射,所以我不知所措。
如果我只使用一个 GPIO 中断父级,那么正确的方法就是这样。
但这仅允许声明一个中断父级,其中在“中断”中指定了多个中断,并且它们都必须属于指定的父级。我正在使用 2 个中断父母,gpio7 和 gpio3。
在设备树的单个设备节点中实现具有不同中断父级的多个中断的正确方法是什么?
linux-kernel - 使用扁平设备树保留物理内存
我有一个小猎犬骨头,它有 256Mb 的内存,里面有 dtb 文件。
我希望以下更改可以将可用物理内存减少 1Mb,我计划在我的驱动程序中使用 io_pfn_page_range() 访问它。
但即使在更改之后 /proc/meminfo 也不会反映更改。我是不是错过了什么。提前致谢。
拉克什
beagleboneblack - Beaglebone Black SPI0 交换 D0 和 D1
在elinux.org上提到,可以通过更改设备树中引脚的方向并添加以下行来使 D0 成为 SPI1 的输出和 D1 的输入:
我尝试应用相同的方法,但使用 SPI0,但它似乎不起作用。我正在使用可能存在其他干扰问题的原型 PCB。
有人可以确认/否认相同的方法适用于 SPI0 来交换其各自的 D0 和 D1 吗?
谢谢!
linux - 为什么有些嵌入式板需要设备树而有些不需要?
这可能是非常基本的问题,但我真的很困惑。
有些板在引导过程中不需要设备树 dtb 文件,如 beagleboard,而有些板在引导过程中应该有 dtb 文件,如 Zynq。
这个假设正确吗?
另外,在启动过程中。引导加载程序何时获取 dtb 文件并加载它?
有任何参考可以了解整个过程吗?
embedded-linux - 在 vmlinux/bzImage 中嵌入 DTC
我需要使用 uboot 在一些自定义硬件上启动 Linux。对于开发,我正在使用以下方法启动它:
但是,在该领域中,我想将所有三个项目合二为一。(旧硬件等)
将 ramdisk 折叠到内核中是很容易的,但我只看到模糊的引用以一种有用的方式在其中获取 DTC。
有人可以建议一种方法来做到这一点,或者至少向我指出一些有帮助的文档吗?我不想爬过源头才发现网上有一个食谱。
linux - 在 Linux 内核 3.12 中使用 leds-pwm susbsystem 控制 LED
我们正在使用基于 beaglebone black 的定制板,我们正在为我们的板移植 linux 3.12,我们有三个使用 pwm 控制的 LED。那些 LED 连接到下面的球,
我们修改了 device-tree 如下以启用 leds-pwm 支持,
通过上述更改,我们在“/sys/class/pwm/”和“/sys/class/leds/”中看到了条目。但问题是我们无法控制 LED,LED 无法开启,
我们尝试改变 LED 下的亮度和触发器,但没有帮助,有什么建议吗?你看到什么东西不见了吗?
谢谢,
问候, 安库尔
linux-kernel - AT91SAM9263ek 使用设备树启动 Linux 失败
我在启动 Linux 3.16.1 时遇到问题。我使用 at91sam9263_defconfig从http://www.kernel.org编译了源代码。
我在引导选项中添加了扁平设备树支持。此( https://www.slideshare.net/softpapa/device-tree-support-on-arm-linux-8930303 )演示文稿中建议的以下提示以打开 /proc 中的支持设备树,但我没有该选项在菜单配置中。
我有支持设备树的 U-Boot 引导加载程序版本 2014.10rc2。我已经从内核附带的脚本生成了 dtb:make at91sam9263ek.dtb
现在我收到了这个错误:
linux-kernel - BCM2835 gpio 设备树树莓派
我正在寻找使用设备树支持修改树莓派的 GPIO 驱动程序。首先有2个文件:
- 我在 /arc/arm/boot/dts/bcm2835.dts 中读取了设备树文件
对于 gpio,存在以下部分:
gpio:gpio {
从互联网上的参考资料 reg = 0x7e200000 可以理解,但是 0xb4 是什么。
- 我在 /arch/arm/boot/dts/bcm2835-rpi-b.dts 中读取了设备树文件
对于 gpio,存在以下部分:
那么,我应该使用哪个 dts 文件,以及如何读取和解释这些键值对,例如:什么是 pinctrl。以及这种方法如何影响我的代码。
我知道我在这里问了很多东西,但这是新的并且看起来很有趣,我想使用这种方法修改我的驱动程序。请帮忙。
PS:我已经使用标准的udev支持制作了一个驱动程序。所以动态设备节点的创建是被管理的。我没有使用平台模型。
linux - spi_driver.id_table 和 spi_driver.driver.of_match_table 的区别
我目前正在尝试了解 linux 驱动程序是如何工作的。据我所知,当内核解析设备树中对应的 .compatible 字符串时,会调用驱动程序的 probe/init 函数。但是,在 arizona-spi 驱动程序中,不同成员中似乎引用了多个兼容字符串:
这是这里的摘录。
那么 arizona_spi_driver.id_table 和 arizona_spi_driver.driver.of_match_table 有什么区别呢?