RTL8211F-CG硬件调试日志

  • Post author:
  • Post category:其他


流程:

1、首先保证PHY的25MHz外部晶振正常工作;

2、PHY产生125MHz时钟信号(CLKOUT)—>MAC;


CLKOUT

:O ,125/25MHz Reference Clock Generated from Internal PLL.

This pin should be kept floating if this clock is not used by MAC.

3、MAC通过MDC、MDIO进行配置PHY;

如果没有MDC和MIDIO信号,或者不稳定,就要考虑PHY–>MAC (CLKOUT引脚)的125M时钟信号是否匹配,注意测量时钟的幅值和频率,通常需要串一个电阻例如22欧,进行匹配。

有些情况是RTL8211给MAC的125MHz参考钟过冲太大,将CPU对应的时钟输入管脚击穿了(可以测一下该管脚的对地阻抗是否正常,来判断是否是此原因)。


对于MAC端来说,驱动配置时,


  • phy-mode

    : 根据板上所使用的 PHY 的接口进行配置,一般千兆 PHY 为 RGMII, 百兆 PHY 为 RMII。

  • clock_in_out

    : input 表示由 PHY 提供,output 表示由 GMAC 提供。

  • clock-frequency

    :只有在时钟方向为input时才会使用到,RMII接口时,设为 50M,RGMII接口时设为125M。125M由外部 PHY (

    CLKOUT

    )提供,这是因为 RK 主控分出的 clock 不精准,会造成 GMAC 丢包或无法工作。由外部输入的时钟相对于内部 PLL 产生的时钟更加独立,不受内部分频策略的影响,因此更加稳定。而对于 PHY 来说,本身就需要一个 25M 的晶振作为时钟源。

  • tx_delay/rx_delay

    : RGMII 接口才需要去配置时序,因为时钟频率更高后更容易受到 PCBlayout走线,电磁干扰等影响,需要更加精确调整。如果有出现测试吞吐率不足的情况,可以适当调整这两个值,范围是 0x0—0x7F。
  • 从kernel 4.4 版本开始,各驱动尽可能使用官方 Linux kernel 的代码,官方kernel 中已包含了支持 RK 所使用的 GMAC 的代码框架(很多RK的驱动已经上传到官方kernel,也包括GMAC)。所以往后芯片的 GMAC 驱动会套用此框架。
  • 代码位置在 drivers/net/ethernet/stmicro/stmmac/。

    RK 平台相关代码主要位于dwmac-rk.c中。



RGMII

: Reduced Gigabit Media Independent Interface


RGMII相比于GMII减小将近一半的管脚数(


24





12


),通过以下两种方式:



  • 1000Mbps


    模式下,在时钟的




    /


    下边沿

    均采样数据
  • 取消不重要的如


    CRS


    ,


    COL


    等信号

在RGMII接口中


MAC





TXC


上一直提供时钟信号,而不像在GMII接口中那样,


10/100Mbps


模式下时钟是由


PHY


提供(


TXCLK


),而


1000Mbps


模式下时钟是由


MAC


提供(


GTXCLK


)。在RGMII中应用到源同步时钟,即数据与时钟信号是同步的。这要求在PCB设计中,要对时钟信号额外增加


1.5~2 ns


的延迟以保证接收端的建立/保持时间满足要求。在


RGMII v2.0


规范中有定义MAC/PHY内部延迟(


RGMII-ID


),由此避免PCB设计中再要增加这个延迟。

在RGMII接口中:



  • 1000Mbps


    模式,数据在时钟的




    /


    下边沿

    均采样


  • 10/100Mbps


    模式,数据仅在时钟

    上升沿

    采样



RXCTL





TXCLT


为复用的传输控制信号。


RXCTL


在时钟的上升沿代表


RXDV


,在时钟的下降沿代表(


RXDV


xor


RXER


);


TXCTL


在时钟的上升沿代表


TXEN


,在时钟的下降沿代表(


TXEN


xor


TXER


)。



RGMII v1.3


采用


2.5V CMOS


电平,


RGMII v2




采用


1.5V HSTL




电平。

根据板上所使用的 PHY 的接口进行配置,一般千兆 PHY 为 RGMII, 百兆 PHY 为 RMII。



版权声明:本文为zsp_1原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。