eqos ethernetは、単一のイーサネットではご利用いただけません。
私たちのボードは、imx8mp-evkをベースにしたカスタムボードです。
eqos シングルイーサネット上の imx8mp-evk とは異なるカスタムボード。
私の理解では、fecを使用する必要がない場合は、status = "disabled"を設定するだけです。imx8mp-evk.dts で。
問題は、fecを無効にしてeqosポートのみを使用したときに、「EQOS_DMA_MODE_SWR stuckFAILED:-110」というエラーが表示された場合です。
しかし、fec status = "okay";私たちのボードにFEC PHYチップがなくても、ケースは問題ありませんでした。
その理由を教えてください。
私は何かが間違っていますか?
&fec {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_fec>;
phy-mode = "rgmii-id";
phy-handle = <ðphy1>;
fsl,magic-packet;
// status = "okay";
status = "disabled"; //Not use
mdio {
#address-cells = <1>;
#size-cells = <0>;
ethphy1: ethernet-phy@1 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <1>;
eee-broken-1000t;
};
};
};
uboot ログ
Uブート 2022.04-dirty(2024年7月26日 - 10:20:19 +0900)
CPU: i.MX8MP[6] rev1.1 1800 MHz (1200 MHzで動作)
CPU:商用温度グレード(0C〜95C)、45°C
リセット原因: POR
モデル:NXP i.MX 8M Plusベースのカスタムボード
DRAM: 4 GiB
コア:81デバイス、24uclass、デバイスツリー:セパレート
MMC:FSL_SDHC:0
どこからともなく環境を読み込んでいます...わかりました
[*]-Video Link 0が出力デバイスが見つかりません
プローブ ビデオ デバイスが失敗しました、RET -19
[0] 液晶controller@32e80000、ビデオ
出力デバイスが見つからない
プローブ ビデオ デバイスが失敗しました、RET -19
で:シリアル
アウト:シリアル
エラー:シリアル
SEC0: RNG がインスタンス化されました
ビルド情報:
- ATF 8dbe286 (英語版)
MMC デバイス 1 が見つかりません
スロット 1 に MMC デバイスがない
USBブートを検出します。fastbootモードに入ります!
網:
警告:ランダムなMACアドレスを使用するethernet@30bf0000(eth1)-0a:ad:b2:b1:75:bd
eth1: ethernet@30bf0000 [プライム]
ファストブーツ:ノーマル
mfgtoolsのUSBからの起動
警告 - mfgtools のデフォルト環境を使用してください
、デフォルト環境を使用
Run bootcmd_mfg: run mfgtool_args;iminfo ${initrd_addr}の場合;次に、テスト ${tee} = はいの場合。それからbootm ${tee_addr} ${initrd_addr} ${fdt_addr};そうでなければ、ブーティ ${loadaddr} ${initrd_addr} ${fdt_addr};fi;else echo "fastboot を実行してください...";ファストブート 0;fi;
自動起動を停止するには、任意のキーを押します:0
## 43800000 で画像を確認しています ...
画像形式不明!
fastboot を実行し...
u-boot = >環境変数セットipaddr 192.168.xx.xx
u-boot = > env set netmask 255.255.0.0
u-boot = > ping 192.168.xx.xx
スタックEQOS_DMA_MODE_SWR失敗: -110
lf_v2024.04 U-Boot の場合、FEC ステータス設定については lf_v2022.04 の結果とそれほど変わりません。
まだ set fes status="okay" が必要です。
ご助言ありがとうございます。
私はu-bootブランチlf_v2022.04(デフォルト)を使用しました。
lf_v2024.04を使ってみます。
lf_v2024.04 DTSファイルはlf_v2022.04 DTSファイルと大きく異なります。
後でfec "status = disabled"を設定しようとすると、後で報告します。
そのFECインターフェースを有効にする必要がないことは確かです。しかし、そのためには、少なくともこの古い2204バージョンでは、ボードファイルを変更する必要があります。これのinitは、実際の理由もなくそこに結合されていることを読むことができます。どのubootバージョン(メインライン、nxp、バージョン)を使用していますか?新しいものを選ぶ方が良いです、qosドライバーには多くの変更があります...しかし、このトリックがあなたの問題を解決するなら、それも大丈夫です。
s_arendtさん、
ユースケースがない場合から理由を教えてください。
私は、そのエラーもfecが無効にされていることから来ていると思います。
したがって、fec set status = "okay"が必要です。FECを使用しなくても。
しかし、私たちのカスタムボードであるこれらのFECポートは接続されていないため、pinctrlの世話をする必要があります。
これらのポートがfecポートに対してアクティブになると、入力端子によるトラブルが発生する場合があります。
そこで、pinctrl-0を使用せずに以下の簡単な設定を行うことにしました。
// Dummy settings for activate eqos
&fec {
pinctrl-names = "default";
phy-mode = "rgmii-id";
status = "okay";
};この場合、U-Boot Pingは次のように言いました。(FEC1のPHYを取得できませんでした:addr 1)
u-boot = > ping 192.168.xx.xx
FEC1 の PHY を取得できませんでした: addr 1
ethernet@30bf0000 PHY 自動ネゴシエーションが完了するのを待っています.......完成です
ethernet@30bf0000デバイスの使用
ホスト 192.168.xx.xx は動作しています
古いバージョンのUbootとEQOSにはいくつかの問題があります。開発者がそれを単一のイーサネットとして機能させるのは、単にユースケースがなかったのだと思います。新しいUbootバージョンをチェックアウトするのが最善です。そこでは物事が良くなります。また、ubootメーリングリストにアドレスを設定することもできます。