This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/PROCESSOR-SDK-AM437X:PHY 内部环回

Guru**** 2942830 points

Other Parts Discussed in Thread: DP83620

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/673846/linux-processor-sdk-am437x-phy-internal-loopback

器件型号:PROCESSOR-SDK-AM437X
主题中讨论的其他器件:DP83620

工具/软件:Linux

大家好、

我正在开发最新的 SDK ti-processor-sdk-linux-am437x-evm-04.02.00.09-linux-x86-64安装。 我有一个定制板、如 AM437X-gp-EVM。 我们将在 RMII 模式下使用 DP83620以太网 PHY。

我想通过数据表测试 phy 的内部回送,我们可以看到:

DP83620包括一个环回测试模式、用于简化系统诊断。 回送模式
通过基本模式控制寄存器(BMCR)的位14 (回送)来选择。 向该位写入1
可将 MII 发送数据路由到 MII 接收输出。 

但是 我无法访问 BMCR 寄存器、有人能帮我配置 PHY 的内部回送模式吗?

我正在为此 PHY 使用 dp83848.c 驱动 程序、但该驱动程序中没有进行任何 BMCR 寄存器配置。 我能够在内核中检测 PHY。 如果您需要任何其他输入、请告诉我。

以下是 dmeg 的输出:

root@AM437x-gc150:~# dmesg | grep mdio
[1.319494] DaVinci_MDIO 4a101000.MDIO:达芬奇 MDIO 修订版本1.6
[1.325633] DaVinci_MDIO 4a101000.MDIO:检测到的 phy 掩码 fffff9
[1.333310) libphy:4a101000。mdio:探测
[1.337361] DaVinci_MDIO 4a101000.MDIO:PHY[1]:器件4a101000.MDIO:01、驱动器 TI DP83620 10/100Mbps PHY
[1.347159] DaVinci_MDIO 4a101000.MDIO:PHY[2]:器件4a101000.MDIO:02、驱动器 TI DP83620 10/100Mbps PHY
[9.560753] TI DP83620 10/100Mbps PHY 4a101000.MDIO:02:连接的 PHY 驱动程序[TI DP83620 10/100Mbps PHY](MII_BUS:phy_addr=4a101000.MDIO:0)
[10.599989] TI DP83620 10/100Mbps PHY 4a101000.MDIO:01:连接的 PHY 驱动程序[TI DP83620 10/100Mbps PHY](MII_BUS:phy_addr=4a101000.MDIO:0)
root@AM437x-gc150:~#
root 用户@AM437x-gc150:~#[41.050748] cpsw 4a100000.以太网 eth0:链路打开- 100Mbps/全-流量控制关闭
[41.058742] IPv6:ADDRCONF (NETDEV_CHANGE):eth0:链路就绪

root@AM437x-gc150:~# ifconfig
eth0 Link encap:ethernet HWaddr c4:be :84:CB:5F:58
iNet addr:192.168.15.173 Bcast:192.168.15.255掩码:255.255.255.0
inet6 addr:fe80::c6be:84FF:fectb:5f58%763860/64范围:链接
运行多播 MTU:1500公制:1的上广播
RX 数据包:49错误:0丢弃:0超限:0帧:0
TX 数据包:50错误:0丢弃:0超限:0载波:0
冲突:0 txqueuelen:1000
RX 字节:6770 (6.6 KiB) TX 字节:9366 (9.1 KiB)
中断:238

ETH1链路连接:以太网 HWaddr C4:be:84:CB:5F:5A
上广播多播 MTU:1500公制:1
RX 数据包:0错误:0丢弃:0超限:0帧:0
TX 数据包:0错误:0丢弃:0超限:0载波:0
冲突:0 txqueuelen:1000
RX 字节:0 (0.0 B) TX 字节:0 (0.0 B)

LO 链路环接:本地环回
iNet addr:127.0.0.1掩码:255.0.0.0
inet6 addr:::1%763860/128范围:主机
正在运行 MTU:65536公制:1的上环回
RX 数据包:267错误:0丢弃:0超限:0帧:0
TX 数据包:267错误:0丢弃:0超限:0载波:0
冲突:0 txqueuelen:1
RX 字节:187162 (182.7 KiB) TX 字节:187162 (182.7 KiB)

USB0 Link encap:Ethernet HWaddr 02:DC:C8:F8:75:35
上广播多播 MTU:1500公制:1
RX 数据包:0错误:0丢弃:0超限:0帧:0
TX 数据包:0错误:0丢弃:0超限:0载波:0
冲突:0 txqueuelen:1000
RX 字节:0 (0.0 B) TX 字节:0 (0.0 B)

谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    我们目前没有任何代码示例可以将 PHY 设置为环回。 在使用 ioctl SIOCSMIIREG 时、通过从 Linux 应用程序读取 MII 寄存器、可以在 Web 上查看一些应用示例。 也许可以将其用作起点、看看您是否可以修改其中一个示例以写入 PHY 以设置环回模式。 我没有尝试过它、我不确定它是否起作用、我只能建议将其作为起点。

    此致、
    Schuyler
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Schuyler、您好、

    感谢你能抽出时间。

    我查看  了 ioctl SIOCSMIIREG 的示例、能够访问并修改 PHY 寄存器。

    此致、

    Vimal