こんにちは、NXPチームの皆様、
Microchip LAN96455F Ethernet Switch(LAN9645xファミリ)をカスタムのi.MX95 19x19 LPDDR5ボード(imx95-19x19-evk.dtsベース)に統合しています。適切なデバイスツリー統合に関するガイダンスをいただければ幸いです。
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インターフェースを備えています。
*/
&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を最終決定する前に確認すべき重要なポイント:
準備チェック:
dmesg | grep -i -E "dsa|lan964|mdio|enetc|netc"
IPリンク
cat /sys/class/net/
ip link set
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ハンドルを使用します。