We're hiring!

Radxa Rock-5B PCIe and RTL8125B networking in U-boot

Eugen Hristev avatar

Eugen Hristev
May 18, 2023

Share this post:

Reading time:

The Radxa Rock-5B board uses an external network controller, a RealTek 8125B 2.5 Gbps controller, which is connected to the RK3588 SoC via PCI Express.

The built-in network controller inside the RK3588 is not used on this board. In the U-boot bootloader, currently there is no support for PCI Express for this board, nor for the RealTek 8125B whatsoever.

The goal is to get networking working in U-boot, such that the Linux kernel can be loaded via TFTP or some other network protocol.

For this purpose, support for PCIe 2.0 has now been added: https://marc.info/?l=u-boot&m=168258091432022&w=2 

Hardware description of the Radxa Rock-5B board.
Source: https://wiki.radxa.com/Rock5/hardware/5b


This way the PCIe bus is started and devices on the bus are enumerated.

The RTL8169 driver had to be adapted to support the 8125B variant: https://marc.info/?l=u-boot&m=168242860627356&w=2

And now, the networking on the board works at 100 Mbps, which is very good progress, even if the gigabit does not work yet. The important goal is achieved: the network boot works!

And because this is Open Source, implementing the changes into RTl8169 was not so difficult. Reusing the code from the Linux driver, which already supports the 8125B controller, saved a lot of time and effort.

Publishing code as Open Source can benefit many different other projects, such as getting boards and devices up to speed, and allows anyone to benefit. If and when someone is interested in creating a project based on this board, or on this SoC, for a real-world application, a head start is already in place.


Comments (0)

Add a Comment

Allowed tags: <b><i><br>Add a new comment:

Search the newsroom

Latest Blog Posts

USB 3.0 preliminary support in U-boot for Radxa Rock-5B


A while back I presented USB 2.0 host support that was added to U-boot for the Radxa Rock-5B RK3588 Rockchip board. This time, USB 3.0 was…

Radxa Rock-5B PCIe and RTL8125B networking in U-boot


Work continues on the Radxa ROCK5B RK388, as PCIe and RTL8125B networking support in U-boot have now been added. Publishing code as Open…

Introducing Multiview for NVK


NVK, an open-source Vulkan driver for NVIDIA hardware that is part of Mesa, now supports the Vulkan extension VK_KHR_multiview.

Adding bootloader support for USB 2.0 Host for Radxa ROCK 5B RK3588


The beauty of Open Source is that we can reuse code written by many other people, keep their authorship, and credit them for their work,…

Meson & VSCode: Develop your project in a modern IDE


Want to develop your Meson project in a modern IDE? Make sure to install Meson VSCode extension which is now fully functional with the recent…

Carlafox: Towards reliable open-source 3D perception


Labeling errors are common in present open-source 3D perception datasets, which could have impactful consequences. To tackle this issue,…

Open Since 2005 logo

We use cookies on this website to ensure that you get the best experience. By continuing to use this website you are consenting to the use of these cookies. To find out more please follow this link.

Collabora Ltd © 2005-2023. All rights reserved. Privacy Notice. Sitemap.