NanoPi R4S-RK3399 is a great new OpenWrt device

could you post cat/proc/interrupts after making the changes. Should be now -
eth0 - CPU2
eth1 - CPU3
and TX and RX queues using both CPU4 and CPU5.

I used Balena Etcher on Windows 10 to flash the card. And I forgot to say the card is 64GB capacity.

I disassembled the case and hooked up UART. Here's the boot log of OpenWRT 23.05.3 on a 16GB card:

U-Boot TPL 2021.07-OpenWrt-r23809-234f1a2efa (Mar 22 2024 - 22:09:42)
Channel 0: LPDDR4, 50MHz
BW=32 Col=10 Bk=8 CS0 Row=15 CS1 Row=15 CS=2 Die BW=16 Size=2048MB
Channel 1: LPDDR4, 50MHz
BW=32 Col=10 Bk=8 CS0 Row=15 CS1 Row=15 CS=2 Die BW=16 Size=2048MB
256B stride
lpddr4_set_rate: change freq to 400000000 mhz 0, 1
lpddr4_set_rate: change freq to 800000000 mhz 1, 0
Trying to boot from BOOTROM
Returning to boot ROM...

U-Boot SPL 2021.07-OpenWrt-r23809-234f1a2efa (Mar 22 2024 - 22:09:42 +0000)
Trying to boot from MMC1


U-Boot 2021.07-OpenWrt-r23809-234f1a2efa (Mar 22 2024 - 22:09:42 +0000)

SoC: Rockchip rk3399
Reset cause: POR
Model: FriendlyElec NanoPi R4S
DRAM:  3.9 GiB
PMIC:  RK808
MMC:   mmc@fe320000: 1
Loading Environment from MMC... MMC Device 0 not found
*** Warning - No MMC card found, using default environment

rk3399_vop vop@ff8f0000: failed to get ahb reset (ret=-524)
rk3399_vop vop@ff8f0000: failed to get ahb reset (ret=-524)
In:    serial
Out:   serial
Err:   serial
Model: FriendlyElec NanoPi R4S
Net:
Error: ethernet@fe300000 address not set.
No ethernet found.

Hit any key to stop autoboot:  0
MMC Device 0 not found
no mmc device at slot 0
switch to partitions #0, OK
mmc1 is current device
Scanning mmc 1:1...
Found U-Boot script /boot.scr
534 bytes read in 3 ms (173.8 KiB/s)
## Executing script at 00500000
4158056 bytes read in 179 ms (22.2 MiB/s)
## Loading kernel from FIT Image at 02080000 ...
   Using 'config-1' configuration
   Trying 'kernel-1' kernel subimage
     Description:  ARM64 OpenWrt Linux-5.15.150
     Type:         Kernel Image
     Compression:  lzma compressed
     Data Start:   0x020800ec
     Data Size:    4098943 Bytes = 3.9 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x03200000
     Entry Point:  0x03200000
     Hash algo:    crc32
     Hash value:   273d7ac5
     Hash algo:    sha1
     Hash value:   5538f629c0968e5e7d04eb0e8d7ce9fab0fd639b
   Verifying Hash Integrity ... crc32+ sha1+ OK
## Loading fdt from FIT Image at 02080000 ...
   Using 'config-1' configuration
   Trying 'fdt-1' fdt subimage
     Description:  ARM64 OpenWrt friendlyarm_nanopi-r4s device tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x02468db4
     Data Size:    57191 Bytes = 55.9 KiB
     Architecture: AArch64
     Hash algo:    crc32
     Hash value:   bce049a8
     Hash algo:    sha1
     Hash value:   d88b3fdc12cbb5003b8f0c0e49c7edc2e0e14b60
   Verifying Hash Integrity ... crc32+ sha1+ OK
   Booting using the fdt blob at 0x2468db4
   Uncompressing Kernel Image
   Loading Device Tree to 00000000f1f25000, end 00000000f1f35f66 ... OK

Starting kernel ...

And here's the boot log of the non-working card:

U-Boot TPL 2021.07-OpenWrt-r23809-234f1a2efa (Mar 22 2024 - 22:09:42)
Channel 0: LPDDR4, 50MHz
BW=32 Col=10 Bk=8 CS0 Row=15 CS1 Row=15 CS=2 Die BW=16 Size=2048MB
Channel 1: LPDDR4, 50MHz
BW=32 Col=10 Bk=8 CS0 Row=15 CS1 Row=15 CS=2 Die BW=16 Size=2048MB
256B stride
lpddr4_set_rate: change freq to 400000000 mhz 0, 1
lpddr4_set_rate: change freq to 800000000 mhz 1, 0
Trying to boot from BOOTROM
Returning to boot ROM...

