AR# 47537

Zynq-7000 SoC、SDIO - ADMA2 読み出しにより PIO モードで書き込まれたデータが破損する

説明

コントローラーでのデータ書き込みに PIO モードを使用している場合、ADMA2 モードを使用してデータを読み出すと、DMA プロセス中にコントローラーから自動 CMD12 (要求の停止) が送信されず、読み出し FIFO に無効なデータが書き込まれます。

PS v2.0 以降で修正されています。 量産シリコンへの影響はありません。

この問題を回避するには、書き込みに PIO モードを使用している場合は、ADMA2 モードではなく SDMA モードを使用するか、データの書き込みに PIO モードを使用しないでください。

ソリューション

影響:

深刻な問題ではありません。「影響の詳細」を参照してください。

回避策:

「回避策の詳細」を参照してください。

対象となる構成:

SDIO コントローラーを使用するシステム

対象となるデバイス リビジョン:PS v2.0 以降で修正されています。(Xilinx Answer 47916) - 「Zynq-7000 AP SoC デバイス - シリコン リビジョン間の相違点」を参照してください。



影響の詳細

SD ホスト コントローラーでの SD カードへのデータ書き込みに PIO モードを使用すると、ADMA2 モードでデータを読み出すときにホスト コントローラーから自動 CMD12 (要求の停止) が送信されず、SD カードからデータを読み出すことができません。そのため、SD ホスト コントローラーの内部 FIFO に無効なデータが書き込まれます。

回避策の詳細

この問題の回避策は 2 つあります。

  • PIO 書き込みを実行する場合は、SD ホスト ドライバーの dma_select モードを 2b00 に設定します。ADMA2 読み出しの際にはドライバーで dma_select モードが 2b10 に変更されます。
  • PIO 書き込みを実行した場合に常に ADMA2 書き込み/読み込みを使用しないでください。PIO 書き込み/読み出しからのスループットは ADMA2 のスループットより低くなります。

アンサー レコード リファレンス

マスター アンサー レコード

Answer Number アンサータイトル 問題の発生したバージョン 修正バージョン
47916 Zynq-7000 SoC デバイス - シリコン リビジョン間の相違点 N/A N/A
AR# 47537
日付 05/23/2018
ステータス アクティブ
種類 デザイン アドバイザリ
デバイス