JAJAA08 August   2025 DRA821U , TDA4VH-Q1 , TDA4VM , TDA4VM-Q1

 

  1.   1
  2.   2
  3.   商標

はじめに

イーサネット ファームウェア デバッグ ガイドは、カスタム ボードとの統合時に発生するイーサネット ファームウェアの問題をトラブルシューティングし、カスタム構成を有効にするための体系的なアプローチを提供します。これは、ネットワーク機能を円滑に動作させるための主要なデバッグ手順、構成確認、および診断手順をまとめたものです。

デバッグ アプローチ

デバッグ ログをチェックし

  • エラー メッセージやアサーションがある場合は、イーサネット ファームウェアのデバッグ ログを分析します。

さまざまなエラーに対応するイーサネット ファームウェア (ETHFW) の次の障害ログを参照してください。

ケース 1:CPSW MAC ポートに設定されたインターフェイスと、その MAC ポートに対応して CTRL MMR レジスタで選択されたインターフェイスが一致していません。

ETHFW Log:
CpswMacPort_open: MAC 5: MII mismatch with SoC setting
EnetMod_open: cpsw9g.macport5: Failed to open: -3 

修正方法:イーサネット ポートのインターフェイスがボードで正しく選択され、ポート設定と一致していることを確認してください。

ケース 2:SerDes PLL ロック障害。

ETHFW Log:
CpswMacPort_setSgmiiInterface: MAC 8: SERDES PLL is not locked 
CpswMacPort_setSgmiiInterface
 Assertion at Line: 2287 in src/mod/cpsw_macport.c: false 

修正方法:シリアル インターフェイスで設定されたイーサネット ポートが、SerDes 設定で選択された SerDes インスタンスおよびレーン (IP インスタンス) と同一であることを確認します。

ケース 3:gPTP 同期の失敗

ETHFW Log:
 Cpsw_ioctl: No PHY for MAC port 1
-1
ERR:cbase:Failed to get link info: -1
ERR:cbase:cbl_query_response:failed to get speed and duplex : tilld1
 INF:cbase:cbl_query_response:tilld1: link UP, speed=0, duplex=0 !!!! 

修正方法:gPTP にマッピングされた CPSW MAC ポートに有効なリンクがあることを確認します。MAC 2 MAC 接続を使用している場合は、共有されているパッチをリンクに統合します。

ケース 4:PHY をオープンできません

ETHFW Log:
Cpsw_openPortLinkWithPhy: Port 8 : Failed to open PHY. 

修正方法:PHY ドライバが、TI PDK API ガイドの PHY 統合ガイドおよび MDIO モード設定に従って ENET に追加されていることを確認します。

注: ETHFW デバッグ ログで検出されたエラーをユーザーが解決できない場合、TI E2E フォーラムで検索する必要があります。観察されたエラーに関連する問題がすでに議論されている場合は、フォーラムで提案されている回避策または修正を適用します。適切な修正が見つからない場合は、E2E フォーラムで新しいスレッドを立てて TI に問い合わせてください

構成の検証

  • RGMII/RMII の PAD 設定 (mux 選択) が、設定内容と一致していることを確認します。使用されているピンを確認するには、Sysconfig ツールを参照します。
  • シリアル インターフェース (SGMII/QSGMII/USXGMII/XAUI/XFI) に対応する SerDes レーンを、SERDES_LN_CTRL レジスタで確認します。
  • イーサネット ファームウェア アプリケーションに記載の CPSW ポートと gPTP ポートが要件どおりかどうかを確認します。
  • 静的 VLAN と MAC (共有または予約済み) の設定が、MAC ポートや仮想ポートに対して適切にマスキングされていることを確認します。
  • MAC ポートおよび PHY の構成が、システム接続や MAC ポートの有効化、PHY アドレス/無効な PHY (MAC と MAC の間の接続時)、速度、デュプレックス設定と整合していることを確認します。
  • 制御レジスタを用いて、リンクおよび自動ネゴシエーションの設定を確認します。
    • SGMII 制御 (SGMII/XAUI)
    • アドバタイズ機能
  • ALE と分類子の設定がネットワークの期待値と一致していることを確認します。
  • SerDes の構成 (レーン マッピング、SerDes クロック) を確認します。
    • SGMII/QSGMII 用の SerDes クロックは 100MHz、XAUI/USXGMII/XFI 用は 156.25MHz
    • マルチリンクが必要な場合は、SerDes リファレンス クロックおよび reference1 クロック、PLL マッピングから適切なクロックが有効になっていることを確認します。
  • PHY が 10Mbps リンク速度をサポートするインバンド シグナリングに対応していることを確認します。対応していない場合、通信は正常に機能しません。

インターフェイス検証

  • ENET_CTRL レジスタで、ポート インターフェースの選択 (RGMII/RMII/SGMII/QSGMII/USXGMII/XAUI/XFI) を確認します。
  • ENET_CTRL レジスタで、CPSW ポートの RGMII ディレイ選択を確認します。
  • SerDes インスタンスが接続性に合わせて設定されていることを確認します。
  • MAC ポート構成下の PHY の詳細が、接続内容と一致していることを確認します。
  • SERDES_CLK_CTRL レジスタを介して、SerDes レーンの PLL 選択を確認します。
  • SerDes レジスタにおいて、PLL のロック状態、IP の選択、クロック マッピングを確認します。
  • RMGII/SGMII/XGMII のステータス レジスタから、リンク / 自動ネゴシエーションの状態を確認します。

データ パス検証

  • CRC の正当性を確認し、CPSW のエラー統計を HW チームと共にデバッグします。
  • ALE カウンタが構成どおり期待される統計と一致しているか確認します。
  • ホスト ポートおよび外部ポートの Tx/Rx 統計を監視します。
    • ホスト ポートの Rx 増分は、外部ポートの Tx に相当します (ALE が構成されている場合)。
    • 外部ポートの Rx 増分は、ホスト ポートの Tx に相当します (ALE がパケットをホスト ポートに転送するよう構成されている場合)。

ALE および分類子

  • 指定されたポート番号へのパケット転送に対するユニキャスト MAC ALE エントリを確認します。
  • マルチキャストおよびブロードキャスト ALE ポート マスクを確認します (0 ビット目はホスト ポート、ビット 1 以降は外部ポートを表します)。
  • メンバー リスト、登録済みマルチキャスト、未登録マルチキャスト、タグなしイグレスを含む VLAN ALE エントリが、要件どおりに構成されていることを確認します。
  • ALE と分類子の設定を、予想されるネットワーク動作に合わせます。

PHY デバッグ

  • PHY がリセット解除されていることを確認します。
  • PDK API マニュアルに記載されている統合ガイドに従って、PHY ドライバが統合されていることを確認します。
  • リンク/自動ネゴシエーションに関連する情報を取得するために、PHY レジスタを読み取ります。
  • 利用可能な場合、Rx の Tx/PHY 統計情報を確認します。
  • PHY の構成およびステータスを PHY ベンダの情報と照合して検証します。

ネットワークの問題をデバッグする際に、構成に従って確認すべき基本レジスタ セット。

CPSW ポート固有の構成、リンク制御、およびステータスに関連するレジスタ

CTRLMMR レジスタ

表 1 ENET MAC ポートに関連する CTRLMMR レジスタ
レジスタ名 アドレス 説明
CTRL_MMR_ENETx_CTRL 0x00104044 + (x × 0x4) CPSW MAC ポートに選択されている動作モードを確認するため x
x:
CPSW MAC ポート番号 (0 ~ 7)
RGMII インターフェイスの場合、MAC から RGMII 遅延が有効になっているかどうかを確認します。

RGMII 遅延関連の設定用に J7 デバイスで RGMII クロック遅延を構成する方法を参照します。

特定のレジスタへのリンク

