2404430_ja-JP

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2404430_ja-JP

2404430_ja-JP

LAN96455F i.MX95とのイーサネット・スイッチ統合 – デバイスツリーガイダンス

こんにちは、NXPチームの皆様、

Microchip LAN96455F Ethernet Switch(LAN9645xファミリ)をカスタムのi.MX95 19x19 LPDDR5ボード(imx95-19x19-evk.dtsベース)に統合しています。適切なデバイスツリー統合に関するガイダンスをいただければ幸いです。

Re: LAN96455F Ethernet Switch Integration with i.MX95 – Device Tree Guidance

Linuxの場合、外部スイッチポートを個別に公開・管理する予定がある場合は、LAN96455FをDSA イーサネット・スイッチとしてモデル化してください。スイッチのCPU/アップリンクポートに接続するi.MX95 ENETC/NECイーサネットMACはDSAコンジットインターフェースであるべきです。LAN96455FポートはDSAユーザーNetDevとなります。DSAは、専用CPUポートがSoCイーサネットコントローラに接続されたスイッチ向けに設計されており、CPUポート自体の別のネット開発ではなく、フロントパネルごとの「ユーザー」インターフェースを作成します。

適切なデバイスツリーの構造は次のとおりです。

/* &enetX / &mdioX を実際の i.MX95 BSP ラベルに置き換えてください

 * 選択した NETC ENETC ポートについては、imx95-19x19-evk.dts / imx95.dtsi を参照してください。

*/

/* i.MX95 ENETCポートがCPU/アップリンクポートに接続LAN96455F */

&enetX {

                 ステータス = "okay";

              /* i.MX95とLAN96455F間の電気インターフェースを一致させる必要があります:

* "rgmii-id", "rgmii", "sgmii", "2500base-x", など。

               */

              phy-mode = "rgmii-id";

              /* MACからスイッチへのCPUポートは通常PHYがないため、説明してください

              * LAN96455F CPU ポートが実際に固定リンクでない限り、固定リンクとして扱われます。

                 * PHY/PCS を介して管理されます。

               */

固定リンク {

                             速度 = <1000>;

全二重;

};

};

/* MDIOコントローラはスイッチ マネジメント インターフェースにアクセスするために使用されました。

* i.MX95 NETCは外部PHY用のマスターMDIOインターフェースを備えています。

 * 条項 22 および条項 45 を支持する

*/

&mdioX {

                 ステータス = "okay";

イーサネットswitch@0 {

                             /* LAN9645xのドライバー/バインディングの互換文字列を使用してください

* カーネル/BSP に同梱されています。この文字列を創作しないでください。

*/

互換性 = "microchip,

reg = <0>; /* MDIO アドレスをボード上に固定 */

ポート {

#address-cells = <1>

#size-cells = <0>;

                                           port@0 {

reg = <0>;

label = "lan0";

/* この外部ポートに外部 PHY がある場合:

* phy-handle = <&phy0>

* phy-mode = "..."

*/

                                            };

                                           port@1 {

reg = <1>;

label = 「lan1」;

                                            };

                                           port@2 {

reg = <2>;

label = "lan2";

                                            };

                                           port@3 {

reg = <3>

label = "lan3";

                                            };

/* LAN96455F CPU/アップリンクポート番号は、

* マイクロチップのデータシート/ドライバ定義。

*/

                                           ポート@N {

reg = ;

label = "CPU";

イーサネット = <&enetX>;

                                                           phy-mode = "rgmii-id";

                                                           固定リンク {

                                                                            スピード = <1000>;

全二重;

                                                              };

                                            };

                          };

};

};

DTSを最終決定する前に確認すべき重要なポイント:

  • カーネルから実際のLAN9645xバインディングを使用してください。取得したソースから公開されたメインLAN96455Fライン固有のバインディングを確認できなかったため、上記の互換性文字列は意図的にプレースホルダーとして使っています。NXPのBSP/Microchipドライバーツリーのドキュメント/devicetree/bindings/net/dsa/またはMicrochip LAN9645xドライバーソースを確認してください。
  • イーサネット = <&enetX>すべてのスイッチポートではなく、SwitchのCPUポートに設置しています。 DSAポートバインディングでは、イーサネットプロパティがスイッチポートがコネクテッドされているホストイーサネットデバイスへのphandleであると書かれています。
  • CPU/DSAポートには、phylink形式のリンク記述が必要です。CPUポートの場合、イーサネット=<&enetX>;このバインディングはphyモードと固定リンク、phyハンドル、またはマネージドのいずれかを必要とします。
  • 固定リンクはMACからスイッチへのCPUポート直接続に使います。 一般的なイーサネットバインディングは、速度、全二重、オプションの一時停止特性を持つ固定リンクを定義しています。サポートされる固定リンク速度には、オブジェクト形式で10/100/1000/2500/5000/10000 Mbit/sが含まれます。
  • RGMIIの遅延モードは正確に設定してください。phy-mode = "rgmii-id" は、PCB が RGMII クロック/データ遅延を提供せず、MAC/PHY 側が内部遅延を提供する必要があることを意味します。plain "rgmii" は、PCB の配線が遅延を提供することを意味します。ほとんどのカスタムボードでは、レイアウトで意図的に遅延を追加しない限り、「rgmii-id」が想定される開始点となります。
  • また、i.MX95のMACがスイッチCPUポートに接続されている場合、通常の外部PHYのように設定しないでください。DSAモデルでは、MACが導管となり、外部ユーザーのポートはスイッチポートノードで表されます。
  • lan0やlan1などのLinuxインターフェースが期待できます。DSAはフロントパネルポート用のユーザーネットワークデバイスを作成し、DSAラベルプロパティがnetdevの名前となります。

準備チェック:

dmesg | grep -i -E "dsa|lan964|mdio|enetc|netc"

IPリンク

cat /sys/class/net//dsa/tagging 2>/dev/null

ip link set up

ip link set lan0 up

ethtool lan0

lanXインターフェースが表示されない場合は、次の順番でデバッグを行います:MDIOアドレス/ストラップ値、GPIOタイミングのリセット、ドライバーの要求による割り込みGPIO、正しいLAN9645x互換、正しいCPUポートレジグ、i.MX95とスイッチ間の正しい物理モード/固定リンク速度。

i.MX95 ENETCポートをDSA導管として使い、MDIO/SPI管理バスの下でポートブロックでLAN96455Fを記述し、スイッチCPUポートをENETC MACに戻すようにします。イーサネット = <&enetX>に加え有効なphyモードと固定リンク/マネージド/phyハンドルを使用します。


タグ(1)
評価なし
バージョン履歴
最終更新日:
1ヶ月前
更新者: