[PATCH v2 2/2] board: rockchip: Add FriendlyElec NanoPi R6S

Ulli Kehrle ulli at vegan.im.it
Fri Jun 21 00:07:56 CEST 2024


Sebastian Kropatsch <seb-dev at mail.de> writes:
> The R6S is very similar to the R6C, the major difference being that
> instead of the M.2 NVMe socket on the R6C, the R6S has a second RTL8125BG
> Ethernet chip, which uses the same PCIe lanes that the R6C uses for its
> M.2 socket. Other minor differences include:
> - 12-pin GPIO FPC instead of 30-pin header
> - IR receiver (pwm-based)
> - 5V fan connector
> Other than that, they are the same, which is why the difference in
> U-Boot is only the missing NVME config option in the R6S defconfig.
>
> Please note that I was not able to test this device. I only chose to
> add it due to it being a very similar implementation to the R6C, like the
> NanoPi R5C and R5S are similar. It should however boot just fine and even
> both RTL8125 Ethernet ports should work in U-Boot since RTL8125 is the
> same chip used in the R6C, using the rtl8169 driver.

Hi Sebastian,

it looks like you forgot to include the hunk that includes the board
config board/friendlyelec/nanopi-r6s-rk3588s/Kconfig into
rk3588/Kconfig.

> diff --git a/arch/arm/mach-rockchip/rk3588/Kconfig b/arch/arm/mach-rockchip/rk3588/Kconfig
> index a9e400861a3..051d50e26f6 100644
> --- a/arch/arm/mach-rockchip/rk3588/Kconfig
> +++ b/arch/arm/mach-rockchip/rk3588/Kconfig
> @@ -257,6 +257,7 @@ config TEXT_BASE
>  source "board/edgeble/neural-compute-module-6/Kconfig"
>  source "board/friendlyelec/nanopc-t6-rk3588/Kconfig"
>  source "board/friendlyelec/nanopi-r6c-rk3588s/Kconfig"
> +source "board/friendlyelec/nanopi-r6s-rk3588s/Kconfig"
>  source "board/indiedroid/nova/Kconfig"
>  source "board/pine64/quartzpro64-rk3588/Kconfig"
>  source "board/turing/turing-rk1-rk3588/Kconfig"

Other than that, this appears to work great on my Nanopi R6S (with the
device tree from linux-6.9), including all three network interfaces, but
no working status leds for the rtl8169 ports. I have also noticed the
minor inconvenience that only the first two interfaces are initialized
with nonzero MAC addresses (because rockchip_setup_macaddr is hardcoded
for two interfaces?):

> => pci enum
> => net list
> eth0 : ethernet at fe1c0000 7a:d9:6d:ad:cb:26 active
> eth1 : eth_rtl8169 7a:d9:6d:ad:cb:27
> eth2 : eth_rtl8169 00:00:00:00:00:00

I don't think this is a huge deal as it works fine when manually setting
a MAC address and other boards with three or more interfaces (like the
NanoPi R5S) also behave that way. What do you think?

Best regards
Ulli


More information about the U-Boot mailing list