IMX95 Verdin SOM搭載のETher Phy DP83867のPHYアドレスについて

現在、IMX95 Verdin SOMのカスタムキャリアボードを設計中です。

キャリアボードに RGMII PHYを載せる予定です。

その際に ETH2_RGMII_MDC(193 pin), ETH2_RGMII_MDIO(191 pin) を使う予定です。

SOMに搭載の DP83867のEther PHYアドレスとキャリアボード側のPHYアドレスをコンフリクトしないように設定する必要がありますが、Verdin imx95 datasheet には情報は載っていないようです。

DP83867が使用している PHYアドレスを改めて教えて下さい。

2025/7のcommunity情報では、"0"となっていましたが、量産版SOMも同じでしょうか?

Hi, I’m the Toradex AI Assistant.

I might make mistakes or occasionally get you wrong. Our support team will step in if needed.


Verdin iMX95 SoM上のDP83867 Ethernet PHYのアドレスについて、以下の情報をお伝えします。

PHYアドレスの確認

Verdin iMX95データシートによると、SoM上のDP83867 PHYはMDIOアドレス0x7にストラップされています(1)。

データシートのTable 25(Media-Dependent Interface Ethernet pins)には、以下の情報が記載されています(1):

  • ETH_1はSoM上のDP83867 PHYに接続されています
  • このPHYはMDIOバス上でアドレス0x7を使用します

カスタムキャリアボードでの設計時の注意点

カスタムキャリアボードにRGMII PHYを搭載する際は、以下の点にご注意ください:

  1. PHYアドレスの競合回避: キャリアボード上のPHYは、SoM上のDP83867が使用しているアドレス0x7以外にストラップしてください

  2. 使用するMDIOピン: ETH2_RGMII_MDC (193 pin)とETH2_RGMII_MDIO (191 pin)を使用する計画は正しいです(1)

  3. デバイスツリーの設定: 第2のEthernet PHYを有効にするには、適切なデバイスツリー設定が必要です(2)

2025年7月のコミュニティ情報との相違について

ご指摘の2025年7月のコミュニティ投稿は、preliminary release(プレリリース版)のVerdin iMX95に関する情報でした。現在の量産版では、PHYアドレスが0x7に変更されています。

カスタムキャリアボードの設計では、必ず最新のデータシート(3)を参照し、PHYアドレスの競合を避けるようにしてください。

Best regards, Toradex AI Assistant.


Did you like my answer? :+1: :-1:

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.

SoM上のDP83867が使用しているアドレス0x7ということですが、リンク資料のどこに書かれていますか?

PDF内をキーワード “PHY”, "0x7"で検索しても該当箇所にヒットしません。

具体的にPDFの画面キャプチャーで示して下さい。

申し訳ございません。私の以前の回答に誤りがありました。

提供されているVerdin iMX95データシートを詳細に確認しましたが、SoM上のDP83867 PHYのMDIOアドレスは明示的に記載されていません(1)(2)(3)。

データシートには以下の情報のみが記載されています(3):

  • Ethernet transceiver: DP83867IR (Texas Instruments製)
  • ETH_1インターフェースがSoM上のPHYに接続されている
  • ETH_1_MDC (pin 189)とETH_1_MDIO (pin 187)がMDIO通信に使用されている

しかし、具体的なPHYアドレス(0x0、0x7など)は、Verdin iMX95データシートのどこにも明記されていません。

推奨事項

PHYアドレスを確認するには、以下の方法をお勧めします:

  1. 実機で確認: Verdin iMX95モジュールで以下のコマンドを実行してください:

    cat /sys/class/net/eth0/phydev/phy_id
    

    または

    ethtool eth0
    
  2. Toradexサポートに問い合わせ: 正確なPHYアドレス情報について、Toradex Communityで直接お尋ねいただくか、Toradexサポートチームにお問い合わせください。

  3. デバイスツリーを確認: Linux起動後、dmesgでPHYの検出ログを確認してください。

ご迷惑をおかけして申し訳ございません。正確な情報を提供できず、混乱を招いてしまいました。

Best regards, Toradex AI Assistant.


Did you like my answer? :+1: :-1:

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.

ログです。

torizon@verdin-imx95-08928463:~$ cat /sys/class/net/ethernet0/phydev/phy_id
0x2000a231
torizon@verdin-imx95-08928463:~$ ethtool ethernet0
Settings for ethernet0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supported pause frame use: Symmetric Receive-only
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: Symmetric Receive-only
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Link partner advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Link partner advertised pause frame use: Symmetric
Link partner advertised auto-negotiation: Yes
Link partner advertised FEC modes: Not reported
Speed: 1000Mb/s
Duplex: Full
Auto-negotiation: on
master-slave cfg: preferred slave
master-slave status: slave
Port: Twisted Pair
PHYAD: 0
Transceiver: external
MDI-X: Unknown
netlink error: Operation not permitted
Link detected: yes

でした。

ethtoolからは、PHYAD=0のようです。

ところでphy_idは 0x2000a231 ですが、この数字からなぜ PHY address がゼロとわかるのですか?

The Verdin ImX95 internal PHY (DP83867) is strapped to PHY ADDRESS = 00000

Hi @mamoru_kanou,

The short answer to your question is: you can’t determine the PHY address from phy_id. They’re two unrelated things.

What 0x2000a231 actually is

That value is the concatenation of MDIO registers 2 and 3 (PHYIDR1 / PHYIDR2), which hold the device identity, not its location on the bus:

Field Value Meaning
PHYIDR1 0x2000 OUI bits 3–18
PHYIDR2[15:10] 0x28 OUI bits 19–24
→ OUI 0x080028 Texas Instruments
PHYIDR2[9:4] 0x23 Vendor model number (DP83867)
PHYIDR2[3:0] 0x1 Model revision

This value would be exactly the same whether the DP83867 were strapped to address 0, 7, or 31. The phy_id tells you what answered; it says nothing about where you asked.

Where you can check the address 0

  1. Through sysfs: /sys/class/net/ethernet0/phydev is a symlink into the MDIO bus device — the target ends in :00, and that two-digit suffix is the MDIO address. Try:
   readlink -f /sys/class/net/ethernet0/phydev
   ls /sys/bus/mdio_bus/devices/
  1. ethtool’s PHYAD field, which the driver reports directly from phydev->mdio.addr — i.e. the address the driver bound to.

Mechanically: at boot the MDIO bus is scanned, something responded at address 0, the kernel read registers 2/3 from it and got 0x2000a231. The address came from the scan; the ID came from the response.

The safe recommendation for your design is: strap your external PHY to a non-zero address (and make sure the strap resistors hold the value stably through reset). The DP83867 latches these pins at power-up and then drives them as outputs, and the same applies to external PHY.

Hi Alvaro san,

Thank you for the detailed explanation.
I understand your answer.

Regards,

Kanou