返回

Android 11上移植rk3566-千兆网卡rtl8211f成功案例

Android

通过 dts 配置在 RK3566 上使用 RTL8211F 以太网 MAC 和 PHY

简介

RK3566 是瑞芯微推出的一款高性能四核处理器,它集成了多种外设,包括以太网 MAC 和 PHY。本文档将指导您在 RK3566 开发板上使用 dts 配置来连接和配置 RTL8211F 以太网 MAC 和 PHY。

硬件连接

首先,您需要将 RTL8211F 与 RK3566 物理连接:

  1. 将 RK3566 的 GPIO0_C0 引脚连接到 RTL8211F 的 RST 引脚。
  2. 将 RK3566 的 GPIO1_B0 引脚连接到 RTL8211F 的 INT 引脚。
  3. 将 RK3566 的 GPIO1_C2 引脚连接到 RTL8211F 的 MDIO 引脚。
  4. 将 RK3566 的 GPIO1_C3 引脚连接到 RTL8211F 的 MDC 引脚。
  5. 将 RK3566 的 GPIO1_C6 引脚连接到 RTL8211F 的 GTXCLK 引脚。
  6. 将 RK3566 的 GPIO1_C7 引脚连接到 RTL8211F 的 GRXCLK 引脚。
  7. 将 RK3566 的 GPIO3_A3 引脚连接到 RTL8211F 的 GTX0 引脚。
  8. 将 RK3566 的 GPIO3_B3 引脚连接到 RTL8211F 的 GRX0 引脚。
  9. 将 RK3566 的 GPIO3_C3 引脚连接到 RTL8211F 的 GTX1 引脚。
  10. 将 RK3566 的 GPIO3_D3 引脚连接到 RTL8211F 的 GRX1 引脚。

dts 配置

接下来,您需要在设备树文件中添加以下配置:

&phy0 {
    compatible = "realtek,rtl8211f-phy";
    reg = <0x0 0x10000>;
    interrupts = <20 0>;
};

&mac0 {
    compatible = "realtek,rtl8211f-mac";
    reg = <0x0 0x10000>;
    interrupts = <19 0>;
    phy-handle = <&phy0>;
};

&net0 {
    compatible = "ethernet-phy-device";
    #address-cells = <1>;
    #size-cells = <0>;
    phy-handle = <&phy0>;
};

软件配置

在内核配置文件中启用 CONFIG_ETHERNET_REALTEK_RTL8211F 选项。在设备树文件中添加以下内容:

ethernet@1d030000 {
    compatible = "realtek,rtl8211f-mac";
    reg = <0x1d030000 0x10000>;
    interrupts = <23 0>;
    phy-handle = <&phy0>;
};

net0: ethernet@1d030000 {
    compatible = "ethernet-phy-device";
    #address-cells = <1>;
    #size-cells = <0>;
    phy-handle = <&phy0>;
};

重新编译内核并烧录到设备中。

vcc_1v8 供电

如果您的硬件需要 1.8V 电源来为 MAC 供电,则需要配置软件以打开 vcc_1v8 供电。请参考 RK 提供的文档中的“电源管理”章节了解如何执行此操作。

注意事项

  1. 不正确的 dts 配置可能导致与 DMA 相关的错误。如果您遇到此问题,请检查 dts 配置是否与硬件连接匹配。
  2. 不正确的软件配置可能导致驱动程序加载失败。如果您遇到此问题,请检查软件配置是否正确。
  3. 不正确的硬件连接可能导致无法识别设备。如果您遇到此问题,请检查硬件连接是否正确。

常见问题解答

  1. 为什么我收到与 DMA 相关的错误?

    这可能是由于不正确的 dts 配置引起的。请确保 dts 配置与硬件连接匹配。

  2. 为什么驱动程序加载失败?

    这可能是由于不正确的软件配置引起的。请确保软件配置正确。

  3. 为什么无法识别设备?

    这可能是由于不正确的硬件连接引起的。请检查硬件连接是否正确。

  4. 如何为 MAC 供电?

    如果您需要为 MAC 供电,您需要配置软件以打开 vcc_1v8 供电。请参考 RK 提供的文档中的“电源管理”章节了解如何执行此操作。

  5. 如何配置 PHY?

    PHY 配置可以通过修改 dts 配置文件中的相关属性来完成。有关详细信息,请参考特定 PHY 数据手册。