Skip to contentSkip to conversation

dt-bindings: arm: rockchip: Add FriendlyElec NanoPi R28S

PATCH In review Andrey Korshunov 2 participants 4 messages Sep 8 – Sep 9

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/2 dt-bindings: arm: rockchip: Add FriendlyElec NanoPi R28S

The NanoPi R28S is a router board from FriendlyElec with the Rockchip RK3528A SoC.

---
 Documentation/devicetree/bindings/arm/rockchip.yaml | 5 +++++
 1 file changed, 5 insertions(+)
Documentation/devicetree/bindings/arm/rockchip.yaml +5 -0
index a799bb843..1d937795a 100644
@@ -340,6 +340,11 @@ properties:
               - friendlyarm,nanopi-r2s-plus
           - const: rockchip,rk3328
 
+      - description: FriendlyElec NanoPi R28S
+        items:
+          - const: friendlyarm,nanopi-r28s
+          - const: rockchip,rk3528
+
       - description: FriendlyElec NanoPi R3S
         items:
           - const: friendlyarm,nanopi-r3s

base-commit: df2908090cda368b01ff43709f51890076c56157

Signature · 1 line
2.54.0.windows.1
#1 lore raw

PATCH 2/2 arm64: dts: rockchip: Add FriendlyElec NanoPi R28S

The NanoPi R28S is a 45x45 mm router board from FriendlyElec with the Rockchip RK3528A SoC. It has the following features:

- 1GB LPDDR4
- MicroSD card slot
- eMMC module socket
- 1x 1GbE RTL8211F Ethernet on gmac1
- 1x 1GbE RTL8111H Ethernet on the PCIe Gen2 x1 controller
- AICSemi AIC8800D80 Wi-Fi 6 / Bluetooth module on sdio0
- HYM8563 RTC with battery connector
- 1x USB 2.0 Type-C, 5V input and maskrom port
- 1x USB Type-C debug console, uart0 behind a USB-UART bridge
- 2 buttons (User, Maskrom)
- 3 LEDs (SYS, LAN, WAN)

The PHY reset is described on the MAC with snps,reset-gpio rather than in the PHY node. This board leaves the PHY in reset unless the bootloader released it, and of_mdio.c reads the PHY ID with get_phy_device() before phy_device_register() picks up a PHY node's reset-gpios, so described that way the PHY is reported missing and the port never comes up. As mii_bus->reset, stmmac runs it before the bus is scanned and defers the probe until the GPIO controller is available.

---

Tested on the board, booting Armbian images built from this device tree on 7.2.4 and on v7.3-rc2. Both Ethernet ports carry link: stmmac finds the RTL8211F on mdio1, and the RTL8111H enumerates behind the PCIe root port. adc-keys and the HYM8563 RTC probe, and the system runs off the SD card, iozone included.

An earlier build on v7.3-rc1 wedged the SD host - dw_mmc timing out on a bare SDMMC_CMD_UPD_CLK, the card then rescanned in a loop, boots taking minutes or hanging before the rootfs appeared. Neither v7.2.4 nor v7.3-rc2 does that with the same device tree file, so it did not come from here.

dwc3 is the one node not exercised beyond probing - the board's only USB port is the Type-C jack that takes the 5V input and doubles as the maskrom port, so there is nothing for it to talk to.

 arch/arm64/boot/dts/rockchip/Makefile         |   1 +
 .../boot/dts/rockchip/rk3528-nanopi-r28s.dts  | 387 ++++++++++++++++++
 2 files changed, 388 insertions(+)
 create mode 100644 arch/arm64/boot/dts/rockchip/rk3528-nanopi-r28s.dts
arch/arm64/boot/dts/rockchip/Makefile +1 -0
index e7936a21c..12e117159 100644
@@ -94,6 +94,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-vicharak-vaaman.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399pro-rock-pi-n10.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3528-armsom-sige1.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3528-hinlink-h28k.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3528-nanopi-r28s.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3528-nanopi-zero2.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3528-radxa-e20c.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3528-rock-2a.dtb
arch/arm64/boot/dts/rockchip/rk3528-nanopi-r28s.dts new file +387 -0

387 lines not on this page · raw message

Signature · 1 line
2.54.0.windows.1
#2 lore raw
In reply to Andrey Korshunov
Quoted 2 lines · Andrey Korshunov

The NanoPi R28S is a router board from FriendlyElec with the Rockchip RK3528A SoC.

There's already an attempt in the works to upstream NanoPi R28S support:
https://lore.kernel.org/linux-rockchip/[email protected]/

Cheers,
Diederik

Quoted 24 lines
---
 Documentation/devicetree/bindings/arm/rockchip.yaml | 5 +++++
 1 file changed, 5 insertions(+)
Documentation/devicetree/bindings/arm/rockchip.yaml +5 -0
index a799bb843..1d937795a 100644
@@ -340,6 +340,11 @@ properties:
               - friendlyarm,nanopi-r2s-plus
           - const: rockchip,rk3328
 
+      - description: FriendlyElec NanoPi R28S
+        items:
+          - const: friendlyarm,nanopi-r28s
+          - const: rockchip,rk3528
+
       - description: FriendlyElec NanoPi R3S
         items:
           - const: friendlyarm,nanopi-r3s

base-commit: df2908090cda368b01ff43709f51890076c56157

#3 lore raw
Quoted 2 lines · Diederik de Haas

There's already an attempt in the works to upstream NanoPi R28S support:
https://lore.kernel.org/linux-rockchip/[email protected]/

Thanks, I had not seen it - I searched lore before sending, evidently not well enough. That series is further along and covers more of the board, so please drop mine.

I have the hardware and will review and test that one instead. One finding about the PHY reset has gone to patch 2 of that thread.

Andrey