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

Sebastian Kropatsch seb-dev at mail.de
Thu Jul 11 13:03:27 CEST 2024


Hi Ulli,

Sorry for the late reply, but thanks for testing!
I have sent a v3 of this patch, please reply to that mail
with your reviewed-by or tested-by tag if you'd like them
to be included.

Am 21.06.2024 um 00:07 schrieb Ulli Kehrle:
> 
> 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.

Yes indeed, thanks for catching this oversight! This is fixed in v3.

>> 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.

Yes, I have noticed that too. Maybe this is a bug in the rtl8169 driver
from u-boot? Or maybe this can be fixed in the devicetree? Not sure.

> 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?

Maybe this is a similar issue to this:
https://lore.kernel.org/u-boot/CAPDEroXsN03yKL3D-tCcfQqA6vde7P4t2GmwQq80vnLQJw+4YA@mail.gmail.com/T/

Solving this issue is beyond my current abilities unfortunately.

Cheers,
Sebastian



More information about the U-Boot mailing list