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.
您好、TI 团队、
我们希望通过外部器件为 MCU CPSW2g 端口设置固定链路1000Mbps。 在这里、我们发现可以针对 RGMII 端口正确设置外部器件。 但我们发现、 在此模式下、通过使用 Linux 器件树配置、MCU CPSW2g 端口 TX 时钟仍然输出25 MHz 频率。 我们想知道是否有一些方法可以更改 MCU CPSW2g 端口状态、以便通过外部器件的 RGMII 设置建立?
由于这不适用于连接的两个端口的自动协商功能、因此我们仅使用1000M 的 RGMII 固定链路、因此任何一方是否应该仅驱动时钟来传输数据? 或者、我们应该为外部器件设置 Phy 模式、以使其正常工作?
欢迎提出任何建议。
谢谢。
勇
设备树配置如下所列
mcu_cpsw: ethernet@46000000 { compatible = "ti,j721e-cpsw-nuss"; #address-cells = <2>; #size-cells = <2>; reg = <0x0 0x46000000 0x0 0x200000>; reg-names = "cpsw_nuss"; ranges = <0x0 0x0 0x0 0x46000000 0x0 0x200000>; dma-coherent; clocks = <&k3_clks 63 0>; clock-names = "fck"; power-domains = <&k3_pds 63 TI_SCI_PD_EXCLUSIVE>; dmas = <&mcu_udmap 0xf000>, <&mcu_udmap 0xf001>, <&mcu_udmap 0xf002>, <&mcu_udmap 0xf003>, <&mcu_udmap 0xf004>, <&mcu_udmap 0xf005>, <&mcu_udmap 0xf006>, <&mcu_udmap 0xf007>, <&mcu_udmap 0x7000>; dma-names = "tx0", "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7", "rx"; ethernet-ports { #address-cells = <1>; #size-cells = <0>; mcu_cpsw_port1: port@1 { reg = <1>; ti,mac-only; label = "port1"; ti,syscon-efuse = <&mcu_conf 0x200>; phys = <&phy_gmii_sel 1>; }; }; davinci_mdio: mdio@f00 { compatible = "ti,cpsw-mdio","ti,davinci_mdio"; reg = <0x0 0xf00 0x0 0x100>; #address-cells = <1>; #size-cells = <0>; clocks = <&k3_clks 63 0>; clock-names = "fck"; bus_freq = <1000000>; }; cpts@3d000 { compatible = "ti,am65-cpts"; reg = <0x0 0x3d000 0x0 0x400>; clocks = <&k3_clks 63 3>; clock-names = "cpts"; interrupts-extended = <&gic500 GIC_SPI 858 IRQ_TYPE_LEVEL_HIGH>; interrupt-names = "cpts"; ti,cpts-ext-ts-inputs = <4>; ti,cpts-periodic-outputs = <2>; }; }; k3-j784s4-evm.dts &mcu_cpsw { pinctrl-names = "default"; pinctrl-0 = <&mcu_cpsw_pins_default &mcu_mdio_pins_default>; }; //&davinci_mdio { // mcu_phy0: ethernet-phy@0 { // reg = <0>; // //ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>; // //ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>; // //ti,min-output-impedance; // }; //}; &mcu_cpsw_port1 { phy-mode = "rgmii-rxid"; // phy-handle = <&mcu_phy0>; fixed-link { speed = <1000>; full-duplex; }; };
您好!
您能否回答以下问题:
使用的器件树配置正确。
此致、
坦迈
您好!
另一端是交换机,它有 MAC 和 phy,
但是 MCU cpsw2g 连接到哪个接口? 是 MAC 还是 PHY?
您能否说明以下其他事项:
此致、
坦迈
Phil、您好!
我们已在交换机中设置了延迟。
您只需在开关中设置 CPSW Rx 延迟。 Tx 延迟默认由 CPSW 提供。 如果需要从 CPSW 禁用 Tx 延迟、我可以帮您解决这个问题。
您是否可以执行此处描述的 MAC 回送测试: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1203408/faq-tda4vm-how-to-do-a-mac-loopback-test-with-cpsw-in-tda4-dra8-devices?tisearch=e2e-sitesearch&keymatch=faq%3Atrue
您是否还可以检查在经过长时间(几分钟应该没问题) ping 测试后在"ethtool -S eth0"的输出中是否看到任何丢弃帧?
此致、
坦迈
您好、Tanmay、
我们找到了我们无法发送数据包的原因、感谢您的回复。
我们现在可以使用开关器件的 PHY 模式来使用正确的时钟。
请关闭 TT。
谢谢。
勇
感谢 Yong 的确认。 关闭此标签。
此致、
坦迈