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.

[参考译文] AM625:在 U-Boot 上测试以太网 PHY

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1241869/am625-testing-ethernet-phy-on-u-boot

器件型号:AM625
主题中讨论的其他器件:DP83620

您好、TI!

MAIN_rmii2_PINS_DEFAULT:MAIN-rmii2-PINS-DEFAULT

PINCCTRL-SINGLE、PINS =<

AM62X_IOPAD (0x0168、PIN_INPUT、1)/*(AE21) RGMII2_TXC.RMII2_CRS_DV */

AM62X_IOPAD (0x0180、PIN_INPUT、1)/*(AD23) RGMII2_RXC.RMII2_REF_CLK */

AM62X_IOPAD (0x0184、PIN_INPUT、1)/*(AE23) RGMII2_RD0.RMII2_RXD0 */

AM62X_IOPAD (0x0188、PIN_INPUT、1)/*(AB20) RGMII2_RD1.RMII2_RXD1 */

AM62X_IOPAD (0x017c、PIN_INPUT、1)/*(AD22) RGMII2_RX_CTL.RMII2_RX_ER */

AM62X_IOPAD (0x016c、PIN_OUTPUT、1)/*(Y18) RGMII2_TD0.RMII2_TXD0 */

AM62X_IOPAD (0x0170、PIN_OUTPUT、1)/*(AA18) RGMII2_TD1.RMII2_TXD1 */

AM62X_IOPAD (0x0164、PIN_OUTPUT、1)/*(AA19) RGMII2_TX_CTL.RMII2_TX_EN */

>;

};

 

 

MAIN_rmii1_PINS_DEFAULT:MAIN-rmii1-PINS-DEFAULT

PINCCTRL-SINGLE、PINS =<

AM62X_IOPAD (0x0130、PIN_INPUT、1)/*(AE19) RGMII1_TXC.RMII1_CRS_DV */

AM62X_IOPAD (0x0148、PIN_INPUT、1)/*(AD17) RGMII1_RXC.RMII1_REF_CLK */

AM62X_IOPAD (0x014c、PIN_INPUT、1)/*(AB17) RGMII1_RD0.RMII1_RXD0 */

AM62X_IOPAD (0x0150、PIN_INPUT、1)/*(AC17) RGMII1_RD1.RMII1_RXD1 */

AM62X_IOPAD (0x0144、PIN_INPUT、1)/*(AE17) RGMII1_RX_CTL.RMII1_RX_ER */

AM62X_IOPAD (0x0134、PIN_OUTPUT、1)/*(AE20) RGMII1_TD0.RMII1_TXD0 */

AM62X_IOPAD (0x0138、PIN_OUTPUT、1)/*(AD20) RGMII1_TD1.RMII1_TXD1 */

AM62X_IOPAD (0x012c、PIN_OUTPUT、1)/*(AD19) RGMII1_TX_CTL.RMII1_TX_EN */

>;

};

 

 

cpsw3g (&C){

pinctrl-names ="默认";

PINCCTRL-0 =<&MAIN_mdio1_PINS_DEFAULT

  MAIN_rmii1_PINS_DEFAULT

  &MAIN_rmii2_PINS_DEFAULT>;

};

 

 

&cpsw_port1{

PHY 模式="RMII";

PHY-Handle =<&cpsw3g_phy0>;

};

 

cpsw3g_mdio (&C)

cpsw3g_phy0:以太网-phy@3{

 REG =<0x03>;

};

 

};

 

&cpsw_port2{

 

PHY 模式="RMII";

PHY-Handle =<&cpsw3g_phy1>;

};

 

&cpsw3g_mdio{

cpsw3g_phy1:以太网-phy@5{

REG =<0x05>;

};

};

 

2.配置文件

 

am62x_EVM_A53_defconfig

----------------

 

CONFIG_PHY_TI_GENERAL=y

  

3.驱动程序文件:

  ----------------

drivers/net/phy/ti_init_phy.c

 

#ifdef CONFIG_PHY_TI_GENERAL

静态结构 phy_driver dp83620_driver ={

.name ="TI DP83620"、

//.uid = 0x20005ce0、

.uid = 0x20005ce1、

.mask = 0xfffffff0、

.features = PHY_basic_features、

.config =&genphy_config_aneg、

.startup =&genphy_startup、

.shutdown =&genphy_shutdown;

 

};

#endif

 

 

#ifdef CONFIG_PHY_TI_GENERAL

PHY_REGISTER (&dp83620_driver);

#endif

 

 

完成这些更改后、我们可以在 RJ45连接器上看到 LED、并且可以在 U-boot 上使用 MII 命令读取 PHY 寄存器。 状态寄存器的 MII 转储如下所示。

  

如您所见、自协商和链路成功完成。  

 

