JAJZ023C December 2021 – May 2025 AM2732 , AM2732-Q1
MDIO:MDIO インターフェイスの破壊 (CPSW および PRU-ICSS)
CPSW および PRU-ICSS ペリフェラルが存在する場合、そのすべてのインスタンスの MDIO インターフェイスは、MDIO 読み取り時に破壊した読み取りデータを返す (たとえば、古いデータまたは以前のデータを返す) 可能性や、MDIO 書き込み時に誤ったデータを送信する可能性があります。また、次のペリフェラル リセットが (LPSC リセットによるか、CPSW の場合にリセットの分離が無効化されたグローバル デバイス リセットによって) 行われるまで、MDIO インターフェイスが使用できなくなることもあります。
この問題について考えられるシステム レベルの徴候として、(1) イーサネット PHY の誤ったリンク停止ステータス (2) イーサネット PHY を MDIO 上で正しく構成できないこと (3) 誤った PHY 検出 (例:誤ったアドレス) (4) PHY を MDIO 上で構成しようとしたときの読み取りまたは書き込みタイムアウトが考えられます。
ブート モード (サポートされている場合は CPSW のみ) の場合、プライマリ イーサネット ブートが正常に実行されることを保証する回避方法はありません。プライマリ ブート時にこの例外が発生した場合、ブートは再試行を開始することもできますが、成功するとは限りません。再試行が失敗した場合、最終的にタイムアウトとなり、バックアップ ブート モード (選択されている場合) に遷移します。バックアップ ブート モードが選択されていない場合、このような障害によりタイムアウトが発生し、チップ ウォッチドッグでデバイスが強制的にリセットされます。その後、ブート プロセス全体が再起動されます。
バックアップ ブート オプション (サポートされている場合) を選択するには、適切なプル抵抗をブート モード ピンに実装します。特定のデバイス オプションについてはブートのマニュアルを参照してください。ただし、イーサネット経由でのプライマリ ブート試行の標準的なタイムアウトは 60 秒です。
影響を受けるデバイスでは、次の回避方法を使用する必要があります。
MDIO 手動モード:PRU-ICSS と CPSW に適用可能。
MDIO プロトコルは、MDIO ペリフェラルの MDIO_MANUAL_IF_REG レジスタ内の該当ビットを読み書きして、MDIO クロック ピンとデータ ピンを直接操作することによってエミュレートできます。手動モード レジスタ ビットとその機能の詳細については、TRM を参照してください。
この場合、デバイス ピンのマルチプレクシングを設定し、CPSW または PRU-ICSS ペリフェラルによって IO を制御できるようにする必要がありますが (通常の意図した動作の場合と同じ)、MDIO_CONTROL_REG の MDIO_CONTROL_REG の ENABLE ビットを 0 にして MDIO ステート マシンを無効化し、MDIO_POLL_REG.MANUALMODE ビットを 1 に設定して手動モードを有効化する必要があります。
ソフトウェアの回避方法の実装については、TI にお問い合わせください。
PRU-ICSS の場合、MDIO の MLINK 機能を使用して MIIx_RXLINK の PRU-ICSS への入力ピンを介してリンク ステータスを自動ポーリングすることによって、ソフトウェア回避方法の負荷を軽減できます。PRU-ICSS は、リンクがアクティブの間にトグルしない外部 PHY からのステータス出力に接続する必要があります。外部 PHY デバイスで規定されている動作に応じて、この PHY ステータス出力は、LED_LINK または LED_SPEED、または LED_LINK と LED SPEED の論理和です。MDIO の MLINK 機能の使用方法の詳細については、TRM の MDIO のセクションを参照してください。この機能は、CPSW ペリフェラルでは利用できません。
PRU-ICSS での EtherCAT 実装では、ソフトウェアの回避方法は RTUx/TX_PRUx コアで実行されます。コアは回避方法専用にする必要があります。つまり、これを他の目的に使用することはできません。この実装は、MDIO アクセスのために 2 つのユーザー アクセス チャネルをサポートします。これによって、R5f コアおよび PRU コアが独立したアクセスチャネルを持つオプションが可能になります。API は、RTOS Workaround 実装で使用するものと同様です。
EtherCAT は、MDIO MLINK を介した PHY 高速リンク検出を引き続き使用し、リンクステータスのステート マシンをバイパスします (このパスはエラッタの影響を受けないため)。これにより、ケーブルの冗長性に関連するレイテンシ要件を引き続き満たすことができます。
図 2-1 PRU コアを使用する手動モードによる MDIO エミュレーション