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:询问带有 SGMII 的 CPSW9G 本机 Linux 驱动程序

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1530490/tda4vh-q1-ask-the-cpsw9g-native-linux-driver-with-sgmii

器件型号:TDA4VH-Q1
Thread 中讨论的其他器件:TDA4VH

工具/软件:

尊敬的 TI 专家:

我们使用 tda4vh 定制板、并将内部开关 cpsw9g 与 Marvell PHY 88xx 结合使用、
=>我们的 PHY 和 eth0 链路建立自定义设备树、但我们无法在 LAN 连接中 ping 通

&serdes_ln_ctrl {
	idle-states = <J784S4_SERDES1_LANE2_QSGMII_LANE1>, <J784S4_SERDES2_LANE3_QSGMII_LANE2>,
		<J784S4_SERDES2_LANE0_QSGMII_LANE5>, <J784S4_SERDES2_LANE1_QSGMII_LANE6>,
		<J784S4_SERDES2_LANE2_QSGMII_LANE7>, <J784S4_SERDES2_LANE3_QSGMII_LANE8>;
};

&serdes_wiz2 {
	status = "okay";
};

&serdes2 {
	status = "okay";
	#address-cells = <1>;
	#size-cells = <0>;

	serdes2_qsgmii_link: phy@0 {
		reg = <2>;
		cdns,num-lanes = <1>;
		#phy-cells = <0>;
		cdns,phy-type = <PHY_TYPE_QSGMII>;
		resets = <&serdes_wiz2 3>;
	};
};

&main_gpio0 {
	status = "okay";
};

&main_cpsw0 {
	status = "okay";
};

&main_cpsw0_port5 {
	status = "okay";
	phy-handle = <&cpsw9g_phy2>;
	phy-mode = "sgmii";
	mac-address = [c2 b7 ed f2 87 ab];
	phys = <&cpsw0_phy_gmii_sel 5>, <&serdes2_qsgmii_link>;
	phy-names = "mac", "serdes";
	reset-post-delay-us = <120000>;
};

&main_cpsw0_mdio {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&mdio0_pins_default>;
	bus_freq = <1000000>;
	reset-gpios = <&main_gpio0 17 GPIO_ACTIVE_LOW>;
	#address-cells = <1>;
	#size-cells = <0>;

	cpsw9g_phy2: ethernet-phy@6 {
		reg = <6>;
	};
};

