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.

[参考译文] PROCESSOR-SDK-J784S4:验证 SGMII5→DP83869→ADIN1100 的 SerDes2 Lane0 DTS 配置

Guru**** 2558250 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1569482/processor-sdk-j784s4-validation-of-serdes2-lane0-dts-configuration-for-sgmii5-dp83869-adin1100

部件号:PROCESSOR-SDK-J784S4
主题:DP83869 中讨论的其他器件

工具/软件:

您好、

 

我在 J784S4 上有以下以太网设置:

 

CPSW9G(端口 5)<--> SGMII <--> DP83869(地址 3)<--> RGMII <--> ADIN1100(地址 0)

 

 

DP83869 SGMII 转 RGMII PHY 通过`SΩ ERDES2_LANE0`通过`SΩ GMII5`连接。 在 SoC 侧、`SGMII5_RX0_P/N`和`TX0_P/N`分别路由至`SERDES2_RX0_P/N`和`TX0_P/N`。

 

我当前的 SerDes2 lane0 DTS 配置是:

 

 

&SERDES_REFCLK{
   时钟频率=<1000000>;
};

 

&SERDES_ln_ctrl{
   空闲状态= ;
};

 

&SERDES_wiz2{
   状态=“正常“;
};

 

{&S serdes2}
   状态=“正常“;
   #address-cells =<1>;
   #size-cells =<0>;
   serdes2_sgmii_link:PHY@0{
       reg =<0>;
       CDN、num-lanes =<1>;
       #phy-cells =<0>;
       CDN、phy-type = ;
       RESET =<&SERDES_wiz2 1>;
   };
};

 

&main_cpsw0{
状态=“正常“;
};

 

&main_cpsw0_mdio{
状态=“正常“;
pinctrl-names =“default";“;
pinctrl-0 =<&main_cpsw9x1_mdio_pins_default>;
pinctrl-1 =<&_MAIN_PMX_gpio_vddshv20_pins_default>;

 

/* DP83869 桥接 PHY — 连接到 CPSW SGMII 端口*/
bridge_phy:Ethernet-phy@3{
reg =<3>;// DP83869 地址
};
};

 

/* ADIN1100 — 通过 RGMII 连接到 DP83869 桥接器*/
adin1100:Ethernet-phy@0{
REG =<0>; // ADIN1100、在 DP83869 后面

 

};

 

};

 

 

&main_cpsw0_port5{
状态=“正常“;
PHY-MODE =“SGMII";“;
PHY-handle =<&adin1100>;
Phys =<&cpsw0_phy_gmii_sel 5>、<&serdes2_sgmii_link>;
PHY-NAMES =“MAC",“,"SerDes、"SerDes "“ ";“;

};

 

 

我要确认:

 

1.将 SGMII5 连接到 DP83869 时、所有与 SerDes2 lane0 相关的条目是否正确?
2.如何在 DTS 或运行时验证 SerDes2 配置正确并正常工作?

 

提前感谢。