然后、当我们尝试 Ping 主机时、Ping 命令失败。

 在 u-boot 命令提示符处

setenv ipaddr 192.168.1.10

setenv serverip 192.168.1.11

setenv 网络掩码255.255.255.0

Ping 192.168.1.11

 

敬请告知我们、以太网 PHY (DP83620)是否缺少任何配置详细信息。

如何进一步处理此问题。

 

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

    我们正在定制电路板上测试以太网 PHY。使用的以太网 PHY 为 DP83620。针对 u-boot 源代码(u-boot-2021.01+gitAUTOINC+3983bffabc-g3983bffabc)所做的更改位于上述主题中。

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

    您好!

    图片是有点难读。 检测到链路、看起来像这样、让我们看看是否有数据包传出。 我的第一个建议是直接连接 PC、不要在两者之间使用交换机。 PC 需要安装 Wireshark、可在 Windows 和 Linux 上运行它。 您将需要像设置一样设置器件、而只需在 PC 上运行 Wireshark。 您想要查看来自设备的 ARP 帧。

    您可以引导至 Linux 吗?

    此致、

    舒耶勒

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

    尊敬的 Schuyler:

    感谢您的回复。

    请找到所附的 Wireshark 输出。 执行 ping 命令时会接收到一些数据包。

    是的、我可以引导 Linux。

    在 Linux 级别、我进行了以下更改并尝试测试了接口、但运气不好。


    k3-am62x-sk-common.dtsi
    -------------------------------------------------------

    MAIN_rmii2_PINS_DEFAULT:MAIN-rmii2-PINS-DEFAULT
    PINCCTRL-SINGLE、PINS =<
    AM62X_IOPAD (0x0168、PIN_INPUT、1)/*(AE21) RGMII2_TXC.RMII2_CRS_DV */
    AM62X_IOPAD (0x0180、PIN_OUTPUT、1)/*(AD23) RGMII2_RXC.RMII2_REF_CLK */
    AM62X_IOPAD (0x0184、PIN_INPUT、1)/*(AE23) RGMII2_RD0.RMII2_RXD0 */
    AM62X_IOPAD (0x0188、PIN_INPUT、1)/*(AB20) RGMII2_RD1.RMII2_RXD1 */
    AM62X_IOPAD (0x017c、PIN_INPUT、1)/*(AD22) RGMII2_RX_CTL.RMII2_RX_ER */
    AM62X_IOPAD (0x016c、PIN_OUTPUT、1)/*(Y18) RGMII2_TD0.RMII2_TXD0 */
    AM62X_IOPAD (0x0170、PIN_OUTPUT、1)/*(AA18) RGMII2_TD1.RMII2_TXD1 */
    AM62X_IOPAD (0x0164、PIN_OUTPUT、1)/*(AA19) RGMII2_TX_CTL.RMII2_TX_EN */
    >;
    };


    MAIN_rmii1_PINS_DEFAULT:MAIN-rmii1-PINS-DEFAULT
    PINCCTRL-SINGLE、PINS =<
    AM62X_IOPAD (0x0130、PIN_INPUT、1)/*(AE19) RGMII1_TXC.RMII1_CRS_DV */
    AM62X_IOPAD (0x0148、PIN_INPUT、1)/*(AD17) RGMII1_RXC.RMII1_REF_CLK */
    AM62X_IOPAD (0x014c、PIN_INPUT、1)/*(AB17) RGMII1_RD0.RMII1_RXD0 */
    AM62X_IOPAD (0x0150、PIN_INPUT、1)/*(AC17) RGMII1_RD1.RMII1_RXD1 */
    AM62X_IOPAD (0x0144、PIN_INPUT、1)/*(AE17) RGMII1_RX_CTL.RMII1_RX_ER */
    AM62X_IOPAD (0x0134、PIN_OUTPUT、1)/*(AE20) RGMII1_TD0.RMII1_TXD0 */
    AM62X_IOPAD (0x0138、PIN_OUTPUT、1)/*(AD20) RGMII1_TD1.RMII1_TXD1 */
    AM62X_IOPAD (0x012c、PIN_OUTPUT、1)/*(AD19) RGMII1_TX_CTL.RMII1_TX_EN */
    >;
    };

    cpsw3g (&C){
    pinctrl-names ="默认";
    PINCCTRL-0 =<&MAIN_mdio1_PINS_DEFAULT
    MAIN_rmii1_PINS_DEFAULT
    &MAIN_rmii2_PINS_DEFAULT>;
    };

    &cpsw_port1{
    PHY 模式="RMII";
    PHY-Handle =<&cpsw3g_phy0>;
    };

    &cpsw_port2{
    PHY 模式="RMII";
    PHY-Handle =<&cpsw3g_phy1>;
    };

    &cpsw3g_mdio{
    cpsw3g_phy0:以太网-phy@3{
    寄存器=<3>;
    //ti、rx-internal-delay = ;
    //ti、fifo-depth = ;
    //ti 最小输出阻抗;
    };

    cpsw3g_phy1:以太网-phy@5{
    寄存器=<5>;
    //ti、rx-internal-delay = ;
    //ti、fifo-depth = ;
    //ti 最小输出阻抗;
    };
    };


    tisdk_am62xx-evm_defconfig
    ----------------

    CONFIG_DP83848_PHY=y

    是否遗漏了 Linux 上的任何条件更改?

    我还附加了内核日志文件以供您参考。 请检查并告诉我您的反馈。

    e2e.ti.com/.../Ethernet_5F00_test.txt

    此致、

    Murali Chikkanna

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

    尊敬的 Schuyler:

    我已经在入门套件和定制板上使用 Wireshark 测试了数据包流动特性。

    在 Starter kit 上、我收到一些 ICMP 请求和回复包、其中包含一些 ARP 包。

    但在定制板上、我没有看到任何数据包流。

    请找到随附的屏幕截图。

    入门套件:

    => ping 192.168.1.10
    在端口1上建立链路、速度为1000、全双工
    使用以太网@8000000port@1设备
    主机192.168.1.10处于活动状态

    客户电路板:

    => ping 192.168.1.10
    在端口1上建立链路、速度100、全双工
    使用以太网@8000000port@1设备

    已超过 ARP 重试计数;重新开始
    Ping 失败;主机192.168.1.10不活动

    此致、

    Murali Chikkanna

      

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

    尊敬的 Murali:

    第一个 Wireshark 捕获、那是定制板吗? 如果是这样、表明 ARP 数据包来自板、这是我们想要证明的。  

    引导至 Linux 并执行 ping 命令、证明 cpsw 和 PHY 正常 工作。 我不确定您提出的有关 Linux 的问题、对我来说、网络部分似乎设置正确。

    在第一个示例中、.10地址是定制板、在第二个示例中、ping 了.10地址。 这里的.10器件是什么? 您能否用方框图来描述这种拓扑?

    此致、

    舒耶勒

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

    尊敬的 Schuyler:

    不可以、第一个 Wireshark 捕获来自入门套件、第二个 Wireshark 捕获用于我们的自定义板、那里没有数据包流。

    在 Linux 上、我们还有关于链接状态的问题、请找到以下日志:

     root@am62xx-evm:~# ethtool eth0
    ETH0的设置:
    支持的端口:[ TP MII ]
    支持的链路模式:10baseT/half 10baseT/Full
    100baseT/1/2 100baseT/Full
    支持的暂停帧使用:对称
    支持自动协商:是
    支持的 FEC 模式:未报告
    广播的链路模式:10baseT/half 10baseT/Full
    100baseT/1/2 100baseT/Full
    广播暂停帧使用:对称
    广播的自动协商:是
    广播的 FEC 模式:未报告
    速度:未知!
    双工:未知! (255)
    自协商:开启
    端口:双绞线
    PHYAD:3
    收发器:外部
    MDI-X:未知
    支持唤醒:D
    唤醒:D
    当前报文级别:0x000020f7 (8439)
    DRV 探测链路 ifup rx_err tx_err HW
    检测到链路:无

    192.168.1.10是在主机上配置的静态 IP 地址。

    此致、

    Murali Chikkanna

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

    尊敬的 Murali:

    没错、当您指出没有链路时、不会传输任何数据包。 我很抱歉,因为我感到困惑。 2天前的帖子显示了 TI EVM 的 Wireshark、这篇帖子中的日志文件是来自 TI EVM 的吗? 我当时想这不是因为识别的 PHY 不是 TI EVM 上的 PHY。 日志文件显示 Ping 成功。

    此致、

    舒耶勒

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

    尊敬的 Schuyler:

    这已经是一个星期了,我被困在这个问题。 但仍然无法使其工作。  

    我们仍然无法在 u-boot 和 Linux 上使用自定义板成功执行 ping 操作。  

    根据我到目前为止的理解、ping 命令没有从处理器向定制板上的以太网 PHY 发送任何 ARP 数据包。  

    我还 在以太网 PHY 上启用了内部回送 并尝试了 ping 命令、但结果仍然相同、主机不活动。

    是否有办法在处理器级执行环回测试(CPSW 环回)。

    请告诉我,我们如何进一步进行这项测试。

    此致、

    Murali Chikkanna    

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

    您好!

    我现在将关闭该主题、因为它与具有相同主题的另一个主题相关。 通过移除 TX 数据线上将电压降至3.3V 以下的下拉电阻器、可以解决此问题。

    此致、

    舒耶勒