20260129让天启AIO-3576Q38开发板在Rockchip瑞芯微原厂Buildroot下打开gmac1芯片YT853H-CA实测网速937Mbits/sec
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 = <ð1m0_miim
ð1m0_tx_bus2
ð1m0_rx_bus2
ð1m0_rgmii_clk
ð1m0_rgmii_bus
ðm0_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 = <ð1m0_miim
ð1m0_tx_bus2
ð1m0_rx_bus2
ð1m0_rgmii_clk
ð1m0_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 = <ð1m0_miim
ð1m0_tx_bus2
ð1m0_rx_bus2
ð1m0_rgmii_clk
ð1m0_rgmii_bus
ðm0_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 = <ð1m0_miim
ð1m0_tx_bus2
ð1m0_rx_bus2
ð1m0_rgmii_clk
ð1m0_rgmii_bus
ðm0_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


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


所有评论(0)