AN 763: インテル® Arria® 10 SoCデバイスのデザイン・ガイドライン

ID 683192
日付 8/14/2020
Public
ドキュメント目次

5.1.4.4. Linuxのデバイスツリーに関するデザインの考慮事項

Linuxのデバイスツリーは、Linuxオペレーティング・システムのカーネルに基盤となるハードウェアを記述するデータ構造です。このデータ構造をOSのカーネルへ渡すことで、単一のOSバイナリーでハードウェアの多くのバリエーションをサポートすることが可能になります。この柔軟性は、ハードウェアにFPGAが含まれている場合に、特に重要になります。

Linuxのデバイスツリーを管理するために推奨される手順は、次のとおりです。
  1. インテルSoC開発キットを対象とするLinuxカーネル・ソース・コードで提供されているSoC FPGAリファレンス・デバイス・ツリーから開始します。これらは、デバイスのHPS部分をカバーしますが、プロジェクトごとに異なるFPGA部分はカバーしません。SD/MMC、QSPI、NANDの各バージョンが、カーネル・ソース・コードとともに提供されています。
  2. 必要に応じてデバイスツリーを編集し、インテルSoC開発キットからのボードの変更に対応します。
  3. 必要に応じてデバイスツリーを編集し、FPGAソフトIPをターゲットとするLinuxドライバーに対応します。
注: Linux Device Tree Generatorは、SoC EDSの一部として提供されるカスタムツールであり、関連するGSRDでターゲットにしているLinuxカーネルのバージョンのみをサポートします。
図 18. Linuxに向けたGSRDのデバイスツリー生成フロー
注: Linux Device Tree Generatorは、関連するGSRDがターゲットにしているLinuxカーネルのバージョンでのみテストされ、そのバージョンのみをサポートします。デザインが異なるLinuxカーネルのバージョンをターゲットにしている場合、インテルでは、Linux Device Tree Generatorを使用しないことを推奨しています。代わりに、デバイスツリーを手動で管理します。カーネルとともに提供されるデバイス・ツリー・ファイルをベースラインとして使用し、FPGA IPおよびボード情報を手動で追加します。

詳細に関しては、LinuxのDevice Tree Generator User Guideを参照してください。