Dharanija.  

 

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

    您好、

    [quote userid=“605628" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1569482/processor-sdk-j784s4-validation-of-serdes2-lane0-dts-configuration-for-sgmii5-dp83869-adin1100 将 SGMII5 连接到 DP83869 时、所有 SerDes2 lane0 相关条目是否正确?

    是的、要在 SerDes2 的 MAC 端口 5 上启用 SGMII、串行器/解串器配置看起来很合适。

    [quote userid=“605628" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1569482/processor-sdk-j784s4-validation-of-serdes2-lane0-dts-configuration-for-sgmii5-dp83869-adin1100 如何在 DTS 或运行时验证 SerDes2 配置正确并正常工作?

    您可以转储串行器/解串器寄存器并检查 PLL 锁定状态。
    要了解要检查哪些寄存器、请参阅以下应用手册中的串行器/解串器寄存器详细信息。
    https://www.ti.com/lit/ab/sprads2/sprads2.pdf

    此致、
    Sudheer

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

    您好、
    采用以下 DTS 设置:

     

    &main_cpsw0_mdio{
    状态=“正常“;
    pinctrl-names =“default";“;
    pinctrl-0 =<&main_cpsw9x1_mdio_pins_default>;
    pinctrl-1 =<&MAIN_PMX_gpio_vddshv20_pins_default>;

     

    /* DP83869 桥接 PHY — 连接到 CPSW SGMII 端口*/
    bridge_phy:Ethernet-phy@3{
    reg =<3>;
    };

     

    /* ADIN1300 — 通过 RGMII 连接至 DP83869 桥接器*/
    adin1300:Ethernet-phy@0{
    reg =<0>;
    };
    };
    &main_cpsw0_port5{
    状态=“正常“;
    PHY-MODE =“SGMII";“;
    PHY-handle =<&adin1300>;
    Phys =<&cpsw0_phy_gmii_sel 5>、<&serdes2_sgmii_link>;
    PHY-NAMES =“MAC",“,"SerDes、"SerDes "“ ";“;
    };

     

    输出如下:

     

    ethtool eth1
    ------------------------
    eth1 的设置:
    支持的端口:[ TP mii ]
    支持的链路模式:10BaseT/Half 10baseT/Full
    100BaseT/Half 100BaseT/Full
    1000BaseT/Full
    支持的暂停帧使用:对称
    支持自动协商:可以
    支持的 FEC 模式:未报告
    广播的链路模式:10BaseT/Half 10baseT/Full
    100BaseT/Half 100BaseT/Full
    1000BaseT/Full
    广播的暂停帧使用:对称
    广播的自动协商:是
    广播 FEC 模式:未报告
    链路伙伴广播的链路模式:10BaseT/Half 10baseT/Full
    100BaseT/Half 100BaseT/Full
    1000BaseT/Full
    链路伙伴广播的暂停帧使用:否
    链路伙伴广播的自动协商:是
    链路伙伴广播的 FEC 模式:未报告
    速度:1000Mb/秒
    双工:全双工
    自动协商:打开
    master-slave cfg:首选从器件
    主从状态:主器件
    端口:双绞线
    PHYAD:0
    收发器:外部
    MDI-X:关闭(自动)
    支持唤醒:d.
    唤醒:D
    当前消息级别:0x000020f7 (8439)
    如果 rx_err TX_err 硬件、则 DRV 探头链路断开
    检测到链路:是

     

    但我不断在终端上获得它:
    [ 7.840555] am65-cpsw-nuss c000000.Ethernet eth1:PHY [C000f00.MDIO:00]驱动程序[ADIN1300](IRQ=POLL)
    [ 7.849698] am65-cpsw-nuss c000000.ethernet eth1:配置 phy/SGMII 链路模式
    [11.966098] am65-cpsw-nuss c000000.Ethernet eth1:链路接通 — 1Gbps/full — 流控制关闭
    [17.058021] NETDEV 看门狗:eth1 (am65-cpsw-nuss):传输队列 0 超时
    [ 17.504301] am65-cpsw-nuss c000000.ethernet eth1:TxQ:0 DRV_XOFF:0 TMO:5500 dql_avail:–90 free_desc:515
    [23.196405] am65-cpsw-nuss c000000.ethernet eth1:TxQ:0 DRV_XOFF:0 TMO:11196 dql_avail:–90 free_desc:515
    [28.060397] am65-cpsw-nuss c000000.ethernet eth1:TxQ:0 DRV_XOFF:0 TMO:16060 dql_avail:–90 free_desc:515
    [ 33.180397] am65-cpsw-nuss c000000.Ethernet eth1:TxQ:0 DRV_XOFF:0 TMO:21180 dql_avail:–90 free_desc:515
    [ 38.044397] am65-cpsw-nuss c000000.ethernet eth1:TxQ:0 DRV_XOFF:0 TMO:26044 dql_avail:–90 free_desc:515
    [43.164390] am65-cpsw-nuss c000000.ethernet eth1:TxQ:0 DRV_XOFF:0 TMO:31164 dql_avail:–90 free_desc:515
    [ 48.028383] am65-cpsw-nuss c000000.Ethernet eth1:TxQ:0 DRV_XOFF:0 TMO:36028 dql_avail:–90 free_desc:515
    [53.148380] am65-cpsw-nuss c000000.ethernet eth1:TxQ:0 DRV_XOFF:0 TMO:41148 dql_avail:–90 free_desc:515
    [58.012381] am65-cpsw-nuss c000000.Ethernet eth1:TxQ:0 DRV_XOFF:0 TMO:46012 dql_avail:–90 free_desc:515
    [63.132381] am65-cpsw-nuss c000000.ethernet eth1:TxQ:0 DRV_XOFF:0 TMO:51132 dql_avail:–90 free_desc:515
    [67.996381] am65-cpsw-Nuss c000000.Ethernet eth1:TxQ:0 DRV_XOFF:0 TMO:55996 dql_avail:–90 free_desc:515
    [73.116380] am65-cpsw-nuss c000000.ethernet eth1:TxQ:0 DRV_XOFF:0 TMO:61116 dql_avail:–90 free_desc:515
    [78.236384] am65-cpsw-nuss c000000.ethernet eth1:TxQ:0 DRV_XOFF:0 TMO:66236 dql_avail:–90 free_desc:515
    [ 84.124378] am65-cpsw-nuss c000000.ethernet eth1:TxQ:0 DRV_XOFF:0 TMO:72124 dql_avail:–90 free_desc:515
    [85.832496] am65-cpsw-Nuss c000000.ethernet eth1:链路断开
    [ 86.844388] am65-cpsw-Nuss c000000.ethernet:TX 超时
    [ 111.528541] am65-cpsw-nuss c000000.Ethernet eth1:PHY [C000f00.MDIO:00]驱动程序[ADIN1300](IRQ=POLL)
    [ 111.537680] am65-cpsw-Nuss c000000.ethernet eth1:配置 phy/SGMII 链路模式
    [114.622069] am65-cpsw-nuss c000000.ethernet eth1:链路接通 — 1Gbps/full — 流控制关闭
    [119.964381] am65-cpsw-nuss c000000.Ethernet eth1:TxQ:0 DRV_XOFF:0 TMO:5308 dql_avail:–90 free_desc:514
    [125.084377] am65-cpsw-nuss c000000.ethernet eth1:TxQ:0 DRV_XOFF:0 TMO:10428 dql_avail:–90 free_desc:514

     

    您能解释为什么会发生这种情况吗?

     

    此致、
    N. Dharanija.

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

    您好、

    下面的主题也进行了类似的讨论。 有关更多详细信息、请参阅它。  
    关于:PROCESSOR-SDK-J784S4:有关在 CPSW9G 上与 SGMII 配合使用的 PHY 的说明

    上述链路来自映射到 CPSW 节点的 ADN PHY。
    但是、您可以检查 SGMII 的链路状态吗? 否则、可能不会发送数据包、从而导致 Linux 超时。

    此致、
    Sudheer