U-Boot SPL 2021.07-OpenWrt-r23809-234f1a2efa (Mar 22 2024 - 22:09:42 +0000)
Trying to boot from MMC1


U-Boot 2021.07-OpenWrt-r23809-234f1a2efa (Mar 22 2024 - 22:09:42 +0000)

SoC: Rockchip rk3399
Reset cause: POR
Model: FriendlyElec NanoPi R4S
DRAM:  3.9 GiB
PMIC:  RK808
MMC:   mmc@fe320000: 1
Loading Environment from MMC... MMC Device 0 not found
*** Warning - No MMC card found, using default environment

rk3399_vop vop@ff8f0000: failed to get ahb reset (ret=-524)
rk3399_vop vop@ff8f0000: failed to get ahb reset (ret=-524)
In:    serial
Out:   serial
Err:   serial
Model: FriendlyElec NanoPi R4S
Net:
Error: ethernet@fe300000 address not set.
No ethernet found.

Hit any key to stop autoboot:  0
MMC Device 0 not found
no mmc device at slot 0
starting USB...
Bus usb@fe380000: USB EHCI 1.00
Bus usb@fe3c0000: USB EHCI 1.00
Bus dwc3: Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.10
Bus dwc3: Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.10
scanning bus usb@fe380000 for devices... 1 USB Device(s) found
scanning bus usb@fe3c0000 for devices... 1 USB Device(s) found
scanning bus dwc3 for devices... 1 USB Device(s) found
scanning bus dwc3 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found

Device 0: unknown device
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
No ethernet found.
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
missing environment variable: pxeuuid
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00000000
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
No ethernet found.
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0000000
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
No ethernet found.
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/000000
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
No ethernet found.
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00000
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
No ethernet found.
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0000
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
No ethernet found.
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/000
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
No ethernet found.
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
No ethernet found.
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
No ethernet found.
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default-arm-rk3399-evb_rk3399
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
No ethernet found.
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default-arm-rk3399
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
No ethernet found.
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default-arm
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
No ethernet found.
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
No ethernet found.
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
Config file not found
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
No ethernet found.
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
No ethernet found.
mdio_register: non unique device name 'ethernet@fe300000'
mdio_register: non unique device name 'ethernet@fe300000'
Invalid bus 0 (err=-19)
Failed to initialize SPI flash at 0:0 (error -19)
=>

So it looks like TPL loads SPL and SPL loads U-Boot proper from the SD card just fine, but then U-Boot proper cannot read from mmc1 for some reason.

also add this to your startup

#CPU Performance 
find /sys/devices/system/cpu/cpufreq/ -name scaling_governor | while read GOVERNOR ; do echo performance > $GOVERNOR ; done

im current running the config according with this: https://github.com/StarWhiz/NanoPi-R6S-CPU-Optimization-for-Gigabit-SQM/tree/main/R4S%20CPU%20Optimization

Did you try snapshot? If I remember correctly there were quite some changes since 23.x got released, particularly in the kernel.

Try using Rufus to flash sdcard.
I used Balena Etcher before but found it unreliable, so I never used it again.

Just tried snapshot, and it does boot. Thank you for the idea!

After that I also tried booting 23.05.3 with uboot from snapshot, and that also worked. For anyone who wants to try this: Just download both snapshot and 23.0.5 images, decompress them, then using a hex editor copy offset 0x8000 - 0xFFFFFF from snapshot .img to 23.05.3 .img.

Here's a boot log with snapshot u-boot, booting 23.05.3:

U-Boot TPL 2024.04-OpenWrt-r26434-0a861a0c0f (May 25 2024 - 18:36:32)
lpddr4_set_rate: change freq to 400MHz 0, 1
Channel 0: LPDDR4, 400MHz
BW=32 Col=10 Bk=8 CS0 Row=15 CS1 Row=15 CS=2 Die BW=16 Size=2048MB
Channel 1: LPDDR4, 400MHz
BW=32 Col=10 Bk=8 CS0 Row=15 CS1 Row=15 CS=2 Die BW=16 Size=2048MB
256B stride
lpddr4_set_rate: change freq to 800MHz 1, 0
Trying to boot from BOOTROM
Returning to boot ROM...

U-Boot SPL 2024.04-OpenWrt-r26434-0a861a0c0f (May 25 2024 - 18:36:32 +0000)
Trying to boot from MMC1
load_simple_fit: Skip load 'atf-5': image size is 0!


U-Boot 2024.04-OpenWrt-r26434-0a861a0c0f (May 25 2024 - 18:36:32 +0000)

SoC: Rockchip rk3399
Reset cause: POR
Model: FriendlyElec NanoPi R4S
DRAM:  4 GiB (effective 3.9 GiB)
PMIC:  RK808
Core:  271 devices, 27 uclasses, devicetree: separate
MMC:   mmc@fe320000: 1
Loading Environment from MMC... MMC Device 0 not found
*** Warning - No MMC card found, using default environment

rk3399_vop vop@ff8f0000: failed to get ahb reset (ret=-524)
rk3399_vop vop@ff8f0000: failed to get ahb reset (ret=-524)
In:    serial,usbkbd
Out:   serial,vidconsole
Err:   serial,vidconsole
Model: FriendlyElec NanoPi R4S
Net:   eth0: ethernet@fe300000
Hit any key to stop autoboot:  0
Scanning for bootflows in all bootdevs
Seq  Method       State   Uclass    Part  Name                      Filename
---  -----------  ------  --------  ----  ------------------------  ----------------
Scanning global bootmeth 'efi_mgr':
No EFI system partition
No EFI system partition
Failed to persist EFI variables
rk3399_vop vop@ff8f0000: failed to get ahb reset (ret=-524)
Scanning bootdev 'mmc@fe320000.bootdev':
No EFI system partition
Failed to persist EFI variables
No EFI system partition
Failed to persist EFI variables
  0  script       ready   mmc          1  mmc@fe320000.bootdev.part /boot.scr
** Booting bootflow 'mmc@fe320000.bootdev.part_1' with script
4158056 bytes read in 179 ms (22.2 MiB/s)
## Loading kernel from FIT Image at 02080000 ...
   Using 'config-1' configuration
   Trying 'kernel-1' kernel subimage
     Description:  ARM64 OpenWrt Linux-5.15.150
     Type:         Kernel Image
     Compression:  lzma compressed
     Data Start:   0x020800ec
     Data Size:    4098943 Bytes = 3.9 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x03200000
     Entry Point:  0x03200000
     Hash algo:    crc32
     Hash value:   273d7ac5
     Hash algo:    sha1
     Hash value:   5538f629c0968e5e7d04eb0e8d7ce9fab0fd639b
   Verifying Hash Integrity ... crc32+ sha1+ OK
## Loading fdt from FIT Image at 02080000 ...
   Using 'config-1' configuration
   Trying 'fdt-1' fdt subimage
     Description:  ARM64 OpenWrt friendlyarm_nanopi-r4s device tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x02468db4
     Data Size:    57191 Bytes = 55.9 KiB
     Architecture: AArch64
     Hash algo:    crc32
     Hash value:   bce049a8
     Hash algo:    sha1
     Hash value:   d88b3fdc12cbb5003b8f0c0e49c7edc2e0e14b60
   Verifying Hash Integrity ... crc32+ sha1+ OK
   Booting using the fdt blob at 0x2468db4
Working FDT set to 2468db4
   Uncompressing Kernel Image to 3200000
   Loading Device Tree to 00000000f0eda000, end 00000000f0eeaf66 ... OK
Working FDT set to f0eda000

Starting kernel ...
1 Like

hey choppyc, do u know if is there anyway to undervolt the nanopi r4s cpu to improve temperature? here is hot and sometimes the device just get too hot i cant even place my hand on top.

It is normal for the R4S metal heat sink case to get quite warm. What temperatures are reported after you install the luci-app-statistics and collectd-mod-thermal packages?

Unlike a plastic fantastic router case, there is no air gap between a CPU heat sink and an outer plastic case with the NanoPi R4S. If you removed the plastic case from an all in one device, you would find the CPU heat sink inside would be quite warm to the touch too.

i have the metal case, and the temperature on hot days hit arround 56ΒΊC

ARM SOCs running hot (even hotter than that) if quite normal.

1 Like

56C doesn't seem like a problem. OEM advertises the R4S working temperature is up to 70C.

My Reyee RG E5 (MT7622) dumb AP runs from 61C to 67C, which is typical in the summer. Heat management is not among this device's strong points, but it handles it fine. A Belkin RT3200 dumb AP upstairs (same SoC) is running from 53C to 60C.

