.../devicetree/bindings/net/realtek,rtl8125.yaml | 43 ++++++++++++++++++++++ MAINTAINERS | 1 + arch/arm64/boot/dts/rockchip/rk3568-nanopi-r5s.dts | 30 +++++++++++++++ .../rockchip/rk3588-friendlyelec-cm3588-nas.dts | 21 +++++++++++ arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi | 30 +++++++++++++++ arch/arm64/boot/dts/rockchip/rk3588-rock-5-itx.dts | 30 +++++++++++++++ .../boot/dts/rockchip/rk3588-rock-5b-5bp-5t.dtsi | 15 ++++++++ arch/arm64/boot/dts/rockchip/rk3588-rock-5t.dts | 18 +++++++++ .../arm64/boot/dts/rockchip/rk3588s-nanopi-r6c.dts | 21 +++++++++++ 9 files changed, 209 insertions(+)
Several Rockchip rk35xx boards carry on-board Realtek RTL8125 2.5GbE
NICs whose PCI function nodes are not described in the DT. Describing
them allows for stable ethernetN aliases (matching the GMAC alias
convention on these boards) and lets U-Boot's fdt_fixup_ethernet()
inject mac-address properties from its ethaddr/ethNaddr env, so MACs
stay stable across boots and U-Boot and kernel MAC match.
Tested on a NanoPC-T6: /sys/bus/pci/devices/0004:41:00.0/of_node ->
/sys/firmware/devicetree/base/pcie@fe190000/pcie@0,0/ethernet@0,0 and
u-boot correctly adds local-mac-address property there which is
correctly picked up kernel-side:
=> setenv eth1addr 8e:b4:90:66:66:66
=> boot
...
# readlink -f /sys/bus/pci/devices/0004:41:00.0/of_node
/sys/firmware/devicetree/base/pcie@fe190000/pcie@0,0/ethernet@0,0
# xxd /sys/bus/pci/devices/0004:41:00.0/of_node/local-mac-address
00000000: 8eb4 9066 6666 ...fff
# ip link show dev end1 | grep ether
link/ether 8e:b4:90:66:66:66 brd ff:ff:ff:ff:ff:ff
Patch 1 adds a DT binding for Realtek RTL8125 family PCIe Ethernet
controllers.
Patch 2-7 describes the on-board RTL8125 function nodes on a few
Rockchip boards.
---
Changes in v5:
- binding: reword commit message: pci10ec,8125 is already covered by
dtschema pci-device.yaml; the binding is added only to validate the
ethernet-controller properties on these nodes (local-mac-address,
nvmem-cells, et al) (ref Krzysztof, Heiner).
- boards: add a few more Rockchip boards with RTL8125's.
- Link to v4: https://patch.msgid.link/20260617-rk3588-dts-rtl-eth-describe-dt-alias-v4-0-2bd38922d129@pardini.net
Changes in v4:
- binding: simplify the binding YAML ref Sashiko's and Krzysztof's
reviews
- binding: describe only the RTL8125 + rename to match ref Heiner's
review.
- dt: fix the bus-range according to Sashiko's review.
- Link to v3: https://patch.msgid.link/20260605-rk3588-dts-rtl-eth-describe-dt-alias-v3-0-8a8857b39daf@pardini.net
Changes in v3:
- new patch: add a DT binding for Realtek r8169 family PCIe Ethernet
controllers, per Sebastian Reichel's review (the "pciVVVV,DDDD" OF
spelling still needs a binding when used in a board DT).
- new patch for Rock5 series, and include a brief rationale in each.
- retitle the series, since it now covers a few boards and a binding
rather than just DeviceTree changes for the NanoPC-T6.
- drop the v2 "rename vcc3v3_pcie2x1l0 regulator" patch from this
series; it will be sent separately as it is not relevant to this.
- Link to v2: https://patch.msgid.link/20260529-rk3588-dts-rtl-eth-describe-dt-alias-v2-0-49700248143f@pardini.net
Changes in v2:
- fix: pcie2x1l0, not pcie2x1l1; indirectly caught by Sashiko's review [1]
- while-at-it: rename regulator vcc3v3_pcie2x1l0 to l1
- Link to v1: https://patch.msgid.link/20260525-rk3588-dts-rtl-eth-describe-dt-alias-v1-1-a6fcda563ac7@pardini.net
[1] https://sashiko.dev/#/patchset/20260525-rk3588-dts-rtl-eth-describe-dt-alias-v1-1-a6fcda563ac7%40pardini.net
To: Heiner Kallweit <hkallweit1@gmail.com>
To: nic_swsd@realtek.com
To: Andrew Lunn <andrew+netdev@lunn.ch>
To: "David S. Miller" <davem@davemloft.net>
To: Eric Dumazet <edumazet@google.com>
To: Jakub Kicinski <kuba@kernel.org>
To: Paolo Abeni <pabeni@redhat.com>
To: Rob Herring <robh@kernel.org>
To: Krzysztof Kozlowski <krzk+dt@kernel.org>
To: Conor Dooley <conor+dt@kernel.org>
To: Heiko Stuebner <heiko@sntech.de>
Cc: Sebastian Reichel <sebastian.reichel@collabora.com>
Cc: netdev@vger.kernel.org
Cc: devicetree@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-rockchip@lists.infradead.org
Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
---
Ricardo Pardini (7):
dt-bindings: net: add Realtek RTL8125 PCIe Ethernet
arm64: dts: rockchip: describe PCIe RTL8125 Ethernet on NanoPC-T6
arm64: dts: rockchip: describe PCIe RTL8125 Ethernet on ROCK 5 family
arm64: dts: rockchip: describe PCIe RTL8125 Ethernet on CM3588-NAS
arm64: dts: rockchip: describe PCIe RTL8125 Ethernet on NanoPi R5S
arm64: dts: rockchip: describe PCIe RTL8125 Ethernet on NanoPi R6C
arm64: dts: rockchip: describe PCIe RTL8125 Ethernet on ROCK 5 ITX
.../devicetree/bindings/net/realtek,rtl8125.yaml | 43 ++++++++++++++++++++++
MAINTAINERS | 1 +
arch/arm64/boot/dts/rockchip/rk3568-nanopi-r5s.dts | 30 +++++++++++++++
.../rockchip/rk3588-friendlyelec-cm3588-nas.dts | 21 +++++++++++
arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi | 30 +++++++++++++++
arch/arm64/boot/dts/rockchip/rk3588-rock-5-itx.dts | 30 +++++++++++++++
.../boot/dts/rockchip/rk3588-rock-5b-5bp-5t.dtsi | 15 ++++++++
arch/arm64/boot/dts/rockchip/rk3588-rock-5t.dts | 18 +++++++++
.../arm64/boot/dts/rockchip/rk3588s-nanopi-r6c.dts | 21 +++++++++++
9 files changed, 209 insertions(+)
---
base-commit: df2908090cda368b01ff43709f51890076c56157
change-id: 20260524-rk3588-dts-rtl-eth-describe-dt-alias-c1ed187b7c50
Best regards,
--
Ricardo Pardini <ricardo@pardini.net>
Hi Ricardo,
On Thu, 10 Sept 2026 at 22:08, Ricardo Pardini via B4 Relay
<devnull+ricardo.pardini.net@kernel.org> wrote:
> Several Rockchip rk35xx boards carry on-board Realtek RTL8125 2.5GbE
> NICs whose PCI function nodes are not described in the DT. Describing
> them allows for stable ethernetN aliases (matching the GMAC alias
> convention on these boards) and lets U-Boot's fdt_fixup_ethernet()
> inject mac-address properties from its ethaddr/ethNaddr env, so MACs
> stay stable across boots and U-Boot and kernel MAC match.
>
> Tested on a NanoPC-T6: /sys/bus/pci/devices/0004:41:00.0/of_node ->
> /sys/firmware/devicetree/base/pcie@fe190000/pcie@0,0/ethernet@0,0 and
> u-boot correctly adds local-mac-address property there which is
> correctly picked up kernel-side:
Have you tested this at 2.5Gbps? With which firmware?
I am asking because I have problems at 2.5Gbps using the firmware from
linux-firmware (on a different platform, though)
https://lore.kernel.org/CAMuHMdXPAeHoeaQbM9rXbXukoMbFV+0k28n6sRMw8XF8720WUA@mail.gmail.com
Thanks!
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
On 22/09/2026 11:17, Geert Uytterhoeven wrote:
> Hi Ricardo,
>
> On Thu, 10 Sept 2026 at 22:08, Ricardo Pardini via B4 Relay
> <devnull+ricardo.pardini.net@kernel.org> wrote:
>> Several Rockchip rk35xx boards carry on-board Realtek RTL8125 2.5GbE
>> NICs whose PCI function nodes are not described in the DT. Describing
>> them allows for stable ethernetN aliases (matching the GMAC alias
>> convention on these boards) and lets U-Boot's fdt_fixup_ethernet()
>> inject mac-address properties from its ethaddr/ethNaddr env, so MACs
>> stay stable across boots and U-Boot and kernel MAC match.
>>
>> Tested on a NanoPC-T6: /sys/bus/pci/devices/0004:41:00.0/of_node ->
>> /sys/firmware/devicetree/base/pcie@fe190000/pcie@0,0/ethernet@0,0 and
>> u-boot correctly adds local-mac-address property there which is
>> correctly picked up kernel-side:
>
> Have you tested this at 2.5Gbps? With which firmware?
> I am asking because I have problems at 2.5Gbps using the firmware from
> linux-firmware (on a different platform, though)
> https://lore.kernel.org/CAMuHMdXPAeHoeaQbM9rXbXukoMbFV+0k28n6sRMw8XF8720WUA@mail.gmail.com
Hi Geert, yes, the RTL8125's on those boards work at 2.5gbps just fine
(both with and without the fixed-function nodes in this series). They do
get quite warm at 2.5gbps. I'm using one of those el-cheapo 8-port
2.5gbps switches.
Currently:
[ 3.254450] r8169 0002:21:00.0 eth0: RTL8125B, 8e:b4:90:97:32:30, XID
641, IRQ 124
...
[ 10.480872] r8169 0002:21:00.0 end0: Link is Up - 2.5Gbps/Full - flow
control rx/tx
# sensors r8169_2_2100:00-mdio-0
r8169_2_2100:00-mdio-0
Adapter: MDIO adapter
temp1: +52.0°C (high = +120.0°C)
I'm using whatever is in Armbian's armbian-firmware package:
# ethtool -i end0 | grep -i firmware
firmware-version: rtl8125b-2_0.0.2 07/13/20
# sha256sum /lib/firmware/rtl_nic/rtl8125b-2.fw
529bf1c25c97ff52b401090d00ff89cc22351012336e5a0c9662728a3ee909ef
/lib/firmware/rtl_nic/rtl8125b-2.fw
mvg,
Ricardo
>
> Thanks!
>
> Gr{oetje,eeting}s,
>
> Geert
>
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
>
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
> -- Linus Torvalds
Hi Ricardo,
On Wed, 23 Sept 2026 at 20:49, Ricardo Pardini <ricardo@pardini.net> wrote:
> On 22/09/2026 11:17, Geert Uytterhoeven wrote:
> > On Thu, 10 Sept 2026 at 22:08, Ricardo Pardini via B4 Relay
> > <devnull+ricardo.pardini.net@kernel.org> wrote:
> >> Several Rockchip rk35xx boards carry on-board Realtek RTL8125 2.5GbE
> >> NICs whose PCI function nodes are not described in the DT. Describing
> >> them allows for stable ethernetN aliases (matching the GMAC alias
> >> convention on these boards) and lets U-Boot's fdt_fixup_ethernet()
> >> inject mac-address properties from its ethaddr/ethNaddr env, so MACs
> >> stay stable across boots and U-Boot and kernel MAC match.
> >>
> >> Tested on a NanoPC-T6: /sys/bus/pci/devices/0004:41:00.0/of_node ->
> >> /sys/firmware/devicetree/base/pcie@fe190000/pcie@0,0/ethernet@0,0 and
> >> u-boot correctly adds local-mac-address property there which is
> >> correctly picked up kernel-side:
> >
> > Have you tested this at 2.5Gbps? With which firmware?
> > I am asking because I have problems at 2.5Gbps using the firmware from
> > linux-firmware (on a different platform, though)
> > https://lore.kernel.org/CAMuHMdXPAeHoeaQbM9rXbXukoMbFV+0k28n6sRMw8XF8720WUA@mail.gmail.com
>
> Hi Geert, yes, the RTL8125's on those boards work at 2.5gbps just fine
> (both with and without the fixed-function nodes in this series). They do
> get quite warm at 2.5gbps. I'm using one of those el-cheapo 8-port
> 2.5gbps switches.
>
> Currently:
>
> [ 3.254450] r8169 0002:21:00.0 eth0: RTL8125B, 8e:b4:90:97:32:30, XID
> 641, IRQ 124
> ...
> [ 10.480872] r8169 0002:21:00.0 end0: Link is Up - 2.5Gbps/Full - flow
> control rx/tx
>
> # sensors r8169_2_2100:00-mdio-0
> r8169_2_2100:00-mdio-0
> Adapter: MDIO adapter
> temp1: +52.0°C (high = +120.0°C)
>
> I'm using whatever is in Armbian's armbian-firmware package:
>
> # ethtool -i end0 | grep -i firmware
> firmware-version: rtl8125b-2_0.0.2 07/13/20
Thanks for checking!
Mine is RTL8125D XID 688, i.e. a different variant.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
© 2016 - 2026 Red Hat, Inc.