[PATCH v2 0/1] Add Ethernet and PDMA support to OrangePi RV2 board

michael.opdenacker at rootcommit.com michael.opdenacker at rootcommit.com
Wed Oct 22 13:18:30 PDT 2025


From: Michael Opdenacker <michael.opdenacker at rootcommit.com>

Reusing DTS code from the BananaPi F3 board.

iperf3 tcp performance results:

Eth1 client test (iperf3 -c <server-ip>)
[  5] local 172.24.0.2 port 41914 connected to 172.24.0.1 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   113 MBytes   946 Mbits/sec    0    378 KBytes
[  5]   1.00-2.00   sec   112 MBytes   942 Mbits/sec    0    424 KBytes
[  5]   2.00-3.00   sec   113 MBytes   947 Mbits/sec    0    424 KBytes
[  5]   3.00-4.00   sec   112 MBytes   939 Mbits/sec    0    445 KBytes
[  5]   4.00-5.00   sec   112 MBytes   944 Mbits/sec    0    445 KBytes
[  5]   5.00-6.00   sec   112 MBytes   937 Mbits/sec    0    445 KBytes
[  5]   6.00-7.00   sec   113 MBytes   944 Mbits/sec    1    445 KBytes
[  5]   7.00-8.00   sec   112 MBytes   936 Mbits/sec    0    445 KBytes
[  5]   8.00-9.00   sec   112 MBytes   943 Mbits/sec    0    445 KBytes
[  5]   9.00-10.01  sec   114 MBytes   944 Mbits/sec    0    445 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.01  sec  1.10 GBytes   942 Mbits/sec    1            sender
[  5]   0.00-10.02  sec  1.10 GBytes   940 Mbits/sec                  receiver

Eth1 server tests (iperf3 -s)
[  5] local 172.24.0.2 port 5201 connected to 172.24.0.1 port 58420
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec   112 MBytes   935 Mbits/sec
[  5]   1.00-2.00   sec   112 MBytes   942 Mbits/sec
[  5]   2.00-3.00   sec   112 MBytes   941 Mbits/sec
[  5]   3.00-4.00   sec   112 MBytes   941 Mbits/sec
[  5]   4.00-5.00   sec   112 MBytes   942 Mbits/sec
[  5]   5.00-6.00   sec   112 MBytes   942 Mbits/sec
[  5]   6.00-7.00   sec   112 MBytes   942 Mbits/sec
[  5]   7.00-8.00   sec   112 MBytes   942 Mbits/sec
[  5]   8.00-9.00   sec   112 MBytes   942 Mbits/sec
[  5]   9.00-10.00  sec   112 MBytes   942 Mbits/sec
[  5]  10.00-10.01  sec   512 KBytes   897 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.01  sec  1.10 GBytes   941 Mbits/sec                  receiver

Eth0 client test (iperf3 -c <server-ip>)
[  5] local 172.24.0.2 port 60496 connected to 172.24.0.1 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   113 MBytes   947 Mbits/sec    0    362 KBytes
[  5]   1.00-2.00   sec   113 MBytes   945 Mbits/sec    0    464 KBytes
[  5]   2.00-3.00   sec   113 MBytes   945 Mbits/sec    0    464 KBytes
[  5]   3.00-4.00   sec   112 MBytes   941 Mbits/sec    0    467 KBytes
[  5]   4.00-5.00   sec   112 MBytes   940 Mbits/sec    0    467 KBytes
[  5]   5.00-6.00   sec   112 MBytes   937 Mbits/sec    0    467 KBytes
[  5]   6.00-7.00   sec   113 MBytes   948 Mbits/sec    0    494 KBytes
[  5]   7.00-8.00   sec   112 MBytes   938 Mbits/sec    0    520 KBytes
[  5]   8.00-9.00   sec   113 MBytes   945 Mbits/sec    0    520 KBytes
[  5]   9.00-10.02  sec   112 MBytes   919 Mbits/sec    0    520 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.02  sec  1.10 GBytes   941 Mbits/sec    0            sender
[  5]   0.00-10.03  sec  1.10 GBytes   940 Mbits/sec                  receiver

Eth0 server tests (iperf3 -s)
[  5] local 172.24.0.2 port 5201 connected to 172.24.0.1 port 42930
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec   112 MBytes   934 Mbits/sec
[  5]   1.00-2.00   sec   112 MBytes   942 Mbits/sec
[  5]   2.00-3.00   sec   112 MBytes   941 Mbits/sec
[  5]   3.00-4.00   sec   112 MBytes   940 Mbits/sec
[  5]   4.00-5.00   sec   112 MBytes   942 Mbits/sec
[  5]   5.00-6.00   sec   112 MBytes   940 Mbits/sec
[  5]   6.00-7.00   sec   112 MBytes   941 Mbits/sec
[  5]   7.00-8.00   sec   112 MBytes   941 Mbits/sec
[  5]   8.00-9.00   sec   112 MBytes   942 Mbits/sec
[  5]   9.00-10.00  sec   112 MBytes   941 Mbits/sec
[  5]  10.00-10.01  sec   512 KBytes  1.07 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.01  sec  1.10 GBytes   941 Mbits/sec                  receiver

In comparison, for the 6.6 vendor kernel in OrangePiOS:
- Client tests give similar results both on eth0 and eth1
- Server tests are very similar on eth0, but lose
  between 50-60 Mbits/sec on eth1:
  [ 5] 0.00-10.00 sec 1.04 GBytes 889 Mbits/sec 56 sender
  [ 5] 0.00-10.01 sec 1.03 GBytes 882 Mbits/sec receiver
  (as seen from the PC client)

Changes in V2:
- Remove the commit configuring k1_emac driver as a built-in by default,
  as suggested by Emil Renner Berthing
- Improve the message for the commit adding Ethernet and PDMA,
  as suggested by Yixun Lan
- Add DT aliases for eth0 and eth1
  as suggested by Vivian Wang
- Add iperf3 test results to this cover letter
  as suggested by Vivian Wang

CC: Emil Renner Berthing <emil.renner.berthing at gmail.com>
CC: Yixun Lan <dlan at gentoo.org>
CC: Vivian Wang <wangruikang at iscas.ac.cn>

Michael Opdenacker (1):
  riscv: dts: spacemit: add Ethernet and PDMA to OrangePi RV2

 .../boot/dts/spacemit/k1-orangepi-rv2.dts     | 52 +++++++++++++++++++
 1 file changed, 52 insertions(+)




More information about the linux-riscv mailing list