20260129让天启AIO-3576Q38开发板在Rockchip瑞芯微原厂Buildroot下打开gmac1芯片YT853H-CA实测网速937Mbits/sec
2026/1/29 9:18


缘起:让天启AIO-3576Q38开发板在Rockchip瑞芯微原厂Buildroot下打开gmac0芯片YT8531H-CA。
我看原理图是YT8531H-CA/RTL8211F-CG硬件兼容设计的。
应该可以直接替换使用的!


当你把荣品RD-RK3588开发板重新适配一把,就相当于从头做了一个项目:【荣品RD-RK3588开发板】。
当然,开发板的功能都是好的,你免除了调试的过程,也就没有解决相关硬件出错的经验/机会了!


1、
很容易知道,天启AIO-3576Q38开发板的Buildroot的SDK中的
Z:\git_RK3576_Linux6.1\kernel-6.1\arch\arm64\boot\dts\rockchip13使用firefly\rk3576-firefly-common.dtsi
对应于
Z:\git_RK3576_Linux6.1\kernel-6.1\arch\arm64\boot\dts\rockchip\rk3576-evb1.dtsi

【几乎完全一致】
#if GMAC1
&gmac1 {
    /* Use rgmii-rxid mode to disable rx delay inside Soc */
    phy-mode = "rgmii-rxid";
    clock_in_out = "output";

    snps,reset-gpio = <&gpio3 RK_PA3 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 = <&eth1m0_miim
             &eth1m0_tx_bus2
             &eth1m0_rx_bus2
             &eth1m0_rgmii_clk
             &eth1m0_rgmii_bus
             &ethm0_clk1_25m_out>;

    tx_delay = <0x20>;
    /* rx_delay = <0x3f>; */

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

&mdio1 {
    status = "okay";
    rgmii_phy1: phy@1 {
        compatible = "ethernet-phy-ieee802.3-c22";
        reg = <0x1>;
        clocks = <&cru REFCLKO25M_GMAC1_OUT>;
    };
};
#endif


2、
【差异在这里,reset复位引脚使用GPIO0D1】
Z:\git_RK3576_Linux6.1\kernel-6.1\arch\arm64\boot\dts\rockchip13使用firefly\rk3576-firefly-aio-3576q38.dtsi
#if GMAC1
&gmac1 {
    snps,reset-gpio = <&gpio0 RK_PD1 GPIO_ACTIVE_LOW>;
    tx_delay = <0x1b>;
    pinctrl-names = "default";
    pinctrl-0 = <&eth1m0_miim
            &eth1m0_tx_bus2
                    &eth1m0_rx_bus2
                    &eth1m0_rgmii_clk
                    &eth1m0_rgmii_bus>;
};
#endif


3、唯一改动:reset复位引脚由GPIO3A3修改为GPIO0D1。有资料说RTL8211F-CG的复位GPIO引脚必须为+3.3V!^_
Z:\git_RK3576_Linux6.1\kernel-6.1\arch\arm64\boot\dts\rockchip\rk3576-evb1.dtsi

&gmac1 {
    /* Use rgmii-rxid mode to disable rx delay inside Soc */
    phy-mode = "rgmii-rxid";
    clock_in_out = "output";

    snps,reset-gpio = <&gpio3 RK_PA3 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 = <&eth1m0_miim
             &eth1m0_tx_bus2
             &eth1m0_rx_bus2
             &eth1m0_rgmii_clk
             &eth1m0_rgmii_bus
             &ethm0_clk1_25m_out>;

    tx_delay = <0x20>;
    /* rx_delay = <0x3f>; */

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


修改为:

&gmac1 {
    /* Use rgmii-rxid mode to disable rx delay inside Soc */
    phy-mode = "rgmii-rxid";
    clock_in_out = "output";

    //snps,reset-gpio = <&gpio3 RK_PA3 GPIO_ACTIVE_LOW>;
    snps,reset-gpio = <&gpio0 RK_PD1 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 = <&eth1m0_miim
             &eth1m0_tx_bus2
             &eth1m0_rx_bus2
             &eth1m0_rgmii_clk
             &eth1m0_rgmii_bus
             &ethm0_clk1_25m_out>;

    //tx_delay = <0x20>;
    tx_delay = <0x1b>;

    /* rx_delay = <0x3f>; */

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


4、【几乎未动】
&mdio1 {
    rgmii_phy1: phy@1 {
        compatible = "ethernet-phy-ieee802.3-c22";
        reg = <0x1>;
        clocks = <&cru REFCLKO25M_GMAC1_OUT>;
    };
};

修改为

&mdio1 {
    status = "okay";
    rgmii_phy1: phy@1 {
        compatible = "ethernet-phy-ieee802.3-c22";
        reg = <0x1>;
        clocks = <&cru REFCLKO25M_GMAC1_OUT>;
    };
};


5、还没有完,GPIO引脚冲突了!

pin 24 (gpio0-24): (MUX UNCLAIMED) gpio0:24
pin 25 (gpio0-25): vbus5v0-typec gpio0:25 function usb group usb-otg0-pwren
pin 26 (gpio0-26): (MUX UNCLAIMED) (GPIO UNCLAIMED)


root@rk3576-buildroot:/# 
root@rk3576-buildroot:/# cat /sys/kernel/debug/gpio
gpiochip0: GPIOs 0-31, parent: platform/27320000.gpio, gpio0:
 gpio-9   (                    |bt_default_wake_host) in  hi IRQ 
 gpio-12  (                    |work                ) out lo 
 gpio-21  (                    |GTP_INT_IRQ         ) in  hi 
 gpio-22  (                    |vcc3v3-lcd0-n       ) out lo 
 gpio-23  (                    |vcc5v0-host         ) out hi 
 gpio-24  (                    |GTP_RST_PORT        ) out hi 
 gpio-25  (                    |vbus5v0-typec       ) out lo 

gpiochip1: GPIOs 32-63, parent: platform/2ae10000.gpio, gpio1:
 gpio-50  (                    |bt_default_rts      ) in  hi 
 gpio-55  (                    |bt_default_reset    ) out lo 
 gpio-60  (                    |bt_default_wake     ) in  lo 

gpiochip2: GPIOs 64-95, parent: platform/2ae20000.gpio, gpio2:
 gpio-70  (                    |sbu1-dc             ) out lo 
 gpio-71  (                    |sbu2-dc             ) out lo 
 gpio-72  (                    |enable              ) out hi 

gpiochip3: GPIOs 96-127, parent: platform/2ae30000.gpio, gpio3:
 gpio-104 (                    |vcc-mipicsi0-regulat) out lo 
 gpio-117 (                    |vcc-mipicsi1-regulat) out lo 
 gpio-118 (                    |vcc-mipidcphy0-regul) out lo 

gpiochip4: GPIOs 128-159, parent: platform/2ae40000.gpio, gpio4:

gpiochip5: GPIOs 509-511, parent: platform/rk806-pinctrl.1.auto, rk806-gpio, can sleep:
root@rk3576-buildroot:/# 


6、
Z:\git_RK3576_Linux6.1\kernel-6.1\arch\arm64\boot\dts\rockchip14hdmi\rk3576-evb1.dtsi
    vbus5v0_typec: vbus5v0-typec {
        compatible = "regulator-fixed";
        regulator-name = "vbus5v0_typec";
        regulator-min-microvolt = <5000000>;
        regulator-max-microvolt = <5000000>;
        enable-active-high;
        gpio = <&gpio0 RK_PD1 GPIO_ACTIVE_HIGH>;
        vin-supply = <&vcc5v0_device>;
        pinctrl-names = "default";
        pinctrl-0 = <&usb_otg0_pwren>;
    };

修改为:

    vbus5v0_typec: vbus5v0-typec {
        compatible = "regulator-fixed";
        regulator-name = "vbus5v0_typec";
        regulator-min-microvolt = <5000000>;
        regulator-max-microvolt = <5000000>;
        enable-active-high;
        // 2026/1/29 11:15 wenyuanbo GMAC1 reset
        //gpio = <&gpio0 RK_PD1 GPIO_ACTIVE_HIGH>;

        vin-supply = <&vcc5v0_device>;
        pinctrl-names = "default";
        //pinctrl-0 = <&usb_otg0_pwren>;
    };


    usb {
        usb_host_pwren: usb-host-pwren {
            rockchip,pins = <0 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>;
        };

        // 2026/1/29 11:15 wenyuanbo GMAC1 reset
        //usb_otg0_pwren: usb-otg0-pwren {
        //    rockchip,pins = <0 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>;
        //};

        usbc0_int: usbc0-int {
            rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
        };
    };

实测效果图:

root@rk3576-buildroot:/# 
root@rk3576-buildroot:/# ifconfig
eth0      Link encap:Ethernet  HWaddr 5E:F1:1A:84:63:26  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:60 

eth1      Link encap:Ethernet  HWaddr 62:F1:1A:84:63:26  
          inet addr:192.168.3.95  Bcast:192.168.3.255  Mask:255.255.255.0
          inet6 addr: fe80::d484:8653:9473:8f28/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:277 errors:0 dropped:0 overruns:0 frame:0
          TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:27761 (27.1 KiB)  TX bytes:1740 (1.6 KiB)
          Interrupt:62 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:576 (576.0 B)  TX bytes:576 (576.0 B)

root@rk3576-buildroot:/# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 5E:F1:1A:84:63:26  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:60 

eth1      Link encap:Ethernet  HWaddr 62:F1:1A:84:63:26  
          inet addr:192.168.3.95  Bcast:192.168.3.255  Mask:255.255.255.0
          inet6 addr: fe80::d484:8653:9473:8f28/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:308 errors:0 dropped:0 overruns:0 frame:0
          TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:32309 (31.5 KiB)  TX bytes:1884 (1.8 KiB)
          Interrupt:62 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:576 (576.0 B)  TX bytes:576 (576.0 B)

root@rk3576-buildroot:/# iperf3 -s
-----------------------------------------------------------
Server listening on 5201 (test #1)
-----------------------------------------------------------
Accepted connection from 192.168.3.116, port 41852
[  5] local 192.168.3.95 port 5201 connected to 192.168.3.116 port 41868
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec   112 MBytes   935 Mbits/sec                  
[  5]   1.00-2.00   sec   112 MBytes   937 Mbits/sec                  
[  5]   2.00-3.00   sec   112 MBytes   937 Mbits/sec                  
[  5]   3.00-4.00   sec   112 MBytes   937 Mbits/sec                  
[  5]   4.00-5.00   sec   112 MBytes   937 Mbits/sec                  
[  5]   5.00-6.00   sec   112 MBytes   937 Mbits/sec                  

[  5]   6.00-7.00   sec   112 MBytes   937 Mbits/sec                  
[  5]   7.00-8.00   sec   112 MBytes   936 Mbits/sec                  
[  5]   8.00-9.00   sec   112 MBytes   937 Mbits/sec                  
[  5]   9.00-10.00  sec   112 MBytes   937 Mbits/sec                  
[  5]  10.00-11.00  sec   112 MBytes   937 Mbits/sec    


[  5] 5380.00-5381.00 sec   112 MBytes   937 Mbits/sec                  
[  5] 5381.00-5382.00 sec   112 MBytes   937 Mbits/sec                  
[  5] 5382.00-5383.00 sec   112 MBytes   937 Mbits/sec                  
[  5] 5383.00-5384.00 sec   112 MBytes   936 Mbits/sec                  
[  5] 5384.00-5385.00 sec   112 MBytes   937 Mbits/sec                  
[  5] 5385.00-5386.00 sec   112 MBytes   937 Mbits/sec                  
[  5] 5386.00-5387.00 sec   112 MBytes   937 Mbits/sec                  
[  5] 5387.00-5388.00 sec   112 MBytes   937 Mbits/sec                  
[  5] 5388.00-5389.00 sec   112 MBytes   937 Mbits/sec                  
[  5] 5389.00-5390.00 sec   112 MBytes   936 Mbits/sec                  
[  5] 5390.00-5391.00 sec   112 MBytes   937 Mbits/sec                  
[  5] 5391.00-5392.00 sec   112 MBytes   936 Mbits/sec                  
[  5] 5392.00-5393.00 sec   112 MBytes   937 Mbits/sec                  
[  5] 5393.00-5394.00 sec   112 MBytes   937 Mbits/sec                  
[  5] 5394.00-5395.00 sec   112 MBytes   937 Mbits/sec                  
[  5] 5395.00-5396.00 sec   112 MBytes   937 Mbits/sec                  
[  5] 5396.00-5397.00 sec   112 MBytes   937 Mbits/sec                  
[  5] 5397.00-5398.00 sec   112 MBytes   936 Mbits/sec                  
[  5] 5398.00-5399.00 sec   112 MBytes   937 Mbits/sec                  
[  5] 5399.00-5399.97 sec   108 MBytes   937 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-5399.97 sec   589 GBytes   937 Mbits/sec                  receiver
-----------------------------------------------------------
Server listening on 5201 (test #2)
-----------------------------------------------------------

^Ciperf3: interrupt - the server has terminated
root@rk3576-buildroot:/# 
root@rk3576-buildroot:/# iperf3 -s


[BEGIN] 2026/1/29 12:25:24
rootroot@rootroot-X99-Turbo:~$ 
rootroot@rootroot-X99-Turbo:~$ 
rootroot@rootroot-X99-Turbo:~$ iperf3 -c 192.168.3.95 -i 1 -t 5400
Connecting to host 192.168.3.95, port 5201
[  5] local 192.168.3.116 port 41868 connected to 192.168.3.95 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   114 MBytes   952 Mbits/sec    0    365 KBytes       
[  5]   1.00-2.00   sec   112 MBytes   936 Mbits/sec    0    365 KBytes       
[  5]   2.00-3.00   sec   112 MBytes   938 Mbits/sec    0    383 KBytes       
[  5]   3.00-4.00   sec   112 MBytes   937 Mbits/sec    0    383 KBytes       
[  5]   4.00-5.00   sec   111 MBytes   930 Mbits/sec    0    383 KBytes       
[  5]   5.00-6.00   sec   112 MBytes   943 Mbits/sec    0    383 KBytes       

[  5]   6.00-7.00   sec   111 MBytes   931 Mbits/sec    0    383 KBytes       
[  5]   7.00-8.00   sec   112 MBytes   940 Mbits/sec    0    383 KBytes       
[  5]   8.00-9.00   sec   112 MBytes   936 Mbits/sec    0    383 KBytes       
[  5]   9.00-10.00  sec   112 MBytes   938 Mbits/sec    0    383 KBytes       
[  5]  10.00-11.00  sec   112 MBytes   939 Mbits/sec    0    383 KBytes   


[  5] 5390.00-5391.00 sec   111 MBytes   934 Mbits/sec    0    452 KBytes       
[  5] 5391.00-5392.00 sec   111 MBytes   933 Mbits/sec    0    452 KBytes       
[  5] 5392.00-5393.00 sec   111 MBytes   933 Mbits/sec    0    452 KBytes       
[  5] 5393.00-5394.00 sec   112 MBytes   944 Mbits/sec    0    452 KBytes       
[  5] 5394.00-5395.00 sec   111 MBytes   933 Mbits/sec    0    452 KBytes       
[  5] 5395.00-5396.00 sec   111 MBytes   933 Mbits/sec    0    452 KBytes       
[  5] 5396.00-5397.00 sec   112 MBytes   944 Mbits/sec    0    452 KBytes       
[  5] 5397.00-5398.00 sec   111 MBytes   933 Mbits/sec    0    452 KBytes       
[  5] 5398.00-5399.00 sec   111 MBytes   933 Mbits/sec    0    452 KBytes       
[  5] 5399.00-5400.00 sec   112 MBytes   944 Mbits/sec    0    452 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-5400.00 sec   589 GBytes   937 Mbits/sec  8126             sender
[  5]   0.00-5399.97 sec   589 GBytes   937 Mbits/sec                  receiver

iperf Done.
rootroot@rootroot-X99-Turbo:~$ 
rootroot@rootroot-X99-Turbo:~$ iperf3 -c 192.168.3.95 -i 1 -t 5400


 

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