1

当您开始使用它时,我们是否必须阅读 linux 内核的设备树绑定文档。
设备树中是否没有所有发行版/内核源都遵循的标准字段集?

其次,我需要一些关于使用设备树为 gpio 总线上的设备添加节点的指导。我已经咨询过http://devicetree.org/Device_Tree_Usage

4

2 回答 2

2

这里的 stackoverflow-query应该指向设备树上的文档。是的,在你开始使用它之前先阅读一下文档是个好主意。

至于您的 gpio 设备(我假设您的 dts/dtsi 文件中已经有一个 gpio 控制器),在 arch/arc/boot/dts 下应该有很多。选一个 :)!

例如:gpio1_8 用于 mmc dts和 gpio1 控制器dtsi

于 2014-03-10T21:25:37.697 回答
0

SoC 中外设的设备树绑定:

作为 v5.1 内核的示例,这里列出了针对 SoC 上可用的各种外围设备的设备树绑定。

链接: https ://elixir.bootlin.com/linux/v5.1/source/Documentation/devicetree/bindings

SoC 中特定外围设备的设备树绑定:

为了稍微解释一下特定外设的设备树绑定,让我们以一个非常流行的 TI OMAP 系列的 SPI 为例。

链接: https ://elixir.bootlin.com/linux/v5.1/source/Documentation/devicetree/bindings/spi/omap-spi.txt

此特定链接中的文本基本上介绍了键值对。“键”是设备树属性,“值”是相应“键”的可能占位符值。例如,在上面的链接中,“兼容”属性包含一个值为“ti,omap2-mcspi”的值。

另一个例子是保存 txN, rxN 的“dma-names”属性。

现在,在下面的链接中,您可以清楚地看到这些设备树属性是如何在真实设备树中使用的: https ://elixir.bootlin.com/linux/v5.1/source/arch/arm/boot/dts/omap3 .dtsi#L365

    mcspi1: spi@48098000 {
        compatible = "ti,omap2-mcspi";
        reg = <0x48098000 0x100>;
        ...
    }

根据 omap-spi.txt 的设备树绑定文档(如第二个列出的链接中所示),键“compatible”的值“ti,omap2-mcspi”是可用值之一。

所以现在基于SoC和使用的外设,可以参考设备树绑定文档来编写设备树属性。

于 2019-09-30T21:38:47.043 回答