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

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

15.4.9.2. バーストDMAコマンド

DMA転送は、4つの16ビット・アクセスのバースト・トランザクションとしてNANDフラッシュ・コントローラーにコマンドを送信することで開始することができます。このDMAコマンドの形式は、FPGAファブリックのカスタムIPからDMA転送を開始するのに役立つ場合があります。ほとんどのプロセッサーのコアではバースト幅を制御することができないため、このDMAコマンドの形式を使用することはできません。

DMAが有効になっている場合、NANDフラッシュ・コントローラーは、MAP10パイプラインDMAコマンドを次の表に示す形式のINCR4コマンドとして認識します。MAP10パイプラインDMAコマンドのアドレス・デコーディングは、「MAP10コマンドの形式」に示されているものと同じです。

マルチトランザクション形式のMAP10コマンド (「マルチトランザクションDMAコマンド」で説明されています) と同様に、INCR4形式のMAP10コマンドは、nanddataのオフセット0x10にあるDataレジスターに書き込まれます。

表 120.  MAP10バーストDMA (INCR4) コマンドの構造次の表に、MAP10のバーストDMAコマンドの構造を示します。バーストDMAコマンドは、マルチトランザクションDMAのコマンドとデータのペアと同じ情報を伝送しますが、形式が大きく異なります。
データビート 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ビート0 0x2 0X0: 読み出し、0x1: 書き込み <PP> = ページ数
ビート130 メモリーアドレス上位
ビート230 メモリーアドレス下位
ビート3 0x0 INT バースト長
注: INTは、完全なDMA転送の終わりに生成されるホスト割り込みを指定し、DMA転送の終わりに、statusグループのintr_status0レジスターのdma_cmd_compビットの値を制御します。INTは、次の値のいずれかを取ることができます。
  • 0 - ホストに割り込みません。dma_cmd_compビットは0に設定されます。
  • 1 - ホストに割り込みます。dma_cmd_compビットは1に設定されます。

オプションで、上の表の16ビット・フィールドを、長さが1の4つの個別バーストとしてシーケンス順にNANDフラッシュ・コントローラーに送信することができます。インテルではこの方法を推奨しています。

NANDフラッシュ・コントローラーのDMAでキャッシュ可能なアクセスを実行する場合は、システム・マネージャーのnandgrpグループのl3masterレジスターを書き込み、キャッシュビットをコンフィグレーションする必要があります。システム・マネージャーを使用してキャッシュ機能を変更する前に、NANDフラッシュ・コントローラーのDMAをアイドル状態にする必要があります。

30 メモリー内のバッファーアドレスです。4バイト境界にアライメントする必要があります。