Skip to content

RK3568 · DesignWare GMAC

DW GMAC / RK3568

RK3568

Rockchip · ARM Cortex-A55 四核 · 2GHz

···Armory 获取
1G×2网口速率
RGMIIPHY 接口
TSO硬件卸载
PTP硬件时间戳

板卡配置

不同板卡的差异主要在时钟方向、TX/RX delay 值和 PHY 复位 GPIO,其余初始化参数一致:

Rockchip EVB1Rockchip 官方评估板
稳定
PHY 接口rgmii
时钟方向output(SoC 驱动)
GMAC0 delaytx=0x3c / rx=0x2f
GMAC1 delaytx=0x4f / rx=0x26
PHY 复位gpio2 PD3 / gpio2 PD1
特殊说明
  • clock_in_out = output,时钟由 SoC 内部 PLL(CLK_MAC_2TOP)驱动,125 MHz
  • PHY 复位时序:延迟 0 / 20ms / 100ms
网卡设备树配置
&gmac0 {
    phy-mode = "rgmii";
    clock_in_out = "output";
    tx_delay = <0x3c>;
    rx_delay = <0x2f>;
    snps,reset-gpio = <&gpio2 RK_PD3 GPIO_ACTIVE_LOW>;
    snps,reset-delays-us = <0 20000 100000>;
    assigned-clock-parents = <...SCLK_GMAC0_RGMII_SPEED>, <...CLK_MAC0_2TOP>;
    assigned-clock-rates = <0>, <125000000>;
};
&gmac1 {
    phy-mode = "rgmii";
    clock_in_out = "output";
    tx_delay = <0x4f>;
    rx_delay = <0x26>;
    snps,reset-gpio = <&gpio2 RK_PD1 GPIO_ACTIVE_LOW>;
    snps,reset-delays-us = <0 20000 100000>;
    assigned-clock-parents = <...SCLK_GMAC1_RGMII_SPEED>, <...CLK_MAC1_2TOP>;
    assigned-clock-rates = <0>, <125000000>;
};

SoC 级说明

网口映射

网口控制器基地址IRQ
eth0 (GMAC0)0xFE2A000027
eth1 (GMAC1)0xFE01000032

时钟配置

RK3568 GMAC 支持两种时钟模式:

  • output 模式clock_in_out = "output"):时钟由 SoC 内部 PLL(CLK_MAC_2TOP)产生并驱动至 PHY,典型值 125 MHz;
  • input 模式clock_in_out = "input"):时钟由外部 PHY 或晶振提供,SoC 从 gmac_clkin 接收。部分板卡还通过 CLK_MAC_OUT(25 MHz)向 PHY 提供参考时钟。

RGMII 延迟校准

RK3568 通过 GRF 寄存器控制 TX/RX 内部延迟,不同板卡因 PCB 走线不同而使用不同的 delay 值。错误的 delay 配置会导致链路不稳定或无法建立,调试时可逐步调整。

已知问题

已知PHY 自协商在 100M 半双工模式下偶发超时,建议业务侧固定速率为 1000M 全双工

← 返回 DW GMAC 更新日志

翼辉信息 · 网络技术部