* [PATCH] board: rockchip: Add FriendlyElec NanoPi Zero2
@ 2026-01-10 20:53 Jonas Karlman
2026-01-10 22:13 ` Christopher Obbard
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Jonas Karlman @ 2026-01-10 20:53 UTC (permalink / raw)
To: Kever Yang, Simon Glass, Philipp Tomsich, Jonas Karlman, Tom Rini
Cc: Yao Zi, u-boot
The NanoPi Zero2 is a small single board computer developed by
FriendlyElec, based on the Rockchip RK3528A SoC.
Add support for the FriendlyElec NanoPi Zero2 board.
Features tested on a FriendlyElec NanoPi Zero2 2407:
- SD-card boot
- eMMC boot
- Ethernet
- USB host
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
---
arch/arm/dts/rk3528-nanopi-zero2-u-boot.dtsi | 11 ++++
arch/arm/mach-rockchip/rk3528/MAINTAINERS | 6 ++
configs/nanopi-zero2-rk3528_defconfig | 64 ++++++++++++++++++++
doc/board/rockchip/rockchip.rst | 1 +
4 files changed, 82 insertions(+)
create mode 100644 arch/arm/dts/rk3528-nanopi-zero2-u-boot.dtsi
create mode 100644 configs/nanopi-zero2-rk3528_defconfig
diff --git a/arch/arm/dts/rk3528-nanopi-zero2-u-boot.dtsi b/arch/arm/dts/rk3528-nanopi-zero2-u-boot.dtsi
new file mode 100644
index 000000000000..3e2fbd81da17
--- /dev/null
+++ b/arch/arm/dts/rk3528-nanopi-zero2-u-boot.dtsi
@@ -0,0 +1,11 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+
+#include "rk3528-u-boot.dtsi"
+
+&vdd_arm {
+ regulator-init-microvolt = <953000>;
+};
+
+&vdd_logic {
+ regulator-init-microvolt = <900000>;
+};
diff --git a/arch/arm/mach-rockchip/rk3528/MAINTAINERS b/arch/arm/mach-rockchip/rk3528/MAINTAINERS
index ee840396e8b0..111fe0270dfd 100644
--- a/arch/arm/mach-rockchip/rk3528/MAINTAINERS
+++ b/arch/arm/mach-rockchip/rk3528/MAINTAINERS
@@ -4,6 +4,12 @@ S: Maintained
F: arch/arm/dts/rk3528-generic*
F: configs/generic-rk3528_defconfig
+NANOPI-ZERO2-RK3528
+M: Jonas Karlman <jonas@kwiboo.se>
+S: Maintained
+F: arch/arm/dts/rk3528-nanopi-zero2*
+F: configs/nanopi-zero2-rk3528_defconfig
+
RADXA-E20C
M: Jonas Karlman <jonas@kwiboo.se>
S: Maintained
diff --git a/configs/nanopi-zero2-rk3528_defconfig b/configs/nanopi-zero2-rk3528_defconfig
new file mode 100644
index 000000000000..2e54c0ff20a2
--- /dev/null
+++ b/configs/nanopi-zero2-rk3528_defconfig
@@ -0,0 +1,64 @@
+CONFIG_ARM=y
+CONFIG_SKIP_LOWLEVEL_INIT=y
+CONFIG_COUNTER_FREQUENCY=24000000
+CONFIG_ARCH_ROCKCHIP=y
+CONFIG_DEFAULT_DEVICE_TREE="rockchip/rk3528-nanopi-zero2"
+CONFIG_ROCKCHIP_RK3528=y
+CONFIG_SYS_LOAD_ADDR=0xc00800
+CONFIG_DEBUG_UART_BASE=0xFF9F0000
+CONFIG_DEBUG_UART_CLOCK=24000000
+CONFIG_DEBUG_UART=y
+CONFIG_DEFAULT_FDT_FILE="rockchip/rk3528-nanopi-zero2.dtb"
+# CONFIG_DISPLAY_CPUINFO is not set
+CONFIG_BOARD_RNG_SEED=y
+CONFIG_SPL_MAX_SIZE=0x40000
+# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
+CONFIG_CMD_MEMINFO=y
+CONFIG_CMD_MEMINFO_MAP=y
+CONFIG_CMD_ADC=y
+CONFIG_CMD_GPIO=y
+CONFIG_CMD_GPT=y
+CONFIG_CMD_MISC=y
+CONFIG_CMD_MMC=y
+CONFIG_CMD_USB=y
+CONFIG_CMD_ROCKUSB=y
+CONFIG_CMD_USB_MASS_STORAGE=y
+# CONFIG_CMD_SETEXPR is not set
+CONFIG_CMD_RNG=y
+CONFIG_CMD_REGULATOR=y
+# CONFIG_SPL_DOS_PARTITION is not set
+CONFIG_OF_SPL_REMOVE_PROPS="clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
+CONFIG_BUTTON=y
+CONFIG_BUTTON_ADC=y
+# CONFIG_USB_FUNCTION_FASTBOOT is not set
+CONFIG_ROCKCHIP_GPIO=y
+CONFIG_LED=y
+CONFIG_LED_GPIO=y
+CONFIG_SUPPORT_EMMC_RPMB=y
+CONFIG_MMC_DW=y
+CONFIG_MMC_DW_ROCKCHIP=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_SDMA=y
+CONFIG_MMC_SDHCI_ROCKCHIP=y
+CONFIG_PHY_REALTEK=y
+CONFIG_DM_MDIO=y
+CONFIG_DWC_ETH_QOS=y
+CONFIG_DWC_ETH_QOS_ROCKCHIP=y
+CONFIG_PHY_ROCKCHIP_INNO_USB2=y
+CONFIG_PHY_ROCKCHIP_NANENG_COMBOPHY=y
+CONFIG_REGULATOR_PWM=y
+CONFIG_DM_REGULATOR_GPIO=y
+CONFIG_PWM_ROCKCHIP=y
+CONFIG_BAUDRATE=1500000
+CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550_MEM32=y
+CONFIG_USB=y
+CONFIG_USB_XHCI_HCD=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_GENERIC=y
+CONFIG_USB_DWC3=y
+CONFIG_USB_DWC3_GENERIC=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_GADGET_DOWNLOAD=y
+CONFIG_USB_FUNCTION_ROCKUSB=y
+CONFIG_ERRNO_STR=y
diff --git a/doc/board/rockchip/rockchip.rst b/doc/board/rockchip/rockchip.rst
index c1683bfe4212..01659ecc3cbe 100644
--- a/doc/board/rockchip/rockchip.rst
+++ b/doc/board/rockchip/rockchip.rst
@@ -101,6 +101,7 @@ List of mainline supported Rockchip boards:
* rk3528
- ArmSoM Sige1 (sige1-rk3528)
+ - FriendlyElec NanoPi Zero2 (nanopi-zero2-rk3528)
- Generic RK3528 (generic-rk3528)
- Radxa E20C (radxa-e20c-rk3528)
- Radxa ROCK 2A/2F (rock-2-rk3528)
--
2.52.0
^ permalink raw reply related [flat|nested] 6+ messages in thread* Re: [PATCH] board: rockchip: Add FriendlyElec NanoPi Zero2
2026-01-10 20:53 [PATCH] board: rockchip: Add FriendlyElec NanoPi Zero2 Jonas Karlman
@ 2026-01-10 22:13 ` Christopher Obbard
2026-01-15 12:24 ` Quentin Schulz
2026-03-08 15:15 ` Kever Yang
2 siblings, 0 replies; 6+ messages in thread
From: Christopher Obbard @ 2026-01-10 22:13 UTC (permalink / raw)
To: Jonas Karlman, Kever Yang, Simon Glass, Philipp Tomsich, Tom Rini
Cc: Yao Zi, u-boot
Hi Jonas,
On Sat, 2026-01-10 at 20:53 +0000, Jonas Karlman wrote:
> The NanoPi Zero2 is a small single board computer developed by
> FriendlyElec, based on the Rockchip RK3528A SoC.
>
> Add support for the FriendlyElec NanoPi Zero2 board.
>
> Features tested on a FriendlyElec NanoPi Zero2 2407:
> - SD-card boot
> - eMMC boot
> - Ethernet
> - USB host
>
> Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Christopher Obbard <christopher.obbard@linaro.org>
> ---
> arch/arm/dts/rk3528-nanopi-zero2-u-boot.dtsi | 11 ++++
> arch/arm/mach-rockchip/rk3528/MAINTAINERS | 6 ++
> configs/nanopi-zero2-rk3528_defconfig | 64 ++++++++++++++++++++
> doc/board/rockchip/rockchip.rst | 1 +
> 4 files changed, 82 insertions(+)
> create mode 100644 arch/arm/dts/rk3528-nanopi-zero2-u-boot.dtsi
> create mode 100644 configs/nanopi-zero2-rk3528_defconfig
>
> diff --git a/arch/arm/dts/rk3528-nanopi-zero2-u-boot.dtsi b/arch/arm/dts/rk3528-nanopi-zero2-u-boot.dtsi
> new file mode 100644
> index 000000000000..3e2fbd81da17
> --- /dev/null
> +++ b/arch/arm/dts/rk3528-nanopi-zero2-u-boot.dtsi
> @@ -0,0 +1,11 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +
> +#include "rk3528-u-boot.dtsi"
> +
> +&vdd_arm {
> + regulator-init-microvolt = <953000>;
> +};
> +
> +&vdd_logic {
> + regulator-init-microvolt = <900000>;
> +};
> diff --git a/arch/arm/mach-rockchip/rk3528/MAINTAINERS b/arch/arm/mach-rockchip/rk3528/MAINTAINERS
> index ee840396e8b0..111fe0270dfd 100644
> --- a/arch/arm/mach-rockchip/rk3528/MAINTAINERS
> +++ b/arch/arm/mach-rockchip/rk3528/MAINTAINERS
> @@ -4,6 +4,12 @@ S: Maintained
> F: arch/arm/dts/rk3528-generic*
> F: configs/generic-rk3528_defconfig
>
> +NANOPI-ZERO2-RK3528
> +M: Jonas Karlman <jonas@kwiboo.se>
> +S: Maintained
> +F: arch/arm/dts/rk3528-nanopi-zero2*
> +F: configs/nanopi-zero2-rk3528_defconfig
> +
> RADXA-E20C
> M: Jonas Karlman <jonas@kwiboo.se>
> S: Maintained
> diff --git a/configs/nanopi-zero2-rk3528_defconfig b/configs/nanopi-zero2-rk3528_defconfig
> new file mode 100644
> index 000000000000..2e54c0ff20a2
> --- /dev/null
> +++ b/configs/nanopi-zero2-rk3528_defconfig
> @@ -0,0 +1,64 @@
> +CONFIG_ARM=y
> +CONFIG_SKIP_LOWLEVEL_INIT=y
> +CONFIG_COUNTER_FREQUENCY=24000000
> +CONFIG_ARCH_ROCKCHIP=y
> +CONFIG_DEFAULT_DEVICE_TREE="rockchip/rk3528-nanopi-zero2"
> +CONFIG_ROCKCHIP_RK3528=y
> +CONFIG_SYS_LOAD_ADDR=0xc00800
> +CONFIG_DEBUG_UART_BASE=0xFF9F0000
> +CONFIG_DEBUG_UART_CLOCK=24000000
> +CONFIG_DEBUG_UART=y
> +CONFIG_DEFAULT_FDT_FILE="rockchip/rk3528-nanopi-zero2.dtb"
> +# CONFIG_DISPLAY_CPUINFO is not set
> +CONFIG_BOARD_RNG_SEED=y
> +CONFIG_SPL_MAX_SIZE=0x40000
> +# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
> +CONFIG_CMD_MEMINFO=y
> +CONFIG_CMD_MEMINFO_MAP=y
> +CONFIG_CMD_ADC=y
> +CONFIG_CMD_GPIO=y
> +CONFIG_CMD_GPT=y
> +CONFIG_CMD_MISC=y
> +CONFIG_CMD_MMC=y
> +CONFIG_CMD_USB=y
> +CONFIG_CMD_ROCKUSB=y
> +CONFIG_CMD_USB_MASS_STORAGE=y
> +# CONFIG_CMD_SETEXPR is not set
> +CONFIG_CMD_RNG=y
> +CONFIG_CMD_REGULATOR=y
> +# CONFIG_SPL_DOS_PARTITION is not set
> +CONFIG_OF_SPL_REMOVE_PROPS="clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
> +CONFIG_BUTTON=y
> +CONFIG_BUTTON_ADC=y
> +# CONFIG_USB_FUNCTION_FASTBOOT is not set
> +CONFIG_ROCKCHIP_GPIO=y
> +CONFIG_LED=y
> +CONFIG_LED_GPIO=y
> +CONFIG_SUPPORT_EMMC_RPMB=y
> +CONFIG_MMC_DW=y
> +CONFIG_MMC_DW_ROCKCHIP=y
> +CONFIG_MMC_SDHCI=y
> +CONFIG_MMC_SDHCI_SDMA=y
> +CONFIG_MMC_SDHCI_ROCKCHIP=y
> +CONFIG_PHY_REALTEK=y
> +CONFIG_DM_MDIO=y
> +CONFIG_DWC_ETH_QOS=y
> +CONFIG_DWC_ETH_QOS_ROCKCHIP=y
> +CONFIG_PHY_ROCKCHIP_INNO_USB2=y
> +CONFIG_PHY_ROCKCHIP_NANENG_COMBOPHY=y
> +CONFIG_REGULATOR_PWM=y
> +CONFIG_DM_REGULATOR_GPIO=y
> +CONFIG_PWM_ROCKCHIP=y
> +CONFIG_BAUDRATE=1500000
> +CONFIG_DEBUG_UART_SHIFT=2
> +CONFIG_SYS_NS16550_MEM32=y
> +CONFIG_USB=y
> +CONFIG_USB_XHCI_HCD=y
> +CONFIG_USB_EHCI_HCD=y
> +CONFIG_USB_EHCI_GENERIC=y
> +CONFIG_USB_DWC3=y
> +CONFIG_USB_DWC3_GENERIC=y
> +CONFIG_USB_GADGET=y
> +CONFIG_USB_GADGET_DOWNLOAD=y
> +CONFIG_USB_FUNCTION_ROCKUSB=y
> +CONFIG_ERRNO_STR=y
> diff --git a/doc/board/rockchip/rockchip.rst b/doc/board/rockchip/rockchip.rst
> index c1683bfe4212..01659ecc3cbe 100644
> --- a/doc/board/rockchip/rockchip.rst
> +++ b/doc/board/rockchip/rockchip.rst
> @@ -101,6 +101,7 @@ List of mainline supported Rockchip boards:
>
> * rk3528
> - ArmSoM Sige1 (sige1-rk3528)
> + - FriendlyElec NanoPi Zero2 (nanopi-zero2-rk3528)
> - Generic RK3528 (generic-rk3528)
> - Radxa E20C (radxa-e20c-rk3528)
> - Radxa ROCK 2A/2F (rock-2-rk3528)
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCH] board: rockchip: Add FriendlyElec NanoPi Zero2
2026-01-10 20:53 [PATCH] board: rockchip: Add FriendlyElec NanoPi Zero2 Jonas Karlman
2026-01-10 22:13 ` Christopher Obbard
@ 2026-01-15 12:24 ` Quentin Schulz
2026-01-15 13:35 ` Jonas Karlman
2026-03-08 15:15 ` Kever Yang
2 siblings, 1 reply; 6+ messages in thread
From: Quentin Schulz @ 2026-01-15 12:24 UTC (permalink / raw)
To: Jonas Karlman, Kever Yang, Simon Glass, Philipp Tomsich, Tom Rini
Cc: Yao Zi, u-boot
Hi Jonas,
On 1/10/26 9:53 PM, Jonas Karlman wrote:
> The NanoPi Zero2 is a small single board computer developed by
> FriendlyElec, based on the Rockchip RK3528A SoC.
>
> Add support for the FriendlyElec NanoPi Zero2 board.
>
> Features tested on a FriendlyElec NanoPi Zero2 2407:
> - SD-card boot
> - eMMC boot
> - Ethernet
> - USB host
>
> Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
> ---
> arch/arm/dts/rk3528-nanopi-zero2-u-boot.dtsi | 11 ++++
> arch/arm/mach-rockchip/rk3528/MAINTAINERS | 6 ++
> configs/nanopi-zero2-rk3528_defconfig | 64 ++++++++++++++++++++
> doc/board/rockchip/rockchip.rst | 1 +
> 4 files changed, 82 insertions(+)
> create mode 100644 arch/arm/dts/rk3528-nanopi-zero2-u-boot.dtsi
> create mode 100644 configs/nanopi-zero2-rk3528_defconfig
>
> diff --git a/arch/arm/dts/rk3528-nanopi-zero2-u-boot.dtsi b/arch/arm/dts/rk3528-nanopi-zero2-u-boot.dtsi
> new file mode 100644
> index 000000000000..3e2fbd81da17
> --- /dev/null
> +++ b/arch/arm/dts/rk3528-nanopi-zero2-u-boot.dtsi
> @@ -0,0 +1,11 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +
> +#include "rk3528-u-boot.dtsi"
> +
> +&vdd_arm {
> + regulator-init-microvolt = <953000>;
> +};
> +
> +&vdd_logic {
> + regulator-init-microvolt = <900000>;
> +};
Why? We need an explanation here to know if and when we can get rid of
those additions. Why aren't those in the Linux kernel tree?
OK to me otherwise.
Cheers,
Quentin
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCH] board: rockchip: Add FriendlyElec NanoPi Zero2
2026-01-15 12:24 ` Quentin Schulz
@ 2026-01-15 13:35 ` Jonas Karlman
2026-01-15 14:57 ` Quentin Schulz
0 siblings, 1 reply; 6+ messages in thread
From: Jonas Karlman @ 2026-01-15 13:35 UTC (permalink / raw)
To: Quentin Schulz
Cc: Kever Yang, Simon Glass, Philipp Tomsich, Tom Rini, Yao Zi,
u-boot
Hi Quentin,
On 1/15/2026 1:24 PM, Quentin Schulz wrote:
> Hi Jonas,
>
> On 1/10/26 9:53 PM, Jonas Karlman wrote:
>> The NanoPi Zero2 is a small single board computer developed by
>> FriendlyElec, based on the Rockchip RK3528A SoC.
>>
>> Add support for the FriendlyElec NanoPi Zero2 board.
>>
>> Features tested on a FriendlyElec NanoPi Zero2 2407:
>> - SD-card boot
>> - eMMC boot
>> - Ethernet
>> - USB host
>>
>> Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
>> ---
>> arch/arm/dts/rk3528-nanopi-zero2-u-boot.dtsi | 11 ++++
>> arch/arm/mach-rockchip/rk3528/MAINTAINERS | 6 ++
>> configs/nanopi-zero2-rk3528_defconfig | 64 ++++++++++++++++++++
>> doc/board/rockchip/rockchip.rst | 1 +
>> 4 files changed, 82 insertions(+)
>> create mode 100644 arch/arm/dts/rk3528-nanopi-zero2-u-boot.dtsi
>> create mode 100644 configs/nanopi-zero2-rk3528_defconfig
>>
>> diff --git a/arch/arm/dts/rk3528-nanopi-zero2-u-boot.dtsi b/arch/arm/dts/rk3528-nanopi-zero2-u-boot.dtsi
>> new file mode 100644
>> index 000000000000..3e2fbd81da17
>> --- /dev/null
>> +++ b/arch/arm/dts/rk3528-nanopi-zero2-u-boot.dtsi
>> @@ -0,0 +1,11 @@
>> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
>> +
>> +#include "rk3528-u-boot.dtsi"
>> +
>> +&vdd_arm {
>> + regulator-init-microvolt = <953000>;
>> +};
>> +
>> +&vdd_logic {
>> + regulator-init-microvolt = <900000>;
>> +};
>
> Why? We need an explanation here to know if and when we can get rid of
> those additions. Why aren't those in the Linux kernel tree?
All prior regulator-init-microvolt props was purged from Linux DTs some
time ago [1], instead of adding a dt-binding for this prop :/
After that change we now need to keep track of any initial microvolt
that should be set by U-Boot in -u-boot.dtsi files.
If I remember correctly these regulators may have been initialized with
too low or high voltage out of reset, and this ensure stable operation.
[1] https://lore.kernel.org/all/20230707162217.675390-1-cristian.ciocaltea@collabora.com/
Regards,
Jonas
>
> OK to me otherwise.
>
> Cheers,
> Quentin
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCH] board: rockchip: Add FriendlyElec NanoPi Zero2
2026-01-15 13:35 ` Jonas Karlman
@ 2026-01-15 14:57 ` Quentin Schulz
0 siblings, 0 replies; 6+ messages in thread
From: Quentin Schulz @ 2026-01-15 14:57 UTC (permalink / raw)
To: Jonas Karlman
Cc: Kever Yang, Simon Glass, Philipp Tomsich, Tom Rini, Yao Zi,
u-boot
Hi Jonas,
On 1/15/26 2:35 PM, Jonas Karlman wrote:
> Hi Quentin,
>
> On 1/15/2026 1:24 PM, Quentin Schulz wrote:
>> Hi Jonas,
>>
>> On 1/10/26 9:53 PM, Jonas Karlman wrote:
>>> The NanoPi Zero2 is a small single board computer developed by
>>> FriendlyElec, based on the Rockchip RK3528A SoC.
>>>
>>> Add support for the FriendlyElec NanoPi Zero2 board.
>>>
>>> Features tested on a FriendlyElec NanoPi Zero2 2407:
>>> - SD-card boot
>>> - eMMC boot
>>> - Ethernet
>>> - USB host
>>>
>>> Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
>>> ---
>>> arch/arm/dts/rk3528-nanopi-zero2-u-boot.dtsi | 11 ++++
>>> arch/arm/mach-rockchip/rk3528/MAINTAINERS | 6 ++
>>> configs/nanopi-zero2-rk3528_defconfig | 64 ++++++++++++++++++++
>>> doc/board/rockchip/rockchip.rst | 1 +
>>> 4 files changed, 82 insertions(+)
>>> create mode 100644 arch/arm/dts/rk3528-nanopi-zero2-u-boot.dtsi
>>> create mode 100644 configs/nanopi-zero2-rk3528_defconfig
>>>
>>> diff --git a/arch/arm/dts/rk3528-nanopi-zero2-u-boot.dtsi b/arch/arm/dts/rk3528-nanopi-zero2-u-boot.dtsi
>>> new file mode 100644
>>> index 000000000000..3e2fbd81da17
>>> --- /dev/null
>>> +++ b/arch/arm/dts/rk3528-nanopi-zero2-u-boot.dtsi
>>> @@ -0,0 +1,11 @@
>>> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
>>> +
>>> +#include "rk3528-u-boot.dtsi"
>>> +
>>> +&vdd_arm {
>>> + regulator-init-microvolt = <953000>;
>>> +};
>>> +
>>> +&vdd_logic {
>>> + regulator-init-microvolt = <900000>;
>>> +};
>>
>> Why? We need an explanation here to know if and when we can get rid of
>> those additions. Why aren't those in the Linux kernel tree?
>
> All prior regulator-init-microvolt props was purged from Linux DTs some
> time ago [1], instead of adding a dt-binding for this prop :/
>
> After that change we now need to keep track of any initial microvolt
> that should be set by U-Boot in -u-boot.dtsi files.
>
> If I remember correctly these regulators may have been initialized with
> too low or high voltage out of reset, and this ensure stable operation.
>
That seems odd to me. Why could it reach U-Boot (where the regulator
driver would then enable the regulator at voltage init-microvolt) if the
regulator was initialized too low/high out of reset? Especially for
vdd_arm, the CPU supply.
I'm not sure we'll be able to convince the DT binding people to add this
property though, it all seems like a problem related to devfreq not
being handled in U-Boot that could be resolved by configuring the
clock-tree + regulator-tree properly appropriately I guess (which is
easier said than done :) ).
We already have plenty of boards with that property (including some I
maintain... news to me :) ), one more won't hurt us, so
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Thanks,
Quentin
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] board: rockchip: Add FriendlyElec NanoPi Zero2
2026-01-10 20:53 [PATCH] board: rockchip: Add FriendlyElec NanoPi Zero2 Jonas Karlman
2026-01-10 22:13 ` Christopher Obbard
2026-01-15 12:24 ` Quentin Schulz
@ 2026-03-08 15:15 ` Kever Yang
2 siblings, 0 replies; 6+ messages in thread
From: Kever Yang @ 2026-03-08 15:15 UTC (permalink / raw)
To: Jonas Karlman, Simon Glass, Philipp Tomsich, Tom Rini; +Cc: Yao Zi, u-boot
On 2026/1/11 04:53, Jonas Karlman wrote:
> The NanoPi Zero2 is a small single board computer developed by
> FriendlyElec, based on the Rockchip RK3528A SoC.
>
> Add support for the FriendlyElec NanoPi Zero2 board.
>
> Features tested on a FriendlyElec NanoPi Zero2 2407:
> - SD-card boot
> - eMMC boot
> - Ethernet
> - USB host
>
> Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Thanks,
- Kever
> ---
> arch/arm/dts/rk3528-nanopi-zero2-u-boot.dtsi | 11 ++++
> arch/arm/mach-rockchip/rk3528/MAINTAINERS | 6 ++
> configs/nanopi-zero2-rk3528_defconfig | 64 ++++++++++++++++++++
> doc/board/rockchip/rockchip.rst | 1 +
> 4 files changed, 82 insertions(+)
> create mode 100644 arch/arm/dts/rk3528-nanopi-zero2-u-boot.dtsi
> create mode 100644 configs/nanopi-zero2-rk3528_defconfig
>
> diff --git a/arch/arm/dts/rk3528-nanopi-zero2-u-boot.dtsi b/arch/arm/dts/rk3528-nanopi-zero2-u-boot.dtsi
> new file mode 100644
> index 000000000000..3e2fbd81da17
> --- /dev/null
> +++ b/arch/arm/dts/rk3528-nanopi-zero2-u-boot.dtsi
> @@ -0,0 +1,11 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +
> +#include "rk3528-u-boot.dtsi"
> +
> +&vdd_arm {
> + regulator-init-microvolt = <953000>;
> +};
> +
> +&vdd_logic {
> + regulator-init-microvolt = <900000>;
> +};
> diff --git a/arch/arm/mach-rockchip/rk3528/MAINTAINERS b/arch/arm/mach-rockchip/rk3528/MAINTAINERS
> index ee840396e8b0..111fe0270dfd 100644
> --- a/arch/arm/mach-rockchip/rk3528/MAINTAINERS
> +++ b/arch/arm/mach-rockchip/rk3528/MAINTAINERS
> @@ -4,6 +4,12 @@ S: Maintained
> F: arch/arm/dts/rk3528-generic*
> F: configs/generic-rk3528_defconfig
>
> +NANOPI-ZERO2-RK3528
> +M: Jonas Karlman <jonas@kwiboo.se>
> +S: Maintained
> +F: arch/arm/dts/rk3528-nanopi-zero2*
> +F: configs/nanopi-zero2-rk3528_defconfig
> +
> RADXA-E20C
> M: Jonas Karlman <jonas@kwiboo.se>
> S: Maintained
> diff --git a/configs/nanopi-zero2-rk3528_defconfig b/configs/nanopi-zero2-rk3528_defconfig
> new file mode 100644
> index 000000000000..2e54c0ff20a2
> --- /dev/null
> +++ b/configs/nanopi-zero2-rk3528_defconfig
> @@ -0,0 +1,64 @@
> +CONFIG_ARM=y
> +CONFIG_SKIP_LOWLEVEL_INIT=y
> +CONFIG_COUNTER_FREQUENCY=24000000
> +CONFIG_ARCH_ROCKCHIP=y
> +CONFIG_DEFAULT_DEVICE_TREE="rockchip/rk3528-nanopi-zero2"
> +CONFIG_ROCKCHIP_RK3528=y
> +CONFIG_SYS_LOAD_ADDR=0xc00800
> +CONFIG_DEBUG_UART_BASE=0xFF9F0000
> +CONFIG_DEBUG_UART_CLOCK=24000000
> +CONFIG_DEBUG_UART=y
> +CONFIG_DEFAULT_FDT_FILE="rockchip/rk3528-nanopi-zero2.dtb"
> +# CONFIG_DISPLAY_CPUINFO is not set
> +CONFIG_BOARD_RNG_SEED=y
> +CONFIG_SPL_MAX_SIZE=0x40000
> +# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
> +CONFIG_CMD_MEMINFO=y
> +CONFIG_CMD_MEMINFO_MAP=y
> +CONFIG_CMD_ADC=y
> +CONFIG_CMD_GPIO=y
> +CONFIG_CMD_GPT=y
> +CONFIG_CMD_MISC=y
> +CONFIG_CMD_MMC=y
> +CONFIG_CMD_USB=y
> +CONFIG_CMD_ROCKUSB=y
> +CONFIG_CMD_USB_MASS_STORAGE=y
> +# CONFIG_CMD_SETEXPR is not set
> +CONFIG_CMD_RNG=y
> +CONFIG_CMD_REGULATOR=y
> +# CONFIG_SPL_DOS_PARTITION is not set
> +CONFIG_OF_SPL_REMOVE_PROPS="clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
> +CONFIG_BUTTON=y
> +CONFIG_BUTTON_ADC=y
> +# CONFIG_USB_FUNCTION_FASTBOOT is not set
> +CONFIG_ROCKCHIP_GPIO=y
> +CONFIG_LED=y
> +CONFIG_LED_GPIO=y
> +CONFIG_SUPPORT_EMMC_RPMB=y
> +CONFIG_MMC_DW=y
> +CONFIG_MMC_DW_ROCKCHIP=y
> +CONFIG_MMC_SDHCI=y
> +CONFIG_MMC_SDHCI_SDMA=y
> +CONFIG_MMC_SDHCI_ROCKCHIP=y
> +CONFIG_PHY_REALTEK=y
> +CONFIG_DM_MDIO=y
> +CONFIG_DWC_ETH_QOS=y
> +CONFIG_DWC_ETH_QOS_ROCKCHIP=y
> +CONFIG_PHY_ROCKCHIP_INNO_USB2=y
> +CONFIG_PHY_ROCKCHIP_NANENG_COMBOPHY=y
> +CONFIG_REGULATOR_PWM=y
> +CONFIG_DM_REGULATOR_GPIO=y
> +CONFIG_PWM_ROCKCHIP=y
> +CONFIG_BAUDRATE=1500000
> +CONFIG_DEBUG_UART_SHIFT=2
> +CONFIG_SYS_NS16550_MEM32=y
> +CONFIG_USB=y
> +CONFIG_USB_XHCI_HCD=y
> +CONFIG_USB_EHCI_HCD=y
> +CONFIG_USB_EHCI_GENERIC=y
> +CONFIG_USB_DWC3=y
> +CONFIG_USB_DWC3_GENERIC=y
> +CONFIG_USB_GADGET=y
> +CONFIG_USB_GADGET_DOWNLOAD=y
> +CONFIG_USB_FUNCTION_ROCKUSB=y
> +CONFIG_ERRNO_STR=y
> diff --git a/doc/board/rockchip/rockchip.rst b/doc/board/rockchip/rockchip.rst
> index c1683bfe4212..01659ecc3cbe 100644
> --- a/doc/board/rockchip/rockchip.rst
> +++ b/doc/board/rockchip/rockchip.rst
> @@ -101,6 +101,7 @@ List of mainline supported Rockchip boards:
>
> * rk3528
> - ArmSoM Sige1 (sige1-rk3528)
> + - FriendlyElec NanoPi Zero2 (nanopi-zero2-rk3528)
> - Generic RK3528 (generic-rk3528)
> - Radxa E20C (radxa-e20c-rk3528)
> - Radxa ROCK 2A/2F (rock-2-rk3528)
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-03-08 15:15 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-10 20:53 [PATCH] board: rockchip: Add FriendlyElec NanoPi Zero2 Jonas Karlman
2026-01-10 22:13 ` Christopher Obbard
2026-01-15 12:24 ` Quentin Schulz
2026-01-15 13:35 ` Jonas Karlman
2026-01-15 14:57 ` Quentin Schulz
2026-03-08 15:15 ` Kever Yang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox