インテル® Agilex™ ハード・プロセッサー・システムのテクニカル・リファレンス・マニュアル

ID 683567
日付 1/19/2023
Public
ドキュメント目次

17.7.3. EMAC HPSインターフェイスの初期化

イーサネット・コントローラーを初期化してHPSインターフェイスを使用するには、特定のソフトウェア手順に従う必要があります。これには、システム・マネージャーを介して正しいPHYインターフェイスを選択することなどが含まれます。

一般的に、イーサネット・コントローラーは静的コンフィグレーション時にリセット状態になっている必要があります。また、イーサネット・コントローラーのリセットが終了する前に、クロックがアクティブで有効になっている必要があります。

  1. HPSがコールドリセットまたはウォームリセットから解放されたら、リセット・マネージャーのper0modrstレジスターで適切なemac*ビットを設定し、イーサネット・コントローラー・モジュールをリセットします。
  2. クロック・マネージャーの適切なレジスターをプログラミングし、EMACコントローラーのクロックを250MHzにコンフィグレーションします。
  3. イーサネットPHYのリセットを解除し、PHYでRXクロックを生成できるようにします。
    検証するレジスターはありませんが、次のカスタム・ロジック・ブロックを作成してクロスチェックを行うことができます。
    • RXクロックをFPGA IOを介してルーティングしている場合 - Signal Tapを使用して確認する、もしくはRXクロックをクロックソースとして単純なカウンターブロックを作成し、実行されているかを確認することができます。
    • RXクロックをHPS IOとしてルーティングしている場合 - カーネルのアプリケーション・コードがRXクロックを介して供給できるかを調べ、そのステータスを確認する必要があります。
  4. すべてのクロックが有効になったら、次のクロック設定をプログラミングします。
    1. システム・マネージャーのemac*レジスターのphy_intf_selフィールドを0x1または0x2にプログラミングし、RGMIIまたはRMII PHYインターフェイスを選択します。
    2. システム・マネージャーのfpgaintf_en_3レジスターでemac_*ビットをクリアし、イーサネット・コントローラーFPGAインターフェイスを無効にします。
  5. ユーザーがデフォルト値とは異なる設定を必要とする場合は、EMACの静的設定をすべてコンフィグレーションします。この設定には、AxPROT[1:0] 信号およびAxCACHE信号の値が含まれます。これらの値は、システム・マネージャーのemac*レジスターでプログラミングされます。
  6. レジスターのリードバックを実行し、クロックと静的コンフィグレーションの設定が有効であることを確認します。
  7. 設定が有効であることを確認後、ソフトウェアでリセット・マネージャーのper0modrstレジスターのemac*ビットをクリアして、EMACのリセットを解除することができます。
これらの手順が完了すると、一般的なイーサネット・コントローラーとDMAソフトウェアの初期化およびコンフィグレーションを続行することが可能です。