【问题标题】:Device tree bindings?设备树绑定?
【发布时间】:2019-10-01 05:51:44
【问题描述】:

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

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

【问题讨论】:

    标签: device-tree


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      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>;
              ...
          }
      

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-11-20
        • 2019-01-26
        • 2015-07-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-08
        • 2012-06-11
        相关资源
        最近更新 更多