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.

[参考译文] TDA4VH-Q1:CPSW-9G 的 SGMII 配置

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1392179/tda4vh-q1-sgmii-configuration-of-cpsw-9g

器件型号:

工具与软件:

您好!

 SDK 版本:09.02.0.05

  参考链接:  

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1385154/am69-sgmii-not-working-with-dp83867is/5316274#5316274

 我们将 serdes2 lane2配置为 SGMII 7。

我的设备树配置:

 

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// SPDX-License-Identifier: GPL-2.0
/**
* DT Overlay for CPSW9G in QSGMII mode using J7 Quad Port ETH EXP Add-On Ethernet Card with
* J7AHP board. The Add-On Ethernet Card has to be connected to ENET Expansion 1 slot on the
* board.
*
* Product Datasheet: www.ti.com/.../spruj74.pdf
* Product Link: www.ti.com/.../J721EXENETXPANEVM
*
* Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/
*/
/dts-v1/;
/plugin/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/mux/ti-serdes.h>
#include <dt-bindings/phy/phy-cadence.h>
#include <dt-bindings/phy/phy.h>
#include "k3-pinctrl.h"
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

&main_cpsw0_port7{
状态="正常";
phy-handle =<&cpsw9g_phy0>;
PHY 模式="SGMII";
MAC-ADDRESS =[00 00 00 00];
phys =<&cpsw0_phy_gmii_sel 7>、<&serdes2_qsgmii_link>;
PHY-NAMEs ="MAC"、"SerDes";
};

节点的 PHY 模式会导致以下错误。

日志显示:

[2.687623] am65-cpsw-nuss c000000.ethernet: initializing am65 cpsw nuss version 0x6BA03102, cpsw version 0x6BA82902 Ports: 9 quirks: 000000000000
[ 2.700322] phy-gmii-sel 104044.phy:phy_gmii_sel_of_xlate id:7 ext:139780624
[ 2.701486] phy-gmii-sel 104044.phy:端口7:不支持的模式:"SGMII"

我检查了驱动程序 phy-gmii-sel.c

静态常量
结构 phy_gmii_sel_soc_data phy_gmii_sel_cpsw9g_soc_j784s4 ={
  .use_of_data = true、
  .regfields = phy_gmii_sel_fields_am654、
  .extra_modes = bit (PHY_INTERFACT_MODE_QSGMII)|
   位(PHY_INTERFACE_MODE_USXGMII)、
   .NUM_PORTS = 8、
   .num_qsgmii_main_ports = 2、
};

似乎只有 j784s‘s EXTRA_MODES 不支持 SGMII。 在选择模式后、程序会退出。

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
case PHY_INTERFACE_MODE_QSGMII:
if (!(soc_data->extra_modes & BIT(PHY_INTERFACE_MODE_QSGMII)))
goto unsupported;
if (if_phy->priv->qsgmii_main_ports & BIT(if_phy->id - 1))
gmii_sel_mode = J72XX_GMII_SEL_MODE_QSGMII;
else
gmii_sel_mode = J72XX_GMII_SEL_MODE_QSGMII_SUB;
break;
case PHY_INTERFACE_MODE_SGMII:
if (!(soc_data->extra_modes & BIT(PHY_INTERFACE_MODE_SGMII)))
goto unsupported;
else
gmii_sel_mode = J72XX_GMII_SEL_MODE_SGMII;
break;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 电流驱动器不支持 SGMII?

谢谢

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

    我有 alleady 添加这些补丁, eth1可以创建,但我们不能 ping . 请检查我的设备树、谢谢!

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

    您好!

    请共享设备树、引导日志和以下内容的输出:
    devmem2 0x0502e000

    此致、
    Siddharth。

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

    您好!

    "serdes2"中的"resets"属性应为"<&SerDes_fiz2 4>"。 请检查此更改。

    完成此更改后、您还可以共享"ethtool eth1"的输出

    此致、
    Tanmay

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

    您好,我们使用 SERDES2 lane2 ,这是什么意思 ? 我们将在稍后进行测试并反馈、谢谢。

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

    您好!

    但在器件树中、您提到了 SerDes 的"reg"属性为<3>。 这意味着您使用的是 SerDes 2通道3。

    基本上、reg 属性是协议的起始通道号、CDN、num-Lanes 是正在使用的通道数。 因此、如果您要在 SerDes 2通道2中仅使用一个通道、则 reg 属性应为<2>、而 CDN、num-Lanes 应为<1>。

    reset 属性是各个通道的 RESET 信号。 您应该会对该子节点中使用的所有通道进行重置。 要使用的复位索引为<[0-indexed lane number + 1]>。 因此、对于 SerDes 2通道2、重置将为 <& SerDes_wiz2 3>、对于 SerDes 2通道3、重置将为 <& SerDes_wiz2 4>。

    有关 串行器/解串器的更多详细信息、请参阅此页。

    此致、
    Tanmay

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

    感谢您的帮助、

    我们需要对评估的8个 TH 端口使用 SERDES1、SERDES2、SERDES4。

    我们是否应该修改 k3-j784s4-main.dtsi?  我们怎么能做到这一点?     k3-j784s4-main.dtsi 中只有 SERDES0 SERDES1 SERDES2; 我们是否应修改其他文件?

    serdes_ln_ctrl:mux-controller@4080{

    ...

    mux-reg-masks =<0x4080 0x3>、<0x4084 0x3>、/* SERDES0 lane0/1 SELECT */

                   …

                   <0x40a8 0x3>、<0x40ac 0x3>;/* SERDES2 lane2/3 SELECT */

    }

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

    大家好、Sid、Tanmay、

    此应用需要扩展8个 SGMII 以太网端口、因此需要将 SerDes 4配置为 SGMII。 请提供 DTS 配置示例、在制作 PCB 之前需要验证特性、硬件正在等待测试结论。

    @Chen Chen

    同时、请参阅以下帖子:

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1256003/tda4vh-q1-usb3-0-connected-serdes4-lane3-cannot-init

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

    您好!

    [报价 userid="35100" URL"~/support/processors-group/processors/f/processors-forum/1392179/tda4vh-q1-sgmii-configuration-of-cpsw-9g/5349754 #5349754"]由于此应用需要扩展8个 SGMII 以太网端口、因此需要将 SerDes 4配置为 SGMII。 请提供示例 DTS 配置[/报价]

    无法在 EVM 上进行测试、因为 serdes4的连接不可用于以太网。 因此、我可为您提供参考器件树文件、但您无法在 EVM 上对其进行测试。

    如果您想查看参考器件树文件、请告诉我。

    此致、
    Tanmay

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

    您好、Tanmay、

    如果您想查看参考设备树文件、请告诉我。

    是的、如有必要、我们可以在客户的修改版 EVM 电路板上一起进行调试。  

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

    您好、Chen

      此问题现在是否已解决?

     此致

      Semon