ZHCACZ9A August   2023  – September 2024 AM620-Q1 , AM623 , AM625 , AM625-Q1 , AM625SIP , AM62A3 , AM62A3-Q1 , AM62A7 , AM62A7-Q1 , AM62P , AM62P-Q1

 

  1.   1
  2.   摘要
  3.   商标
  4. 引言
  5. 安装 SDK
  6. 为定制电路板配置 SDK
  7. 启动 U-Boot 电路板端口
    1. 4.1 器件树简介
    2. 4.2 最小配置的功能
    3. 4.3 准备定制板级配置文件
    4. 4.4 初始器件树修改
    5. 4.5 构建 U-Boot 二进制文件
    6. 4.6 U-Boot 部署说明
  8. 扩展定制电路板器件树
    1. 5.1 器件树配置
    2. 5.2 描述节点中的外设
    3. 5.3 修改器件树配置
  9. 引导 Linux 内核
    1. 6.1 内核引导概述
    2. 6.2 内核部署说明
  10. 工具和调试
    1. 7.1 内核调试跟踪
    2. 7.2 OpenOCD 调试
  11. 未来的工作
  12. 总结
  13. 10参考资料
  14.   修订历史记录

器件树配置

器件树绑定用作有关如何为给定外设创建节点的指南。它们是特定于其所代表的硬件的标准化节点格式。器件树绑定指定如何命名节点以及外设节点所需的属性。在将驱动程序提交给上游维护人员以包含在 U-Boot 和 Linux 等项目中时,需要提供这些绑定。这些文件通常还具有示例节点。使用相同驱动程序的其他器件树也是有关如何为给定外设正确创建新节点的不错示例。

可以在 TI_LINUX/Documentation/devicetree/bindings/ 中的 Linux 内核文档中找到器件树绑定。U-Boot 也为某些节点提供绑定。可以在 TI_U_BOOT/include/dt-bindings/ 中找到这些绑定。U-Boot 中的电路板器件树和 Linux 内核是相同的,因此查询这两个源来构建外设节点非常有用。通过对与节点、属性名称和属性设置关联的兼容字符串进行 grep 搜索,可以找到相关的绑定文件。有关使用器件树绑定的更多指导,请参阅节 10中的 Bootlin 器件树培训。

配置节点的第一步是检查节点的 SoC 器件树定义。SoC 器件树中的节点包含外设所需的大多数配置设置,但由于这些节点不完整,因此将其禁用。这些节点经过修改以匹配电路板的硬件配置,并在电路板器件树文件(本例中为 k3-am625-<boardname>.dts)中启用。不妨参考 AM62x 器件树图了解电路板 DTS 文件和 SoC DTSI 文件的交互方式,这可能会有所帮助。节点通常引用位于整合的所有器件树文件中的其他节点。要启用节点,请确保其引用的依赖关系也已启用。研究以下以太网示例应该有助于更清楚地说明这一点。

Cpsw3g 是一种以太网 MAC,在主域中运行。这表示 SoC 器件树节点定义位于 k3-am62-main.dtsi 中。此节点引用其他节点,例如 &k3_clks&main_pktdma&phy_gmii_sel。有必要确保电路板器件树已启用这些节点。通过设置“status”属性启用节点,如下所示。

+ &cpsw3g {
+    status = "okay";
+ };

除了启用节点外,每个配置的外设都需要将其 pinctrl 属性设置为已粘贴到 k3-am625-<boardname>.dts 的正确引脚配置。如需进行此修改,请参阅节 4.4。执行这些步骤后,将在下面设置引脚配置属性。

&cpsw3g {
     status = "okay";
     pinctrl-names = "default";
     pinctrl-0 = <rgmii1-custom_pins_default>;
};

有关为给定外设包括哪些引脚配置的指导,请参阅 k3-am625-sk.dtsk3-am62x-sk-common.dtsi 中的外设配置。

添加属性“pinctrl-names”并将其设置为“default”,以指定要始终使用的新增引脚配置。某些配置可能需要多个引脚配置。有关配置引脚设置的完整指南,请参阅 TI_LINUX/Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt