openwrt-pf/target/linux
Grische e54f0353c2
rockchip: add support for FriendlyARM NanoPi R2S Plus
The NanoPi R2S Plus is a NanoPi R2S with on-board eMMC added. The device
tree (rk3328-nanopi-r2s-plus.dts) is already present in kernel 6.12, and
U-Boot support has been present since v2025.01, so neither a kernel DTS
backport nor a U-Boot patch is required.

Hardware
--------
Rockchip RK3328 (4x Cortex-A53, up to 1.4 GHz)
1GB DDR4 RAM
32GB eMMC 5.1
microSD slot (up to 128GB)
1x 1000 Base-T (native, RTL8211F via GMAC) - WAN
1x 1000 Base-T (USB 3.0, RTL8153B) - LAN
Optional M.2 SDIO Wi-Fi
2x USB 2.0 Type-A host
1x USB-C (5V power input, USB device for Maskrom update)
1x USB-C (onboard USB-to-UART debug console, 1500000 bps)
1x serial debug header / UART0 (3.3V TTL, 3-pin 2.54mm)
2 Buttons (GPIO key, Maskrom)
3 LEDs (SYS red, WAN green, LAN green)
DC 5V/2A power
Operating temperature 0 to 70 C

The MAC addresses are derived from the eMMC CID, so they are stable
regardless of whether the device boots from microSD or eMMC.

Installation
------------

On RK3328 the BootROM boots the eMMC before the microSD slot, so the
Maskrom button must be held to boot from microSD while stock firmware is
still on the eMMC.

How to boot from eMMC:

1. Write the uncompressed sysupgrade image to sdcard
2. Hold the "Mask" button while powering on the device
3. Wait until OpenWrt is fully booted
4. Copy the compressed .gz sysupgrade image to the machine's /tmp folder using scp
5. Run: gunzip -c /tmp/openwrt-...-friendlyarm_nanopi-r2s-plus-squashfs-sysupgrade.img.gz | dd of=/dev/mmcblk1 bs=4M conv=fsync
6. Power the device off, remove the sdcard and power it back on

Tested:
- microSD boot (via Maskrom button) and native eMMC boot
- Both Ethernet ports (RTL8211F WAN, RTL8153B LAN)
- eMMC-derived MAC addresses

Signed-off-by: Grische <github@grische.xyz>
Assisted-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Link: https://github.com/openwrt/openwrt/pull/23854
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-29 09:13:34 +02:00
..
airoha airoha: add support for Nokia XG-040G-MD 2026-06-29 02:01:29 +02:00
apm821xx apm821xx: drop support for 6.12 2026-06-14 23:10:51 +02:00
armsr kernel: bump 6.18 to 6.18.36 2026-06-23 09:05:22 +02:00
at91
ath79 irq-ath79-intc: move irq_chip to private struct 2026-06-27 12:07:34 +02:00
bcm27xx kernel: bump 6.12 to 6.12.94 2026-06-23 09:03:54 +02:00
bcm47xx
bcm53xx bcm53xx: nvmem conversions 2026-06-21 20:38:55 +02:00
bcm4908
bmips
d1 kernel: reorder kernel config symbols 2026-06-23 09:03:54 +02:00
econet econet: replace pending patches with upstream backports 2026-06-21 10:55:32 +02:00
gemini
generic kernel: bump 6.18 to 6.18.37 2026-06-28 22:29:48 +02:00
imx
ipq40xx ipq40xx: add beginning space to bootargs-append 2026-06-21 10:50:05 +02:00
ipq806x kernel: fix wrong strlcat call 2026-06-22 11:06:48 +02:00
ixp4xx
kirkwood
lantiq treewide: add linux,rootfs to rootfs labeled partitions 2026-06-14 23:58:17 +02:00
layerscape layerscape: drop 6.12 files 2026-06-26 18:57:52 +02:00
loongarch64
malta
mediatek mediatek: add WD-R3000N-G2A as ALT device for Bazis AX3000WM 2026-06-26 00:09:24 +02:00
microchipsw kernel: bump 6.18 to 6.18.35 2026-06-12 22:15:32 +02:00
mpc85xx kernel: reorder kernel config symbols 2026-06-23 09:03:54 +02:00
mvebu mvebu: add support for Zyxel NAS326 2026-06-24 13:28:59 +02:00
mxs
octeon
omap
pistachio kernel: bump 6.18 to 6.18.35 2026-06-12 22:15:32 +02:00
qoriq
qualcommax qualcommax: ipq807x: Add PCIe support for TP-Link Deco X80-5G 2026-06-23 13:42:55 +02:00
qualcommbe kernel: bump 6.18 to 6.18.37 2026-06-28 22:29:48 +02:00
ramips ramips: add support for ASUS RT-AC85U 2026-06-24 13:31:44 +02:00
realtek realtek: pcs: simplify gray code to binary conversion 2026-06-28 23:44:31 +02:00
rockchip rockchip: add support for FriendlyARM NanoPi R2S Plus 2026-06-29 09:13:34 +02:00
sifiveu
siflower
starfive kernel: bump 6.18 to 6.18.35 2026-06-12 22:15:32 +02:00
stm32
sunxi kernel: reorder kernel config symbols 2026-06-23 09:03:54 +02:00
tegra
uml
x86
zynq zynq: enable NAND support 2026-06-16 20:19:24 +02:00
Makefile