瑞芯微RGMII的配置

主要配置项

 

     除去复位等信号,我们主要关注两大块的配置:

    时钟配置

     MAC 采用125M时钟,PHY采用25M时钟。

       主要配置时钟源,这个和具体硬件连线强相关。例如125M时钟可以来源于soc内部的PLL,也可以由对端PHY 提供。

      由对端PHY 提供时,由于MAC 和PHY是两个器件,对于125M这个时钟的走线要注意,毕竟是高速时钟。

      而网上一些资料显示rk家内部的125M时钟在某些型号上存在问题,在做实际上要和厂家确认。 

   delay的配置

    分为tx_delay 和rx_delay,可以由phy和mac侧进行配置。

    例如我们上图中 phy侧硬件启用了rx_delay,则rx由PHY侧进行 配置;而tx由MAC进行配置。

    RK家提供了测试工具,可以尽快测试出合适的delay值。

    delay值的影响:比如默认delay值为0x44,在通过hub和PC互联时没有问题,而和pc直接连接时,协商就有问题,有时不能协商,有时为100M

     所以已经要用测试工具找到合适的delay值

配置实战

    

&mdio0 {
	rgmii_phy0: phy@1 {
		compatible = "ethernet-phy-ieee802.3-c22";
		motorcomm,clk-out-frequency-hz = <125000000>;
		reg = <0x1>;		
	};
};

&gmac0 {
	// Use rgmii-rxid mode to disable rx delay inside Soc
	phy-mode = "rgmii-rxid";
	clock_in_out = "input";

	snps,reset-gpio = <&gpio4 RK_PA2 GPIO_ACTIVE_LOW>;
	snps,reset-active-low;
	// Reset time is 20ms, 100ms for rtl8211f 
	snps,reset-delays-us = <0 20000 100000>;

	pinctrl-names = "default";
	pinctrl-0 = <&gmac0_miim
		     &gmac0_tx_bus2
		     &gmac0_rx_bus2
		     &gmac0_rgmii_clk
		     &gmac0_rgmii_bus
			&gmac0_clkinout>;

	tx_delay = <0x35>;
	// rx_delay = <0x4f>;

	phy-handle = <&rgmii_phy0>;
	status = "okay";
};

针对上述配置的解释:

1.  这里有两个部分,一部分为mac,一部分为phy,两者通过phy-handle进行了关联

2.  在gmac里面,启用了管脚 gmac0_clkinout,即125M时钟由PHY通过此管脚提供给GMAC

3.  在phy侧,启用clk-out-frequency-hz   125M时钟的配置,以便PHY驱动进行时钟的输出使能配置。这个具体的配置项字段要看具体phy的驱动。

UDP丢包测试

测试丢包

测试命令

iperf -s -u

iperf -c 192.168.10.10 -u -i 1 -b 1000M -t 60

结果丢包7.x%

buffer修改

而修改接收buffer

echo  6291456 >/proc/sys/net/core/rmem_default 

则丢包问题解决。

修改/etc/sysctl.conf

net.core.rmem_max=6291456    6M

net.core.rmem_default=6291456

linux 与windows差异

在linux下,iperf -s -u 默认的窗口大小只有204K,通过命令

iperf -s -u -w 4M也不能增大此窗口,只能通过上述命令修改。

而在windows下,则可以通过iperf -s -u -w 4M 对接收buffer进行临时修改测试。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

proware

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值