问题标签 [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 投票
0 回答
291 浏览

linux-kernel - 带有内核 3.17 的 Pandaboard ES Rev. B2 上的 SPI1

这是我第一次在stackoverflow上提问。

我试图在我的 Pandaboard ES 的 J3 上访问 SPI1。首先,我修改了设备树源 omap4-panda-es-b3.dts,添加了

然后,重建内核,安装新内核并重新启动。设备 spidev1.0 显示在 /dev 目录以及 /sys/class/spidev 中。

但是当我执行“echo 1 > /dev/spi1.0”或从这里运行 spi_test时,示波器上的 SPI1 引脚没有任何输出。我已经仔细检查了偏移量,并确定它们应该是正确的。

我需要做什么才能使 Pandaboard ES 上的 SPI1 正常工作?“uname -a”的输出是

谢谢

MST

0 投票
0 回答
755 浏览

linux - Microblaze linux 在“bootconsole [earlyser0] disabled”处停止启动

我想在 nexys 4 ddr 板上嵌入 linux。我做了一个必备系统:microblaze+ddr+uartlite+gpios Linux image is made by build root 2014.05

禁用 bootconsole[earlyser0] 后 Linux 启动停止。

发生了一些奇怪的事情:我输入了“console=ttyUL0”和 BR2_TARGET_GENERIC_GETTY_PORT="ttyUL0" 但是,引导我看到 40600000.serial.ttyUL1,有什么解释吗?

任何方式也将 UL1 放入 dts 和 defconfig 我得到相同的结果。

我的dts。

我的配置

和配置

我还附上了UART输出

在此处输入图像描述

请帮忙

0 投票
1 回答
1677 浏览

linux - Linux 内核:CMA 和设备树

我尝试使用配置了 DT 的 CMA(连续内存分配器)。但是我怎样才能从模块中访问分配的内存区域呢?

这是 DT 部分:

如何在我自己的驱动程序中获得保留的内存区域“dsp_reserved”?这个区域是否已经被“dma_alloc_coherent”请求了?有没有类似“platform_get_irq”的功能?

谢谢你的帮助,斯文

0 投票
4 回答
2228 浏览

linux-kernel - 如何在 linux 内核设备树中定义时钟多路复用器

我正在编写一个 linux 设备驱动程序,需要在设备树文件中定义以下时钟树:

linux,常用时钟框架,时钟树

注意:选择多路复用器中的振荡器是通过将gpio输出拉高或拉低来完成的。时钟发生器通过 I2C 进行编程。

这是我到目前为止的一个例子:

参考资料

如何在设备树中定义一个简单的gpio 控制的时钟多路复用器?

0 投票
1 回答
3108 浏览

linux - 如何使用设备树文件为引脚选择新模式?

我正在iMX6 Wandboard ARM 计算机上开发。Wandboard 的默认配置仅提供 8 个 GPIO 引脚供使用,尽管 iMX6 有更多可用引脚可以从当前设置切换到 GPIO 模式。我的项目需要更多的 GPIO,为此我一直在尝试更改某些引脚的模式。

我能够修改 iMX6/wandboard 设备树文件并将其编译为 DTB 并在我的设备上使用它(我通过禁用 HDMI 输出进行了测试)但我还没有弄清楚如何将某些引脚从当前设置更改为 GPIO -模式。

我目前正在尝试将DISP0显示器(MX6QDL_PAD_DISP0_DAT0 - DAT23在下面的 pinfunc.h 中)切换到 GPIO 模式,因为这些引脚在开发板上的接头上可用。我目前正在尝试使用来自 imx6qdl-wandboard.dsti 的这些引脚:

我首先尝试在 imx6qdl-wandboard.dtsi 中使用一个status = "disabled";字段,&ipu2但这不允许我通过/sys/class/gpio界面更改值。也没有完全删除ipu2and&iomuxc块。我不知道下一步该尝试什么。我 90% 确定这些引脚可以用于我正在尝试的目的,但这种配置超出了我的理解范围。

来自 Wandboard Linux 源的相关文件

0 投票
2 回答
6146 浏览

device-tree - pcie 设备树 'ranges' 属性说明

任何人都可以解释范围属性中的每个值代表什么。

0 投票
1 回答
1451 浏览

linux - 如何在内核 3.19+ 上加载设备树覆盖

内核 3.19(重新)引入了设备树覆盖。我在 Linux 内核上3.19.4,通过 Fedora ( 3.19.4-200.fc21.armv7hl)。

我有一个覆盖文件overlay.dts,如文档中所述。

overlay.c包含处理覆盖的函数,包括加载覆盖的函数。

内核是否检查要加载的覆盖的任何路径?如果有,在哪里?如果没有,我该如何加载我的叠加层?

0 投票
1 回答
4670 浏览

linux - linux内核:来自用户空间的调节器消费者使用

我在用户空间中有某种驱动程序:

通过某些接口(rs232)与设备进行程序对话。我也有 pin(gpio) 来打开/关闭这个设备。

我不在我的程序中编写具体的 gpio 代码,以使其更便携,

所以我修改了我的板的设备树描述,并描述了调节器固定,之后我想使用用户空间消费者驱动程序来控制电源开/关,但看起来这不是内核开发人员所期望的(链接到类似问题的讨论,不是我的): http: //patchwork.ozlabs.org/patch/374912/

那么我应该如何从用户空间控制我的设备的打开/关闭而不向我的程序添加有关用于打开/关闭设备的具体 gpio 的信息?

更多详细信息:在我的板 dts 中,我这样描述了我的引脚:

当然,开机后"gpio = <&gpio5 4 GPIO_ACTIVE_LOW>" 被内核锁定,无法通过/sys/class/gpio接口使用。

考虑这种方法不好,这是不可能的(或者我不明白如何)从用户空间更改调节器状态,因为您可以看到“状态”是只读文件。

0 投票
1 回答
399 浏览

device-tree - struct 属性中的长度参数(include/linux/of.h)

如何从设备树属性计算长度参数,即 属性长度的含义是什么以及它是如何从设备树中计算出来的。

0 投票
1 回答
3737 浏览

linux - 设备树和 GPIO

我正在尝试在内核驱动程序中连接 GPIO 控制器,但我不确定我是否做对了所有事情。

这是我的设备树代码:

这是我注册 GPIO 的驱动程序代码

这个初始化正确吗?

我一直在查看此 GPIO 控制器的文档,但它不是很有帮助。