问题标签 [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-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
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输出
请帮忙
linux - Linux 内核:CMA 和设备树
我尝试使用配置了 DT 的 CMA(连续内存分配器)。但是我怎样才能从模块中访问分配的内存区域呢?
这是 DT 部分:
如何在我自己的驱动程序中获得保留的内存区域“dsp_reserved”?这个区域是否已经被“dma_alloc_coherent”请求了?有没有类似“platform_get_irq”的功能?
谢谢你的帮助,斯文
linux-kernel - 如何在 linux 内核设备树中定义时钟多路复用器
我正在编写一个 linux 设备驱动程序,需要在设备树文件中定义以下时钟树:
注意:选择多路复用器中的振荡器是通过将gpio输出拉高或拉低来完成的。时钟发生器通过 I2C 进行编程。
这是我到目前为止的一个例子:
参考资料:
如何在设备树中定义一个简单的gpio 控制的时钟多路复用器?
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
界面更改值。也没有完全删除ipu2
and&iomuxc
块。我不知道下一步该尝试什么。我 90% 确定这些引脚可以用于我正在尝试的目的,但这种配置超出了我的理解范围。
来自 Wandboard Linux 源的相关文件
- imx6q-pinfunc.h (所有 iMX6 引脚及其功能的列表)
- imx6qdl.dtsi (基本 iMX6 设置)
- imx6q.dtsi (四核设置)
- imx6qdl-wandboard.dtsi(魔杖板特定设置)
- imx6q-wandboard.dts (一种将其他人拉在一起的存根)
device-tree - pcie 设备树 'ranges' 属性说明
任何人都可以解释范围属性中的每个值代表什么。
linux - linux内核:来自用户空间的调节器消费者使用
我在用户空间中有某种驱动程序:
通过某些接口(rs232)与设备进行程序对话。我也有 pin(gpio) 来打开/关闭这个设备。
我不在我的程序中编写具体的 gpio 代码,以使其更便携,
所以我修改了我的板的设备树描述,并描述了调节器固定,之后我想使用用户空间消费者驱动程序来控制电源开/关,但看起来这不是内核开发人员所期望的(链接到类似问题的讨论,不是我的): http: //patchwork.ozlabs.org/patch/374912/
那么我应该如何从用户空间控制我的设备的打开/关闭而不向我的程序添加有关用于打开/关闭设备的具体 gpio 的信息?
更多详细信息:在我的板 dts 中,我这样描述了我的引脚:
当然,开机后"gpio = <&gpio5 4 GPIO_ACTIVE_LOW>" 被内核锁定,无法通过/sys/class/gpio接口使用。
考虑这种方法不好,这是不可能的(或者我不明白如何)从用户空间更改调节器状态,因为您可以看到“状态”是只读文件。
device-tree - struct 属性中的长度参数(include/linux/of.h)
如何从设备树属性计算长度参数,即 属性长度的含义是什么以及它是如何从设备树中计算出来的。
linux - 设备树和 GPIO
我正在尝试在内核驱动程序中连接 GPIO 控制器,但我不确定我是否做对了所有事情。
这是我的设备树代码:
这是我注册 GPIO 的驱动程序代码
这个初始化正确吗?
我一直在查看此 GPIO 控制器的文档,但它不是很有帮助。