From nobody Fri Sep 25 14:32:12 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D1B5B3FB7F1; Fri, 11 Sep 2026 10:02:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789120979; cv=none; b=e7gWDKlHzNODQl2fRSNzGJZbaziWkxygyvMNJZIDOMpMwyfWEVgtM2F4hXknwBUr3KguQbjCq2f88lvXO69sYlLmjPas5w3Kz3TwIZwfKWU7oBaExpNVUTbdc+YacqSRIzLp6dMB8hBcPG6lExT2cdEj1N9+sgJtKU7aeINRhBU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789120979; c=relaxed/simple; bh=P0YPesrumASY2chPhCTF+pggK8fjgG4J+tY6vpB+8us=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=VUNz/WRWzMGsUy3sQb50J1BqNtG7PH0yvp5/dmuVXAO8lhR6PYrpPLRo78Ib5dOFZl8j7G//E3c3tE52t6ffuWyYRkfAwRTTkHR71uJIPYPl26+J+EaAe9B3O5Y9yZMGexq9+g7KpUQ+kIehcEeZ55sIjKFiP38uBqUDt36IygE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Zh/OEkdJ; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Zh/OEkdJ" Received: by smtp.kernel.org (Postfix) with ESMTPS id BBAB0C2BCF5; Fri, 11 Sep 2026 10:02:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1789120978; bh=P0YPesrumASY2chPhCTF+pggK8fjgG4J+tY6vpB+8us=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=Zh/OEkdJzRJnTqAU21VfvbSCdAxW4U8GCvkTtBPhh0oVmaot+5VgzGg+RHgxD7tX0 PN7qJRzsQbgoLEVKTo/69KPwsYWidvevdk6kiHxm8Sd08Eqv9gJNxTQYmMckuC1xPT JAYkrrgXhgV4w/RypwmlVojzkRRh4X11ZSqYqr4SxSfTwvGdpMCyIkNVvHUEtwKzQk HYWfSpWZR6jIch/NwQ9rfuVJqIMLe8wNPP1BMbIFhqaAnU7d1YHlHkQPsAQij63Hn7 fpjb1DhOTF94LfPiPMMarreS9dSg8dOP1WPBqv6A+RAnJlxJgHa+54QlL+YwQA+uNG b0br4btkWF0sw== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 952C7C88E4C; Fri, 11 Sep 2026 10:02:58 +0000 (UTC) From: =?utf-8?q?=E5=AE=89=E5=AE=B9_via_B4_Relay?= Date: Fri, 11 Sep 2026 18:02:44 +0800 Subject: [PATCH v4 1/4] dt-bindings: arm: rockchip: Add FriendlyElec NanoPi R28S Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260911-r28s-upstream-v4-1-fb6c85f226d4@proton.me> References: <20260911-r28s-upstream-v4-0-fb6c85f226d4@proton.me> In-Reply-To: <20260911-r28s-upstream-v4-0-fb6c85f226d4@proton.me> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner Cc: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, Chukun Pan , Jonas Karlman , jensen , Andrey Korshunov , Diederik de Haas , Conor Dooley , =?utf-8?q?=E5=AE=89=E5=AE=B9?= X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=973; i=HystericalDragons@proton.me; h=from:subject:message-id; bh=Al+UNS9q6dX1IoEkQ1GzieWtXOTRL+F7n2qKNKypKz8=; b=owGbwMvMwCUmepz3XUtTHjvjabUkhqzFFy/2aSt11DMdW9JYU80onHpu8j6Jr5K2PzhMbQ3/R y5z85rYUcrCIMbFICumyCK7qTpSaFX0zCIWqeMwc1iZQIYwcHEKwER0oxj+F7Ct0Fp0vkz+3x+f Ky0CjTYmk/weFHHXrZ/0KMD/bEGtAVDFftGNdfkLVBZnH1Ut3JbzInWZ8uKYtZNKPfy3Hsq6qc0 AAA== X-Developer-Key: i=HystericalDragons@proton.me; a=openpgp; fpr=1DB27B5912AA5B9972041AC715C70DEE84826E07 X-Endpoint-Received: by B4 Relay for HystericalDragons@proton.me/default with auth_id=1004 X-Original-From: =?utf-8?q?=E5=AE=89=E5=AE=B9?= Reply-To: HystericalDragons@proton.me From: =E5=AE=89=E5=AE=B9 The NanoPi R28S is a dual gigabit Ethernet router board based on the Rockchip RK3528 SoC. Acked-by: Conor Dooley Signed-off-by: =E5=AE=89=E5=AE=B9 --- Documentation/devicetree/bindings/arm/rockchip.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Documentation/devicetree/bindings/arm/rockchip.yaml b/Document= ation/devicetree/bindings/arm/rockchip.yaml index 81744fbee9..709e2cc44d 100644 --- a/Documentation/devicetree/bindings/arm/rockchip.yaml +++ b/Documentation/devicetree/bindings/arm/rockchip.yaml @@ -347,6 +347,11 @@ properties: - friendlyarm,nanopi-r2s-plus - const: rockchip,rk3328 =20 + - description: FriendlyElec NanoPi R28S + items: + - const: friendlyarm,nanopi-r28s + - const: rockchip,rk3528 + - description: FriendlyElec NanoPi R3S items: - const: friendlyarm,nanopi-r3s --=20 2.55.0 From nobody Fri Sep 25 14:32:12 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D72AE40EBB6; Fri, 11 Sep 2026 10:02:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789120980; cv=none; b=TJwY0x+9ELCWGRDHnTMBq2WVtGYjG6C5adtLRKsKn0uArcEkj+EESRm5snvYpZb9o+kCt+s7X3UEE9i5DrtHiIUTMkIOLTf4tPNy27BKHmLyqJFwGym4fgcZdU3GbW40UxyAnnQhkfWJOdq+x8WH5k8+e7NBFvP3aYer7LX1Yis= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789120980; c=relaxed/simple; bh=NDFasX7f5O77tue5nZiVpOSge3mAPGUl0jJk43QC0GQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=M70OrodduLBUTDe56qvBE4urutNXQ4FDACaz9FX2y9G+Ub9Mp9rAcjSOrO0YKwIpyAvQftwOQ4mHmcXeEzwPa2z8Fb253ag8O+WHp9dLeDvIpFqlFjeT6X7xSMrgZz3HQEIuh+OBc8Ni4HCCPCkDuyxnG/fLMla6b5F0BL7dkvI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Tkr1lEgH; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Tkr1lEgH" Received: by smtp.kernel.org (Postfix) with ESMTPS id C303DC2BCFB; Fri, 11 Sep 2026 10:02:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1789120978; bh=NDFasX7f5O77tue5nZiVpOSge3mAPGUl0jJk43QC0GQ=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=Tkr1lEgHap+NpXu86YHPBk/T8iCtcM1N2J++4nwBW8MG8WRQA1GY03pOqDnFtXYTH 2f3sD0YuTlPzA066k9bea+jLnZKyiS4Cbvu3m1b4n6y3N9FVAH+BXTp4o4V0UOhcc1 BVe5Rz1NTFQDzaFFLYde9VJ9xv3mDo2iShnX0n/8OZxh7TwVqY5+o4nDAYmAX7q4PR w91vXOAIvrD/T1PMFghEvFjkj9IH5HZF7SM4ut79OPvr8pCBOAarZ7T+n+sQHT2wCc f9a2rxzC/eMAay2tZoikXS3Z9evszpME7U3IzPv+qUYPSEjuzPzEvihTTXnKfG6XG+ yfnuPvvsqgrQQ== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id A5A16C88E4A; Fri, 11 Sep 2026 10:02:58 +0000 (UTC) From: =?utf-8?q?=E5=AE=89=E5=AE=B9_via_B4_Relay?= Date: Fri, 11 Sep 2026 18:02:45 +0800 Subject: [PATCH v4 2/4] arm64: dts: rockchip: Split out the common NanoPi RK3528 parts Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260911-r28s-upstream-v4-2-fb6c85f226d4@proton.me> References: <20260911-r28s-upstream-v4-0-fb6c85f226d4@proton.me> In-Reply-To: <20260911-r28s-upstream-v4-0-fb6c85f226d4@proton.me> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner Cc: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, Chukun Pan , Jonas Karlman , jensen , Andrey Korshunov , Diederik de Haas , =?utf-8?q?=E5=AE=89=E5=AE=B9?= X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=14628; i=HystericalDragons@proton.me; h=from:subject:message-id; bh=VQNKFK/7WLlIKiODmRr2dRbp9QoC8D3CcasFo2DcVuU=; b=owGbwMvMwCUmepz3XUtTHjvjabUkhqzFFy9W/pGYalH0tmH5jrLrRzf+Xv/VOyTfc+Jd244Dq 9tvOjS87ihlYRDjYpAVU2SR3VQdKbQqemYRi9RxmDmsTCBDGLg4BWAiEzcy/M+I/SG99h2XwIZv Hpn9Vlvu3Z07oaFgzU6R8GOJCad2a0QwMrzjlDuxUH9FzOfZU0U1WEx+GTksOy6gOWf6h3qLOew TDFkB X-Developer-Key: i=HystericalDragons@proton.me; a=openpgp; fpr=1DB27B5912AA5B9972041AC715C70DEE84826E07 X-Endpoint-Received: by B4 Relay for HystericalDragons@proton.me/default with auth_id=1004 X-Original-From: =?utf-8?q?=E5=AE=89=E5=AE=B9?= Reply-To: HystericalDragons@proton.me From: =E5=AE=89=E5=AE=B9 The FriendlyElec NanoPi Zero2 and the NanoPi R28S share their power tree, storage, RGMII Ethernet, RTC and debug console. Move those parts into rk3528-nanopi.dtsi so the NanoPi R28S can reuse them, and leave only the board specific nodes in the NanoPi Zero2 devicetree. Suggested-by: Chukun Pan Signed-off-by: =E5=AE=89=E5=AE=B9 --- .../boot/dts/rockchip/rk3528-nanopi-zero2.dts | 271 +----------------= --- arch/arm64/boot/dts/rockchip/rk3528-nanopi.dtsi | 279 +++++++++++++++++= ++++ 2 files changed, 280 insertions(+), 270 deletions(-) diff --git a/arch/arm64/boot/dts/rockchip/rk3528-nanopi-zero2.dts b/arch/ar= m64/boot/dts/rockchip/rk3528-nanopi-zero2.dts index 97d85124d2..48e4273872 100644 --- a/arch/arm64/boot/dts/rockchip/rk3528-nanopi-zero2.dts +++ b/arch/arm64/boot/dts/rockchip/rk3528-nanopi-zero2.dts @@ -2,41 +2,13 @@ =20 /dts-v1/; =20 -#include #include -#include -#include "rk3528.dtsi" +#include "rk3528-nanopi.dtsi" =20 / { model =3D "FriendlyElec NanoPi Zero2"; compatible =3D "friendlyarm,nanopi-zero2", "rockchip,rk3528"; =20 - aliases { - ethernet0 =3D &gmac1; - i2c1 =3D &i2c1; - mmc0 =3D &sdhci; - mmc1 =3D &sdmmc; - serial0 =3D &uart0; - }; - - chosen { - stdout-path =3D "serial0:1500000n8"; - }; - - adc-keys-0 { - compatible =3D "adc-keys"; - io-channels =3D <&saradc 0>; - io-channel-names =3D "buttons"; - keyup-threshold-microvolt =3D <1800000>; - poll-interval =3D <100>; - - button-maskrom { - label =3D "MASK"; - linux,code =3D ; - press-threshold-microvolt =3D <0>; - }; - }; - adc-keys-1 { compatible =3D "adc-keys"; io-channels =3D <&saradc 1>; @@ -83,66 +55,6 @@ vcc0v6_ddr: regulator-0v6-vcc-ddr { vin-supply =3D <&vcc5v0_sys>; }; =20 - vdd_0v9: regulator-0v9-vdd { - compatible =3D "regulator-fixed"; - regulator-name =3D "vdd_0v9"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt =3D <900000>; - regulator-max-microvolt =3D <900000>; - vin-supply =3D <&vcc5v0_sys>; - }; - - vcc_ddr: regulator-1v1-vcc-ddr { - compatible =3D "regulator-fixed"; - regulator-name =3D "vcc_ddr"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt =3D <1100000>; - regulator-max-microvolt =3D <1100000>; - vin-supply =3D <&vcc5v0_sys>; - }; - - vcc_1v8: regulator-1v8-vcc { - compatible =3D "regulator-fixed"; - regulator-name =3D "vcc_1v8"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt =3D <1800000>; - regulator-max-microvolt =3D <1800000>; - vin-supply =3D <&vcc_3v3>; - }; - - vcc_3v3: regulator-3v3-vcc { - compatible =3D "regulator-fixed"; - regulator-name =3D "vcc_3v3"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt =3D <3300000>; - regulator-max-microvolt =3D <3300000>; - vin-supply =3D <&vcc5v0_sys>; - }; - - vcc3v3_sd: regulator-3v3-vcc-sd { - compatible =3D "regulator-fixed"; - gpios =3D <&gpio4 RK_PA1 GPIO_ACTIVE_LOW>; - pinctrl-names =3D "default"; - pinctrl-0 =3D <&sdmmc_pwren_l>; - regulator-name =3D "vcc3v3_sd"; - regulator-min-microvolt =3D <3300000>; - regulator-max-microvolt =3D <3300000>; - vin-supply =3D <&vcc_3v3>; - }; - - vcc5v0_sys: regulator-5v0-vcc-sys { - compatible =3D "regulator-fixed"; - regulator-name =3D "vcc5v0_sys"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt =3D <5000000>; - regulator-max-microvolt =3D <5000000>; - }; - usb2_host_5v: regulator-5v0-usb2-host { compatible =3D "regulator-fixed"; enable-active-high; @@ -154,112 +66,9 @@ usb2_host_5v: regulator-5v0-usb2-host { regulator-max-microvolt =3D <5000000>; vin-supply =3D <&vcc5v0_sys>; }; - - vccio_sd: regulator-vccio-sd { - compatible =3D "regulator-gpio"; - gpios =3D <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>; - pinctrl-names =3D "default"; - pinctrl-0 =3D <&sdmmc_vol_ctrl_h>; - regulator-name =3D "vccio_sd"; - regulator-min-microvolt =3D <1800000>; - regulator-max-microvolt =3D <3300000>; - states =3D <1800000 0x0>, <3300000 0x1>; - vin-supply =3D <&vcc5v0_sys>; - }; - - vdd_arm: regulator-vdd-arm { - compatible =3D "pwm-regulator"; - pwms =3D <&pwm1 0 5000 PWM_POLARITY_INVERTED>; - pwm-supply =3D <&vcc5v0_sys>; - regulator-name =3D "vdd_arm"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt =3D <746000>; - regulator-max-microvolt =3D <1201000>; - regulator-settling-time-up-us =3D <250>; - }; - - vdd_logic: regulator-vdd-logic { - compatible =3D "pwm-regulator"; - pwms =3D <&pwm2 0 5000 PWM_POLARITY_INVERTED>; - pwm-supply =3D <&vcc5v0_sys>; - regulator-name =3D "vdd_logic"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt =3D <705000>; - regulator-max-microvolt =3D <1006000>; - regulator-settling-time-up-us =3D <250>; - }; -}; - -&cpu0 { - cpu-supply =3D <&vdd_arm>; -}; - -&cpu1 { - cpu-supply =3D <&vdd_arm>; -}; - -&cpu2 { - cpu-supply =3D <&vdd_arm>; -}; - -&cpu3 { - cpu-supply =3D <&vdd_arm>; -}; - -&gmac1 { - clock_in_out =3D "output"; - phy-handle =3D <&rgmii_phy>; - phy-mode =3D "rgmii-id"; - phy-supply =3D <&vcc_3v3>; - pinctrl-names =3D "default"; - pinctrl-0 =3D <&rgmii_miim>, <&rgmii_tx_bus2>, <&rgmii_rx_bus2>, - <&rgmii_rgmii_clk>, <&rgmii_rgmii_bus>; - status =3D "okay"; -}; - -&gpu { - mali-supply =3D <&vdd_logic>; - status =3D "okay"; -}; - -&i2c1 { - pinctrl-names =3D "default"; - pinctrl-0 =3D <&i2c1m0_xfer>; - status =3D "okay"; - - hym8563: rtc@51 { - compatible =3D "haoyu,hym8563"; - reg =3D <0x51>; - #clock-cells =3D <0>; - interrupt-parent =3D <&gpio4>; - interrupts =3D ; - pinctrl-names =3D "default"; - pinctrl-0 =3D <&rtc_int_l>; - wakeup-source; - }; -}; - -&mdio1 { - rgmii_phy: ethernet-phy@1 { - compatible =3D "ethernet-phy-ieee802.3-c22"; - reg =3D <0x1>; - pinctrl-names =3D "default"; - pinctrl-0 =3D <&gmac1_rstn_l>; - reset-assert-us =3D <20000>; - reset-deassert-us =3D <100000>; - reset-gpios =3D <&gpio4 RK_PC2 GPIO_ACTIVE_LOW>; - }; }; =20 &pinctrl { - ethernet { - gmac1_rstn_l: gmac1-rstn-l { - rockchip,pins =3D <4 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>; - }; - }; - leds { led1: led1 { rockchip,pins =3D <4 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; @@ -270,22 +79,6 @@ led_sys: led-sys { }; }; =20 - rtc { - rtc_int_l: rtc-int-l { - rockchip,pins =3D <4 RK_PC1 RK_FUNC_GPIO &pcfg_pull_up>; - }; - }; - - sdmmc { - sdmmc_vol_ctrl_h: sdmmc-vol-ctrl-h { - rockchip,pins =3D <4 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>; - }; - - sdmmc_pwren_l: sdmmc-pwren-l { - rockchip,pins =3D <4 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>; - }; - }; - usb { usb20_host1_pwren: usb20-host1-pwren { rockchip,pins =3D <4 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; @@ -293,52 +86,6 @@ usb20_host1_pwren: usb20-host1-pwren { }; }; =20 -&pwm1 { - pinctrl-names =3D "default"; - pinctrl-0 =3D <&pwm1m0_pins>; - status =3D "okay"; -}; - -&pwm2 { - pinctrl-names =3D "default"; - pinctrl-0 =3D <&pwm2m0_pins>; - status =3D "okay"; -}; - -&saradc { - vref-supply =3D <&vcc_1v8>; - status =3D "okay"; -}; - -&sdhci { - bus-width =3D <8>; - cap-mmc-highspeed; - mmc-hs200-1_8v; - no-sd; - no-sdio; - non-removable; - vmmc-supply =3D <&vcc_3v3>; - vqmmc-supply =3D <&vcc_1v8>; - status =3D "okay"; -}; - -&sdmmc { - bus-width =3D <4>; - cap-mmc-highspeed; - cap-sd-highspeed; - disable-wp; - sd-uhs-sdr104; - vmmc-supply =3D <&vcc3v3_sd>; - vqmmc-supply =3D <&vccio_sd>; - status =3D "okay"; -}; - -&uart0 { - pinctrl-names =3D "default"; - pinctrl-0 =3D <&uart0m0_xfer>; - status =3D "okay"; -}; - &usb_host0_ehci { status =3D "okay"; }; @@ -347,23 +94,7 @@ &usb_host0_ohci { status =3D "okay"; }; =20 -&usb_host0_xhci { - extcon =3D <&usb2phy>; - maximum-speed =3D "high-speed"; - phys =3D <&usb2phy_otg>; - phy-names =3D "usb2-phy"; - status =3D "okay"; -}; - -&usb2phy { - status =3D "okay"; -}; - &usb2phy_host { phy-supply =3D <&usb2_host_5v>; status =3D "okay"; }; - -&usb2phy_otg { - status =3D "okay"; -}; diff --git a/arch/arm64/boot/dts/rockchip/rk3528-nanopi.dtsi b/arch/arm64/b= oot/dts/rockchip/rk3528-nanopi.dtsi new file mode 100644 index 0000000000..8d9d0056a0 --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/rk3528-nanopi.dtsi @@ -0,0 +1,279 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Common parts of the FriendlyElec RK3528 boards: NanoPi Zero2 and NanoPi= R28S. + */ + +#include +#include +#include "rk3528.dtsi" + +/ { + aliases { + ethernet0 =3D &gmac1; + i2c1 =3D &i2c1; + mmc0 =3D &sdhci; + mmc1 =3D &sdmmc; + serial0 =3D &uart0; + }; + + chosen { + stdout-path =3D "serial0:1500000n8"; + }; + + adc-keys-0 { + compatible =3D "adc-keys"; + io-channels =3D <&saradc 0>; + io-channel-names =3D "buttons"; + keyup-threshold-microvolt =3D <1800000>; + poll-interval =3D <100>; + + button-maskrom { + label =3D "MASK"; + linux,code =3D ; + press-threshold-microvolt =3D <0>; + }; + }; + + vdd_0v9: regulator-0v9-vdd { + compatible =3D "regulator-fixed"; + regulator-name =3D "vdd_0v9"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt =3D <900000>; + regulator-max-microvolt =3D <900000>; + vin-supply =3D <&vcc5v0_sys>; + }; + + vcc_ddr: regulator-1v1-vcc-ddr { + compatible =3D "regulator-fixed"; + regulator-name =3D "vcc_ddr"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt =3D <1100000>; + regulator-max-microvolt =3D <1100000>; + vin-supply =3D <&vcc5v0_sys>; + }; + + vcc_1v8: regulator-1v8-vcc { + compatible =3D "regulator-fixed"; + regulator-name =3D "vcc_1v8"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + vin-supply =3D <&vcc_3v3>; + }; + + vcc_3v3: regulator-3v3-vcc { + compatible =3D "regulator-fixed"; + regulator-name =3D "vcc_3v3"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + vin-supply =3D <&vcc5v0_sys>; + }; + + vcc3v3_sd: regulator-3v3-vcc-sd { + compatible =3D "regulator-fixed"; + gpios =3D <&gpio4 RK_PA1 GPIO_ACTIVE_LOW>; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&sdmmc_pwren_l>; + regulator-name =3D "vcc3v3_sd"; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + vin-supply =3D <&vcc_3v3>; + }; + + vcc5v0_sys: regulator-5v0-vcc-sys { + compatible =3D "regulator-fixed"; + regulator-name =3D "vcc5v0_sys"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt =3D <5000000>; + regulator-max-microvolt =3D <5000000>; + }; + + vccio_sd: regulator-vccio-sd { + compatible =3D "regulator-gpio"; + gpios =3D <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&sdmmc_vol_ctrl_h>; + regulator-name =3D "vccio_sd"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <3300000>; + states =3D <1800000 0x0>, <3300000 0x1>; + vin-supply =3D <&vcc5v0_sys>; + }; + + vdd_arm: regulator-vdd-arm { + compatible =3D "pwm-regulator"; + pwms =3D <&pwm1 0 5000 PWM_POLARITY_INVERTED>; + pwm-supply =3D <&vcc5v0_sys>; + regulator-name =3D "vdd_arm"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt =3D <746000>; + regulator-max-microvolt =3D <1201000>; + regulator-settling-time-up-us =3D <250>; + }; + + vdd_logic: regulator-vdd-logic { + compatible =3D "pwm-regulator"; + pwms =3D <&pwm2 0 5000 PWM_POLARITY_INVERTED>; + pwm-supply =3D <&vcc5v0_sys>; + regulator-name =3D "vdd_logic"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt =3D <705000>; + regulator-max-microvolt =3D <1006000>; + regulator-settling-time-up-us =3D <250>; + }; +}; + +&cpu0 { + cpu-supply =3D <&vdd_arm>; +}; + +&cpu1 { + cpu-supply =3D <&vdd_arm>; +}; + +&cpu2 { + cpu-supply =3D <&vdd_arm>; +}; + +&cpu3 { + cpu-supply =3D <&vdd_arm>; +}; + +&gmac1 { + clock_in_out =3D "output"; + phy-handle =3D <&rgmii_phy>; + phy-mode =3D "rgmii-id"; + phy-supply =3D <&vcc_3v3>; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&rgmii_miim>, <&rgmii_tx_bus2>, <&rgmii_rx_bus2>, + <&rgmii_rgmii_clk>, <&rgmii_rgmii_bus>; + status =3D "okay"; +}; + +&gpu { + mali-supply =3D <&vdd_logic>; + status =3D "okay"; +}; + +&i2c1 { + pinctrl-names =3D "default"; + pinctrl-0 =3D <&i2c1m0_xfer>; + status =3D "okay"; + + hym8563: rtc@51 { + compatible =3D "haoyu,hym8563"; + reg =3D <0x51>; + #clock-cells =3D <0>; + interrupt-parent =3D <&gpio4>; + interrupts =3D ; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&rtc_int_l>; + wakeup-source; + }; +}; + +&mdio1 { + rgmii_phy: ethernet-phy@1 { + compatible =3D "ethernet-phy-ieee802.3-c22"; + reg =3D <0x1>; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&gmac1_rstn_l>; + reset-assert-us =3D <20000>; + reset-deassert-us =3D <100000>; + reset-gpios =3D <&gpio4 RK_PC2 GPIO_ACTIVE_LOW>; + }; +}; + +&pinctrl { + ethernet { + gmac1_rstn_l: gmac1-rstn-l { + rockchip,pins =3D <4 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + + rtc { + rtc_int_l: rtc-int-l { + rockchip,pins =3D <4 RK_PC1 RK_FUNC_GPIO &pcfg_pull_up>; + }; + }; + + sdmmc { + sdmmc_pwren_l: sdmmc-pwren-l { + rockchip,pins =3D <4 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>; + }; + + sdmmc_vol_ctrl_h: sdmmc-vol-ctrl-h { + rockchip,pins =3D <4 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; +}; + +&pwm1 { + pinctrl-names =3D "default"; + pinctrl-0 =3D <&pwm1m0_pins>; + status =3D "okay"; +}; + +&pwm2 { + pinctrl-names =3D "default"; + pinctrl-0 =3D <&pwm2m0_pins>; + status =3D "okay"; +}; + +&saradc { + vref-supply =3D <&vcc_1v8>; + status =3D "okay"; +}; + +&sdhci { + bus-width =3D <8>; + cap-mmc-highspeed; + mmc-hs200-1_8v; + no-sd; + no-sdio; + non-removable; + vmmc-supply =3D <&vcc_3v3>; + vqmmc-supply =3D <&vcc_1v8>; + status =3D "okay"; +}; + +&sdmmc { + bus-width =3D <4>; + cap-mmc-highspeed; + cap-sd-highspeed; + disable-wp; + sd-uhs-sdr104; + vmmc-supply =3D <&vcc3v3_sd>; + vqmmc-supply =3D <&vccio_sd>; + status =3D "okay"; +}; + +&uart0 { + pinctrl-names =3D "default"; + pinctrl-0 =3D <&uart0m0_xfer>; + status =3D "okay"; +}; + +&usb_host0_xhci { + extcon =3D <&usb2phy>; + maximum-speed =3D "high-speed"; + phys =3D <&usb2phy_otg>; + phy-names =3D "usb2-phy"; + status =3D "okay"; +}; + +&usb2phy { + status =3D "okay"; +}; + +&usb2phy_otg { + status =3D "okay"; +}; --=20 2.55.0 From nobody Fri Sep 25 14:32:12 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D492140B11C; Fri, 11 Sep 2026 10:02:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789120980; cv=none; b=ujAfR5OEK0/D0tZpHpl5zq/Rx+Ik3Xm/K3Iq83rF83FFN9KKc5rMV1zhBKCKzs91QvnLUtiDgETuvLramAANwMqKAE+T+BeJPTGtn2gNg5hFzefQrq4c3EFlWeHE5vdULcypnq8AKV8LJaM5U5TfxAaJ7+G7NLOAlzCjUS8L37w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789120980; c=relaxed/simple; bh=2KNTYkdkwbMyC1miCU9A7MtRFj+4xeC0pWYwDxENZQo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=sKXDO4nnwWElbE59cznwSMwB3G76R157dg29OPH3wda86mhw8Qizx10zJqEwhqAvvD2jKLJaS8ZgI+0wxiYQTQn/IJyfmmeyBKbVbTbIW7duBfe2m0/Ldd+M/Y+4qpAMdtQ96/4LAbETY9zLmVKGjeEejBk1y7eROFdsKatE394= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=uI73urZA; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="uI73urZA" Received: by smtp.kernel.org (Postfix) with ESMTPS id D335FC2BCFC; Fri, 11 Sep 2026 10:02:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1789120978; bh=2KNTYkdkwbMyC1miCU9A7MtRFj+4xeC0pWYwDxENZQo=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=uI73urZAxsQkHORAyZ69pU8W7sEBzfniRl56qEk2oaXJ61UzL9ZacIcg33/EDsC7H 7jCYcS6wzhCJ0yZPtf5zdv0AEMnORU5e1iZjDrcm4tV5A5YkypsPB7xlV0I/2iMblm wbbUo3cbQ4BAckkP9Zu1xFzfqbanesZ3NQMIJPmmjUwBKIkbi1r+H0M2aJdS6FXAhE tsD9A4I2u00MQJV3vBo5XP0QwSPpPOlHJ+g4KQYv/RGacZKWmPbQhBCrMfeC1XpUFM Pxod0YRMEZ5EQdMG8sizLh5KSx4v8UrkU8zjPbsCtDveOenwWDrkHKuRYxWBuZJKNE TGWxeEwoUJ2Vg== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id B6938C88E54; Fri, 11 Sep 2026 10:02:58 +0000 (UTC) From: =?utf-8?q?=E5=AE=89=E5=AE=B9_via_B4_Relay?= Date: Fri, 11 Sep 2026 18:02:46 +0800 Subject: [PATCH v4 3/4] arm64: dts: rockchip: Add devicetree for the FriendlyElec NanoPi R28S Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260911-r28s-upstream-v4-3-fb6c85f226d4@proton.me> References: <20260911-r28s-upstream-v4-0-fb6c85f226d4@proton.me> In-Reply-To: <20260911-r28s-upstream-v4-0-fb6c85f226d4@proton.me> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner Cc: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, Chukun Pan , Jonas Karlman , jensen , Andrey Korshunov , Diederik de Haas , =?utf-8?q?=E5=AE=89=E5=AE=B9?= X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=4990; i=HystericalDragons@proton.me; h=from:subject:message-id; bh=j++VVr66sof9dIz+MZMFxHmP6yNpmBPeXTV3BFcBNuk=; b=owGbwMvMwCUmepz3XUtTHjvjabUkhqzFFy9y9Mt7MoYdTxGTDdA6biobLdSzTeS44WWpr4EaB VWiN5Z0lLIwiHExyIopsshuqo4UWhU9s4hF6jjMHFYmkCEMXJwCMBGx44wMS7mcDS8tU339fVHa BZdZpqdi2r8XulbOleqVX/FmYWINN8P/JOG6B1HfNa6/3PCuluHLvVBbuUClqt5fX7TuvxLkKfz ABwA= X-Developer-Key: i=HystericalDragons@proton.me; a=openpgp; fpr=1DB27B5912AA5B9972041AC715C70DEE84826E07 X-Endpoint-Received: by B4 Relay for HystericalDragons@proton.me/default with auth_id=1004 X-Original-From: =?utf-8?q?=E5=AE=89=E5=AE=B9?= Reply-To: HystericalDragons@proton.me From: =E5=AE=89=E5=AE=B9 The NanoPi R28S is a dual gigabit Ethernet router board based on the Rockchip RK3528 SoC, designed and developed by FriendlyElec. It shares most of its design with the NanoPi Zero2, so it builds on the common rk3528-nanopi.dtsi. Specification: - Rockchip RK3528 - 1GB RAM - eMMC socket (optional) - MicroSD slot - 1x 1000Base-T (GMAC1, Realtek RTL8211F) - 1x 1000Base-T (PCIe, Realtek RTL8111H) - AICSemi AIC8800D80 SDIO WiFi - 3x LEDs (SYS, LAN, WAN) - 1x USB 2.0 Type-C, peripheral only, shared with the 5V power input - User and MaskROM buttons - Haoyu HYM8563 RTC - 1x USB Type-C debug UART (onboard WCH CH340E) Assisted-by: LLM Signed-off-by: =E5=AE=89=E5=AE=B9 --- arch/arm64/boot/dts/rockchip/Makefile | 1 + .../arm64/boot/dts/rockchip/rk3528-nanopi-r28s.dts | 145 +++++++++++++++++= ++++ 2 files changed, 146 insertions(+) diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/ro= ckchip/Makefile index b677914cd3..51a9889088 100644 --- a/arch/arm64/boot/dts/rockchip/Makefile +++ b/arch/arm64/boot/dts/rockchip/Makefile @@ -94,6 +94,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3399-vicharak-vaaman.d= tb dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3399pro-rock-pi-n10.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3528-armsom-sige1.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3528-hinlink-h28k.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3528-nanopi-r28s.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3528-nanopi-zero2.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3528-radxa-e20c.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3528-rock-2a.dtb diff --git a/arch/arm64/boot/dts/rockchip/rk3528-nanopi-r28s.dts b/arch/arm= 64/boot/dts/rockchip/rk3528-nanopi-r28s.dts new file mode 100644 index 0000000000..6ad45d91cb --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/rk3528-nanopi-r28s.dts @@ -0,0 +1,145 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (c) 2022 Rockchip Electronics Co., Ltd. + * Copyright (c) 2026 FriendlyElec Computer Tech. Co., Ltd. + * Copyright (c) 2026 =E5=AE=89=E5=AE=B9 + */ + +/dts-v1/; + +#include +#include "rk3528-nanopi.dtsi" + +/ { + model =3D "FriendlyElec NanoPi R28S"; + compatible =3D "friendlyarm,nanopi-r28s", "rockchip,rk3528"; + + aliases { + mmc2 =3D &sdio0; + }; + + gpio-keys { + compatible =3D "gpio-keys"; + pinctrl-0 =3D <&usr_btn>; + pinctrl-names =3D "default"; + + button-user { + debounce-interval =3D <50>; + gpios =3D <&gpio4 RK_PB2 GPIO_ACTIVE_LOW>; + label =3D "USER"; + linux,code =3D ; + wakeup-source; + }; + }; + + leds { + compatible =3D "gpio-leds"; + pinctrl-0 =3D <&led1>, <&led2>, <&led_sys>; + pinctrl-names =3D "default"; + + led-lan { + color =3D ; + default-state =3D "off"; + function =3D LED_FUNCTION_LAN; + gpios =3D <&gpio4 RK_PB3 GPIO_ACTIVE_HIGH>; + linux,default-trigger =3D "netdev"; + }; + + led-sys { + color =3D ; + default-state =3D "on"; + function =3D LED_FUNCTION_HEARTBEAT; + gpios =3D <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>; + linux,default-trigger =3D "heartbeat"; + }; + + led-wan { + color =3D ; + default-state =3D "off"; + function =3D LED_FUNCTION_WAN; + gpios =3D <&gpio4 RK_PB1 GPIO_ACTIVE_HIGH>; + linux,default-trigger =3D "netdev"; + }; + }; + + sdio_pwrseq: sdio-pwrseq { + compatible =3D "mmc-pwrseq-simple"; + pinctrl-0 =3D <&pwr_wf>; + pinctrl-names =3D "default"; + post-power-on-delay-ms =3D <100>; + reset-gpios =3D <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>; + }; +}; + +&combphy { + status =3D "okay"; +}; + +&pcie { + pinctrl-0 =3D <&pcie_eth_perstb>; + pinctrl-names =3D "default"; + reset-gpios =3D <&gpio4 RK_PC0 GPIO_ACTIVE_HIGH>; + vpcie3v3-supply =3D <&vcc_3v3>; + + status =3D "okay"; +}; + +&pinctrl { + gpio-keys { + usr_btn: usr-btn { + rockchip,pins =3D <4 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>; + }; + }; + + leds { + led1: led1 { + rockchip,pins =3D <4 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; + }; + + led2: led2 { + rockchip,pins =3D <4 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>; + }; + + led_sys: led-sys { + rockchip,pins =3D <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + + pcie { + pcie_eth_perstb: pcie-eth-perstb { + rockchip,pins =3D <4 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + + wifi { + pwr_wf: pwr-wf { + rockchip,pins =3D <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; +}; + +&sdio0 { + bus-width =3D <4>; + cap-sd-highspeed; + cap-sdio-irq; + keep-power-in-suspend; + mmc-pwrseq =3D <&sdio_pwrseq>; + non-removable; + sd-uhs-sdr104; + vqmmc-supply =3D <&vcc_1v8>; + + status =3D "okay"; +}; + +&uart2 { + pinctrl-0 =3D <&uart2m1_xfer>, <&uart2m1_ctsn>, <&uart2m1_rtsn>; + pinctrl-names =3D "default"; + uart-has-rtscts; + + status =3D "okay"; +}; + +&usb_host0_xhci { + /* Type-C port, shared with the 5V power input */ + dr_mode =3D "peripheral"; +}; --=20 2.55.0 From nobody Fri Sep 25 14:32:12 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D4814406261; Fri, 11 Sep 2026 10:02:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789120980; cv=none; b=CVomwuVs9/YX2ElkXgCKM+ffMgnC0yEdb+Hb3MrG3kO7BjAO8J9ESTjASn/5xCvUyBxcRCK8OE1/85QZuOaHOZ9M9FZkI76jDjvCx8G3RoTkVLLbXazlY6OJmetGqK0imudf0D35lxo/1a0ZVOmtt7avCMe5wUxfQ+BaR7L2aIQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789120980; c=relaxed/simple; bh=5iXK6DRlAgCbx3CXIhr2d6B698dcp/MdpOxPxG9gQPw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Sf3DpRCZXQtzEA0djan2IbH78+zPOjkxWBT8nBn7y0Co6FI7sHIbANq5CNhk0Xj2jmHbq1ou3lwS2DJGciVmXQnivHitzlgtM8EO9gbAx7oH8tCCFwe9K21w6dQUGqsl3WPNUmfYnK9fwq/XJSq0XFpGEzvl7+9YxTmYHJBmSdY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=AqZE+E+0; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="AqZE+E+0" Received: by smtp.kernel.org (Postfix) with ESMTPS id DB26EC2BCFF; Fri, 11 Sep 2026 10:02:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1789120978; bh=5iXK6DRlAgCbx3CXIhr2d6B698dcp/MdpOxPxG9gQPw=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=AqZE+E+0+neKjQfx9ZJ/p3++yxm9Iopx0BjxS1ESitbrxD3hhchCb3od6DbYcqALF Tpf65SPihag60McWiXiKe72Ur3Qhdxq6OM3GNktbMY+BCYQoO4+Zz0M3MApeMZtBK1 /4mw+CVs+mHuyXgG1Dldc3BIwaRKjM08XOm7KJePsyGUb10pWfsz0bs0YdUugZybia Ze3chqYFLQjQBWF3YCdEQ1zSOjf7ZBSCnoUmDFkmSHkQDw/7SSHbLLyfDXkeSKW8gy MsCxtT4rUw4lfic2bEfrql30pO73nqpNFJ7a+lmywzBYvE2CREn/z2VyPoLyB65jf4 8g8Hj0GBAoC3A== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id C759BC88E50; Fri, 11 Sep 2026 10:02:58 +0000 (UTC) From: =?utf-8?q?=E5=AE=89=E5=AE=B9_via_B4_Relay?= Date: Fri, 11 Sep 2026 18:02:47 +0800 Subject: [PATCH v4 4/4] arm64: dts: rockchip: Follow the DTS coding style in the NanoPi RK3528 devicetrees Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260911-r28s-upstream-v4-4-fb6c85f226d4@proton.me> References: <20260911-r28s-upstream-v4-0-fb6c85f226d4@proton.me> In-Reply-To: <20260911-r28s-upstream-v4-0-fb6c85f226d4@proton.me> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner Cc: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, Chukun Pan , Jonas Karlman , jensen , Andrey Korshunov , Diederik de Haas , =?utf-8?q?=E5=AE=89=E5=AE=B9?= X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=4850; i=HystericalDragons@proton.me; h=from:subject:message-id; bh=ssKzAfVkZddHv0qc5wz7c3QaYBjTBYQe4UupIr5CUEY=; b=owGbwMvMwCUmepz3XUtTHjvjabUkhqzFFy9+KLo6+ZL4fqtvb74viDw+reyCmPCH2bs/v/AWP fWdTfX35Y5SFgYxLgZZMUUW2U3VkUKromcWsUgdh5nDygQyhIGLUwAmsqaLkWHDptofRaYf9yje k2+q6eeenPzs4Ba53wwrDv3eksZTXXOOkeG4wEO5KPFrLukawpxbZIW9ZrHKBd/j/TL/Qf6pZXt n32IHAA== X-Developer-Key: i=HystericalDragons@proton.me; a=openpgp; fpr=1DB27B5912AA5B9972041AC715C70DEE84826E07 X-Endpoint-Received: by B4 Relay for HystericalDragons@proton.me/default with auth_id=1004 X-Original-From: =?utf-8?q?=E5=AE=89=E5=AE=B9?= Reply-To: HystericalDragons@proton.me From: =E5=AE=89=E5=AE=B9 The shared NanoPi RK3528 devicetree and the NanoPi Zero2 board devicetree deviate from Documentation/devicetree/bindings/dts-coding-style.rst in two places: "pinctrl-0" has to sort before "pinctrl-names", and "status" has to be preceded by a blank line when the node has content before it. Sort the properties and add the missing blank lines. No functional changes. Suggested-by: Diederik de Haas Signed-off-by: =E5=AE=89=E5=AE=B9 --- .../boot/dts/rockchip/rk3528-nanopi-zero2.dts | 5 ++-- arch/arm64/boot/dts/rockchip/rk3528-nanopi.dtsi | 28 +++++++++++++++---= ---- 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/arch/arm64/boot/dts/rockchip/rk3528-nanopi-zero2.dts b/arch/ar= m64/boot/dts/rockchip/rk3528-nanopi-zero2.dts index 48e4273872..96c537da6a 100644 --- a/arch/arm64/boot/dts/rockchip/rk3528-nanopi-zero2.dts +++ b/arch/arm64/boot/dts/rockchip/rk3528-nanopi-zero2.dts @@ -25,8 +25,8 @@ button-recovery { =20 leds { compatible =3D "gpio-leds"; - pinctrl-names =3D "default"; pinctrl-0 =3D <&led1>, <&led_sys>; + pinctrl-names =3D "default"; =20 led-0 { color =3D ; @@ -59,8 +59,8 @@ usb2_host_5v: regulator-5v0-usb2-host { compatible =3D "regulator-fixed"; enable-active-high; gpios =3D <&gpio4 RK_PB5 GPIO_ACTIVE_HIGH>; - pinctrl-names =3D "default"; pinctrl-0 =3D <&usb20_host1_pwren>; + pinctrl-names =3D "default"; regulator-name =3D "usb2_host_5v"; regulator-min-microvolt =3D <5000000>; regulator-max-microvolt =3D <5000000>; @@ -96,5 +96,6 @@ &usb_host0_ohci { =20 &usb2phy_host { phy-supply =3D <&usb2_host_5v>; + status =3D "okay"; }; diff --git a/arch/arm64/boot/dts/rockchip/rk3528-nanopi.dtsi b/arch/arm64/b= oot/dts/rockchip/rk3528-nanopi.dtsi index 8d9d0056a0..fa9df4d8f4 100644 --- a/arch/arm64/boot/dts/rockchip/rk3528-nanopi.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3528-nanopi.dtsi @@ -77,8 +77,8 @@ vcc_3v3: regulator-3v3-vcc { vcc3v3_sd: regulator-3v3-vcc-sd { compatible =3D "regulator-fixed"; gpios =3D <&gpio4 RK_PA1 GPIO_ACTIVE_LOW>; - pinctrl-names =3D "default"; pinctrl-0 =3D <&sdmmc_pwren_l>; + pinctrl-names =3D "default"; regulator-name =3D "vcc3v3_sd"; regulator-min-microvolt =3D <3300000>; regulator-max-microvolt =3D <3300000>; @@ -97,8 +97,8 @@ vcc5v0_sys: regulator-5v0-vcc-sys { vccio_sd: regulator-vccio-sd { compatible =3D "regulator-gpio"; gpios =3D <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>; - pinctrl-names =3D "default"; pinctrl-0 =3D <&sdmmc_vol_ctrl_h>; + pinctrl-names =3D "default"; regulator-name =3D "vccio_sd"; regulator-min-microvolt =3D <1800000>; regulator-max-microvolt =3D <3300000>; @@ -152,20 +152,23 @@ &gmac1 { phy-handle =3D <&rgmii_phy>; phy-mode =3D "rgmii-id"; phy-supply =3D <&vcc_3v3>; - pinctrl-names =3D "default"; pinctrl-0 =3D <&rgmii_miim>, <&rgmii_tx_bus2>, <&rgmii_rx_bus2>, <&rgmii_rgmii_clk>, <&rgmii_rgmii_bus>; + pinctrl-names =3D "default"; + status =3D "okay"; }; =20 &gpu { mali-supply =3D <&vdd_logic>; + status =3D "okay"; }; =20 &i2c1 { - pinctrl-names =3D "default"; pinctrl-0 =3D <&i2c1m0_xfer>; + pinctrl-names =3D "default"; + status =3D "okay"; =20 hym8563: rtc@51 { @@ -174,8 +177,8 @@ hym8563: rtc@51 { #clock-cells =3D <0>; interrupt-parent =3D <&gpio4>; interrupts =3D ; - pinctrl-names =3D "default"; pinctrl-0 =3D <&rtc_int_l>; + pinctrl-names =3D "default"; wakeup-source; }; }; @@ -184,8 +187,8 @@ &mdio1 { rgmii_phy: ethernet-phy@1 { compatible =3D "ethernet-phy-ieee802.3-c22"; reg =3D <0x1>; - pinctrl-names =3D "default"; pinctrl-0 =3D <&gmac1_rstn_l>; + pinctrl-names =3D "default"; reset-assert-us =3D <20000>; reset-deassert-us =3D <100000>; reset-gpios =3D <&gpio4 RK_PC2 GPIO_ACTIVE_LOW>; @@ -217,19 +220,22 @@ sdmmc_vol_ctrl_h: sdmmc-vol-ctrl-h { }; =20 &pwm1 { - pinctrl-names =3D "default"; pinctrl-0 =3D <&pwm1m0_pins>; + pinctrl-names =3D "default"; + status =3D "okay"; }; =20 &pwm2 { - pinctrl-names =3D "default"; pinctrl-0 =3D <&pwm2m0_pins>; + pinctrl-names =3D "default"; + status =3D "okay"; }; =20 &saradc { vref-supply =3D <&vcc_1v8>; + status =3D "okay"; }; =20 @@ -242,6 +248,7 @@ &sdhci { non-removable; vmmc-supply =3D <&vcc_3v3>; vqmmc-supply =3D <&vcc_1v8>; + status =3D "okay"; }; =20 @@ -253,12 +260,14 @@ &sdmmc { sd-uhs-sdr104; vmmc-supply =3D <&vcc3v3_sd>; vqmmc-supply =3D <&vccio_sd>; + status =3D "okay"; }; =20 &uart0 { - pinctrl-names =3D "default"; pinctrl-0 =3D <&uart0m0_xfer>; + pinctrl-names =3D "default"; + status =3D "okay"; }; =20 @@ -267,6 +276,7 @@ &usb_host0_xhci { maximum-speed =3D "high-speed"; phys =3D <&usb2phy_otg>; phy-names =3D "usb2-phy"; + status =3D "okay"; }; =20 --=20 2.55.0