表 2 CPSW ポート リンク制御およびステータス レジスタ
レジスタ名 オフセット アドレス 説明
SGMII CTRL 0x110 + (x × 0x100) CPSW MAC ポートに対応するマスタ モードおよび自動ネゴシエーション用の構成レジスタ x
x : CPSW MAC ポート番号 (0~7)
SGMII ステータス 0x114 + (x × 0x100) ステータス レジスタは、CPSW MAC ポートに対応するリンク ステータスおよび SerDes PLL ロック ステータスを示しますx
x
: CPSW MAC ポート番号 (0~7)
SGMII アドバタイズ機能 0x118 + (x × 0x100) CPSW MAC ポートに対応する速度モード、デュプレックス、リンク ステータスを設定するための SGMII アドバタイズ機能 x
x: CPSW MAC ポート番号 (0~7)
RGMII ステータス 0x30 + (x × 0x4) ステータス レジスタは、CPSW MAC ポートに対応するリンク速度、デュプレックス、およびリンク ステータスを示します x
x: CPSW MAC ポート番号 (0~7)
XGMII リンクレジスタ 0x74 XGMII 対応ポートの XGMII リンク ステータス。
ビット 0: CPSW MAC ポート 1
ビット 1: CPSW MAC ポート 2。
CPSW MAC CTRL 0x22330 + (x × 0x1000) MAC 制御レジスタには、CPSW MAC ポートの速度、デュプレックス モード、GMII/XGMII 有効化、および動作モードが格納されます x
x: CPSW MAC ポート番号 (0~7)

ALE、CPSW 統計、制御レジスタに関連する詳細なレジスタ情報については、CPSW レジスタ仕様を参照します

SerDes クロック選択、レーン マッピング、構成に関連するレジスタ。

SerDes CTRLMMR レジスタ

表 3 SerDes に関連する CTRLMMR レジスタ
レジスタ名 アドレス 説明
CTRL_MMR_SERDESx_LNy_CTRL 0x00104080 + (x × 0x10) + (y × 0x04) SerDes に選択された動作モードの確認x レーンy
x: SerDes インスタンス
y: SerDes レーン番号
CTRL_MMR_SERDESx_CLKSEL 0x00108400 + (x × 0x10) SerDes に選択されたクロック ソースの確認x core_refclk input
x: SerDes インスタンス MAIN_PLL3_HSDIV4_CLKOUT/ MAIN_PLL2_HSDIV4_CLKOUT が推奨されます。
CTRL_MMR_SERDESx_CLK1SEL 0x00108404 + (x × 0x10) - SerDes に選択されたクロック ソースを確認x core_refclk1input
x: SerDes インスタンス MAIN_PLL3_HSDIV4_CLKOUT/ MAIN_PLL2_HSDIV4_CLKOUT が推奨されます。

SerDes 構成レジスタ

表 4 SerDes レーン構成および PLL マッピングレジスタ
レジスタ名 オフセット アドレス 説明
SERDES_TOP_CTRL 0x408 クロック モード構成
SERDES_RST 0x40C リファレンス クロックの選択
LANECTLx 0x480 + (x × 0x40) レーンx 構成
x: SerDes レーン番号
LANESTSx 0x48C + (x × 0x40) レーンx 状態
x: SerDes レーン番号
PHY_PMA_CMN_REGISTER 0xE000 PLL ロック ステータス

CPSW ポート固有の構成、リンク制御、およびリンク ステータスに関連するレジスタ

注: レジスタにアクセスするには、上記のオフセット アドレスに SerDes のベース アドレスを加えます。つまり、SerDes ベース アドレス + 上記オフセット アドレスとなります。
SerDes インスタンスのベース アドレスについては、SoC の TRM を参照してください。

まとめ

このガイドは、イーサネット ファームウェアのトラブルシューティングに関する包括的なリソースとして機能し、カスタム ボードの円滑な統合、構成管理、SDK 移行を確実に行えるようにします。イーサネット関連の問題を効率的に診断し解決するために、以下の体系的なチェックに従います。

参考資料