デバイス ツリーの設定 - 2023.1 日本語

PetaLinux ツール資料: リファレンス ガイド (UG1144)

Document ID
UG1144
Release Date
2023-05-16
Version
2023.1 日本語

ユーザーが変更可能な PetaLinux デバイス ツリーの設定は、<plnx-proj-root>/project-spec/meta-user/recipes-bsp/device-tree/files/ にある次の設定ファイルに関連付けられています。

  • system-user.dtsi

生成されたファイルは <plnx-proj-root>/components/plnx_workspace/device-tree/device-tree/ ディレクトリにあります。

注意:
これらの DTSI ファイルは自動生成されます。これらのファイルは編集しないでください。

デバイス ツリー ファイルの詳細は、PetaLinux プロジェクトの構造 を参照してください。

イーサネット PHY などの情報を追加する場合は、system-conf.dtsi ファイルに追加してください。この場合、情報 (ここではイーサネット PHY の情報) はボード レベルおよびボード特定であるため、デバイス ツリーにはご使用のプラットフォーム特定の情報を含める必要があります。

PetaLinux プロジェクトを設定すると、system-user.dtsi が自動的に作成されます。一度作成されると、自動的にはアップデートされません。

注記: このように手動での操作が必要なのは、一部の情報はボード レベルであり、何を含めるべきかをツールが判断できないためです。各デバイスのバインディングの詳細は、Linux カーネル デバイス ツリー バインディング ドキュメント (カーネル ソースのルート下の Documentation/devicetree/bindings) を参照してください。

次に、system-user.dtsi の適切に記述されたデバイス ツリー ノードの例を示します。

/dts-v1/;
/include/ "system-conf.dtsi"
/ {
};
&gem0 {
	phy-handle = <&phy0>;
	ps7_ethernet_0_mdio: mdio {
		phy0: phy@7 {
			compatible = "marvell,88e1116r";
			device_type = "ethernet-phy";
			reg = <7>;
		};
	};
};
重要: デバイス ツリーのノード名、MDIO アドレスおよび互換文字列が、実際のシステムの命名規則に対応している必要があります。

次に、sample-user-1.dtsi ファイルを追加する例を示します。

  1. project-spec/meta-user/recipes-bsp/device-tree/files/system-user.dtsi/include/ "system-user-1.dtsi" を追加します。ファイルは次のようになります。
    /include/ "system-conf.dtsi"
    /include/ "system-user-1.dtsi"
    / {
    };
  2. file://system-user-1.dtsiproject-spec/meta-user/recipes-bsp/device-tree/device-tree.bbappend に追加します。ファイルは次のようになります。
    FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
    					
    SRC_URI += "file://system-user.dtsi"
    SRC_URI += "file://system-user-1.dtsi"

    system-user DTSI を定義することにより、ほかの DTSI の値を上書きできます。