1 Like

what is the best alternative to setup a SMB share driver using the nanopi r4s? would it handle well? im current using it as router with adblock + sqm, since i use a share folder trough my network to stream movies between screens, im planning to setup a usb sdd on the nanopi and use it as NAS SMB.

You can enable shares with a USB 3.0 drive using Ksmbd, or if you want more advanced features Samba, they perform similar: https://openwrt.org/docs/guide-user/services/nas/ksmbd

Performance is great, most targets from the past half decade can read/write at 100MB/s (nearly saturating gigabit lan) including R4S (e.g. I'm getting >100MB/s with GL-MT6000 and my old WRT32X did 110MB/s).

Could anybody with access to R4S serial logs please try the latest snapshot. Something is completely broken and the R4S does not boot anymore. I tried last weekend and now again ... device does not boot.

Unfortunately I can't take a look at serial logs, but if I had to bet, this could have something to do with git.openwrt.org Git - openwrt/openwrt.git/commit or those initram changes (git.openwrt.org Git - openwrt/openwrt.git/commit),

I further narrowed it down, it is definetely this commit (uboot-rockchip: use u-boot-rockchip.bin by RadxaNaoki Β· Pull Request #15815 Β· openwrt/openwrt (github.com)), R4S can't boot anymore.

Serial logs would still be highly appreciated, maybe they help to fix this commit.

I am using snapshot (r26886) with that patch and it works fine

Sorry, could you clarify? r26886 sounds rather old, current snapshot is r26937. Are you sure that your one includes that patch? If yes, does the current snapshot (r26886) boot on your device?

I have two external USB drives hanging onto the USB ports. I stream from these over the LAN using Minidlna and the associated LuCi app with kodi on my TV

r26886 already included pull request#15815 you mentioned
It work fine on my R4S.

Summary

root@R4S:~# cat /etc/os-release
NAME="OpenWrt"
VERSION="SNAPSHOT"
ID="openwrt"
ID_LIKE="lede openwrt"
PRETTY_NAME="OpenWrt SNAPSHOT"
VERSION_ID="snapshot"
HOME_URL="https://openwrt.org/"
BUG_URL="https://bugs.openwrt.org/"
SUPPORT_URL="https://forum.openwrt.org/"
BUILD_ID="r26886-7bffb3f72b"
OPENWRT_BOARD="rockchip/armv8"
OPENWRT_ARCH="aarch64_generic"
OPENWRT_TAINTS="no-all"
OPENWRT_DEVICE_MANUFACTURER="OpenWrt"
OPENWRT_DEVICE_MANUFACTURER_URL="https://openwrt.org/"
OPENWRT_DEVICE_PRODUCT="Generic"
OPENWRT_DEVICE_REVISION="v0"
OPENWRT_RELEASE="OpenWrt SNAPSHOT r26886-7bffb3f72b"

teq@TeqDesk:~/openwrtrunk$ cat target/linux/rockchip/image/Makefile |grep "u-boot-rockchip.bin"
# alignment padding for the u-boot-rockchip.bin (idbloader + u-boot) to fit:
# Copy the u-boot-rockchip.bin to the image at sector 0x40
dd if="$(STAGING_DIR_IMAGE)"/$(UBOOT_DEVICE_NAME)-u-boot-rockchip.bin of="$@" seek=64 conv=notrunc

To be sure, I upgrade to latest snapshot & it still work fine.

Summary

root@R4S:~# cat /etc/os-release
NAME="OpenWrt"
VERSION="SNAPSHOT"
ID="openwrt"
ID_LIKE="lede openwrt"
PRETTY_NAME="OpenWrt SNAPSHOT"
VERSION_ID="snapshot"
HOME_URL="https://openwrt.org/"
BUG_URL="https://bugs.openwrt.org/"
SUPPORT_URL="https://forum.openwrt.org/"
BUILD_ID="r26943-7f44f8d8d6"
OPENWRT_BOARD="rockchip/armv8"
OPENWRT_ARCH="aarch64_generic"
OPENWRT_TAINTS="no-all"
OPENWRT_DEVICE_MANUFACTURER="OpenWrt"
OPENWRT_DEVICE_MANUFACTURER_URL="https://openwrt.org/"
OPENWRT_DEVICE_PRODUCT="Generic"
OPENWRT_DEVICE_REVISION="v0"
OPENWRT_RELEASE="OpenWrt SNAPSHOT r26943-7f44f8d8d6"