cancel
Showing results for 
Search instead for 
Did you mean: 

ザイリンクス評価ボード用デバイスツリーの変更例

Xilinx Employee
Xilinx Employee
6 0 217

概要

このブログでは、ザイリンクス評価ボード用 BSP に含まれるデバイスツリーに対し、ノードを追加、削除する方法を紹介します。

デバイスツリーを新規作成するよりも、既に動作しているものを流用することで、作成工数を削減することができます。

 

PetaLinux ツールが生成するデバイス ツリーについて

評価ボードをターゲットにしたデザインを作成した場合でも、Ethernet PHY 等の外部デバイスに依存するペリフェラルのデバイスツリーは、PetaLinux ツールでは自動生成されません。

これは、外部チップ自体の設定や、クロックの供給方法などがさまざまであり PetaLinux ツールにより判断すできないため、ユーザーが追加、修正する必要があります。

カスタムボードの場合も同様です。

次のいずれかの方法により、評価ボードのデバイスツリーを生成できます。

評価ボード用 BSP を使用して、PetaLinuxプロジェクトを生成する、

または、

評価ボード用 BSP を使用せず、petalinux-config コマンドでコンフィギュレーションを実行する時に、MACHINE_NAME 変数に評価ボード名を指定する

 

評価ボード用デバイス ツリーの生成(評価ボード用 BSP を使用する場合)

評価ボード用 BSP を使用して生成した PetaLinux プロジェクトは、特に設定することなく、そのボードで動作する Linux イメージをビルドできます。

petalinux-build コマンドを実行した後の、デバイスツリーのファイルは、次のように構成されています。

 

b.png

 

system-top.dts が、デバイスツリーの最上位のファイルです。

Ethernet PHY 等の情報は、system-user.dtsi ファイルに追加してください。

Ethernet PHY 等の情報は、ボード レベルおよびプラットフォーム特有であり、system-user.dtsi に含める必要があります。

system-user.dtsi は、system-top.dts から include されます。

詳細は、『Petalinuxツール資料リファレンスガイド』 (UG1144) を参照してください。

 

評価ボード用デバイス ツリーの生成(評価ボード用 BSP を使用しない場合)

評価ボード用 BSP を使用せずに、PetaLinux プロジェクトを作成した場合は、MACHINE_NAME 変数に、PetaLinux ツールに登録されている"評価ボード名"を指定することで、その評価ボード用のデバイスツリーが生成されます。

次に、petalinux-config コマンドで表示されるメニューの、MACHINE_NAME の指定例を示します。

 

1.png

 

2.png

 

指定可能なボード名は、『Petalinuxツール資料リファレンス ガイド』 (UG1144)を参照してください。

 

デバイスツリーの変更例

ZC702 評価ボードの GEM0 を、MIORGMII)から EMIOGMII)に変更し、PL の IPGMII2RGMII)を介して、外部の Ethernet PHY チップに接続する場合の例を示します。

 

1.png

 

ノードの追加

ノードを追加する場合は、system-user.dtsi に次を追加します。

 

1.png

 

パラメーターの追加

パラメーターを追加する場合は、system-user.dtsi に次を追加します。

 

1.png

 

パラメーターの変更

パラメーターを変更する場合は、system-user.dtsi を次のように変更します。

 

1.png

 

パラメーターの削除

パラメーターを削除する場合は、system-user.dtsi ”delete property” を追加します。

 

1.png

 

ノードの削除

ノードを削除する場合は、system-user.dtsi ”delete-node” を追加します。

 

1.png

 

ノードを削除する時、そのノードが他から参照されている場合は、注意が必要です。

次のように、phy-handle ethernet-phy@7 を参照している場合、phy-handle の値を変更した後に、ethernet-phy@7 を削除する必要があります。

 

1.png

 

この例では、system-user.dtsiで phy-handle の値を変更した後に、ethernet-phy@7 を削除しています。

 

1.png

 

ドライバー定義の無効化

次に示す pcw.dtsi では、status = "okay" により、ドライバー定義が有効になっています。

 

1.png

 

次のように、system-user.dtsi に入力することで、無効にできます。

 

1.png

 

まとめ

このブログでは、評価ボード用デバイスツリーの変更例を紹介しました。尚、上記ファイルの内容は、評価ボードやツールのバージョンにより異なる場合があります。

 

参照資料

エンベデッド デザイン ハブDesign Hub - PetaLinux ツール

https://japan.xilinx.com/support/documentation-navigation/design-hubs/dh0016-petalinux-tools-hub.html

ザイリンクスWiki Device Tree Tips

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842482/Device+Tree+Tips