&serdes_refclk {
	clock-frequency = <100000000>;
};

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

    您好、

    [quote userid=“623649" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1530490/tda4vh-q1-ask-the-cpsw9g-native-linux-driver-with-sgmii 通过我们的 PHY 和 eth0 链路建立自定义设备树、但我们无法在 LAN 连接中 ping 通

    可以根据 PHY Link 统计信息建立链路。

    您能否通过读取 SGMII5 控制寄存器来检查 PLL 锁定状态?

    您需要在“SERDES_ln_ctrl"下“下定义所有串行器/解串器通道

    此外、 为了提高可读性和可用性、请使用以下 phy@2。
    serdes2_qsgmii_link:PHY@ 0


    此致、
    Sudheer

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

    你好 Sudheer,

    感谢您的快速支持。
    “您能否通过读取 SGMII5 控制寄存器来检查 PLL 锁定状态?“
    您能给出一些命令或指南来阅读它吗?

    此致、
    武荣惠恩

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

    您好、

    "您“您能通过读取 SGMII5 控制寄存器检查 PLL 锁定状态吗?“
    您能否给出一些命令或指南来阅读它。

    您可以使用 devmem2 工具来读取寄存器。
    另外、请参阅 TRM 以了解在 Excel 文件中共享的寄存器详细信息。  

    MAC 端口 5 SGMII 状态寄存器。
    #devmem2 0x0C000514

    此致、
    Sudheer

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

    你好 Sudheer,  

    按照您的评论、我们检查的 是 MAC 端口 5 SGMII 状态寄存器。
    锁定状态为 1、链路指示器为 0。 但我们不知道状态是否良好。




    我们已经 在“SERDES_ln_ctrl"选项“选项下定义所有

    &SERDES_ln_ctrl{
      空闲状态= 、 、
           、 、
           、 、
           、 、
           、 、
           、 ;      
    };


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

    {&S serdes2}
      状态=“正常“;
      #address-cells =<1>;
      #size-cells =<0>;

      serdes2_sgmii_link:PHY@2{
        reg =<0>;
        CDN、num-lanes =<1>;
        #phy-cells =<0>;
        CDN、phy-type = ;
        RESET =<&SERDES_wiz2 1>;
      };
    };

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

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

    &main_cpsw0_port5{
      状态=“正常“;
      phy-handle =<&cpsw9g_phy2>;
      PHY-MODE =“SGMII";“;
      MAC-ADDRESS =[C2 B7 ed f2 87 AB];
      Phys =<&cpsw0_phy_gmii_sel 5>、<&serdes2_sgmii_link>;
      PHY-NAMES =“MAC",“,"SerDes、"SerDes "“ ";“;
    };

    &main_cpsw0_mdio{
      状态=“正常“;
      pinctrl-names =“default";“;
      pinctrl-0 =<&mdio0_pins_default>;
      bus_freq =< 1000000>;
      RESET_GPIOs =<&MAIN_GPIO0 17 GPIO_ACTIVE_LOW>;
      reset-post-delay-us =<120000>;
      #address-cells =<1>;
      #size-cells =<0>;

      cpsw9g_phy2:Ethernet-phy@6{
        reg =<6>;
      };
    };

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

    您能帮助再次检查我们的器件树吗?

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

    你好 Sudheer,  

    我们已经有 SGMII 网络运行良好。
    但链路速度不稳定某个时间是 10Mb 某个 1Gb。
    您是否有这方面的一些奖励或调整值?  

    此致、
    武荣惠恩

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

    您好、

    您能否确认、您是否禁用了在 MCU2_0 内核上运行的 ETHFW?

    但链接速度不稳定某个时候它是 10Mb 某个 1Gb。

    每当链路断开时、它可能会显示默认速度为 10Mbps。
    此外、您能否检查是否 在对等端观察到任何链路断开?

    此致、
    Sudheer

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

    你好 Sudheer,

    我检查后、链路既连接到侧面板、又连接到我的 PC(连接到板)

    “您能否确认、您是否禁用了在 MCU2_0 内核上运行的 ETHFW?“
    您能给我命令或什么东西来检查它吗?

    此致、

    武荣惠恩

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

    您好、

    "您“您能否确认、您是否禁用了在 MCU2_0 内核上运行的 ETHFW?“
    您能给我命令或一些东西来检查它吗?

    您可以检查哪个二进制文件加载到 MCU2_0 内核中?

     如果您使用 SPL 引导流程、以下命令将指明软链接到 MCU2_0 内核的固件。
    # ls -l /lib/firmware

    如果将 SBL 引导流程与多核应用一起使用、请检查将哪个二进制文件映射到 MCU2_0 内核。

    此致、
    Sudheer

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

    您好、
    我是否需要取消 MCU2_0 链接或执行某些操作?

    此致、
    VH

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

    您好、

    是否需要取消 MCU2_0 链接或执行某些操作?

    如果您对视觉应用不感兴趣、可以将 ipc_echo 测试而不是 vx_app_RTOS 软链接到 main.c r5f_0_0。
     
    # cd /lib/firmware
    # ln -s -f /lib/firmware/ti-ipc/j784s4/ipc_echo_test_mcu2_0_release_strip.xer5f j784s4-main-R5f0_0-fw

    此外、从 SD 卡引导分区中的 uEnv.txt 文件中删除视觉应用叠加层。

    如果您要运行视觉应用、则可以在没有 ETHFW 的情况下重建视觉应用并使用它。
    https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-j784s4/latest/exports/docs/vision_apps/docs/user_guide/ETHFW_DEMOS.html#ETHFW_HOWTO_DISABLE


    此致、
    Sudheer