Subject: [bug#72987] [PATCH v3 3/5] gnu: u-boot: Use DDR3 patch for Nano Pi R4S.

From: Vagrant Cascadian <[email-masked]>
Date: Tue, 04 Mar 2025 14:42:50 -0800

On 2024-12-13, Herman Rimm wrote:
> * gnu/packages/bootloaders.scm (u-boot)[source]: Use patch.
> * gnu/packages/patches/u-boot-nanopi-r4s-ddr3.patch: Add file.
> * gnu/local.mk (dist_patch_DATA): Register patch.

Since this is a non-default u-boot-nanopi-r4s-rk3399, perhaps instead
define a separate variant by making a custom configuration and applying
the patch only in that variant (e.g. u-boot-nanopi-r4s-rk3399-ddr3)?

Weather this is in addition to u-boot-nanopi-r4s-rk3399, or instead of,
is a bit of an open question. Would anyone use the default variant? how
common is that hardware?

live well,
  vagrant

> diff --git a/gnu/local.mk b/gnu/local.mk
> index 4da94f68e2..4852c427b2 100644
> --- a/gnu/local.mk
> +++ b/gnu/local.mk
> @@ -2277,6 +2277,7 @@ dist_patch_DATA =						\
>    %D%/packages/patches/u-boot-allow-disabling-openssl.patch	\
>    %D%/packages/patches/u-boot-nintendo-nes-serial.patch		\
>    %D%/packages/patches/u-boot-rockchip-inno-usb.patch		\
> +  %D%/packages/patches/u-boot-nanopi-r4s-ddr3.patch		\
>    %D%/packages/patches/ucx-tcp-iface-ioctl.patch		\
>    %D%/packages/patches/ultrastar-deluxe-no-freesans.patch		\
>    %D%/packages/patches/ungoogled-chromium-extension-search-path.patch	\
> diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
> index 1a464655b6..d946270317 100644
> --- a/gnu/packages/bootloaders.scm
> +++ b/gnu/packages/bootloaders.scm
> @@ -759,6 +759,7 @@ (define u-boot
>          (base32 "0yrhb0izihv47p781dc4cp0znc5g225ayl7anz23c6jdrmfbpz2h"))
>         (patches (search-patches "u-boot-allow-disabling-openssl.patch"
>                                  "u-boot-50M-kernel.patch"
> +                                "u-boot-nanopi-r4s-ddr3.patch"
>                                  "u-boot-rockchip-inno-usb.patch"))))
>      (build-system gnu-build-system)
>      (native-inputs
> diff --git a/gnu/packages/patches/u-boot-nanopi-r4s-ddr3.patch b/gnu/packages/patches/u-boot-nanopi-r4s-ddr3.patch
> new file mode 100644
> index 0000000000..435ffd5554
> --- /dev/null
> +++ b/gnu/packages/patches/u-boot-nanopi-r4s-ddr3.patch
> @@ -0,0 +1,33 @@
> +From: Herman Rimm <[email-masked]>
> +Date: Sun, 2 Jul 2023 13:43:18 +0200
> +Subject: [PATCH] Configure the Nano Pi R4S with DDR3.
> +
> +---
> +This patch should be removed once something like this is upstream:
> +https://github.com/anaelorlinski/OpenWrt-NanoPi-R2S-R4S-Builds/commit/9d836044340ddef53f5d9f1946ac48c946a78284
> +
> +diff --git a/arch/arm/dts/rk3399-nanopi-r4s-u-boot.dtsi b/arch/arm/dts/rk3399-nanopi-r4s-u-boot.dtsi
> +index 69800cc368d..a3054849f88 100644
> +--- a/arch/arm/dts/rk3399-nanopi-r4s-u-boot.dtsi
> ++++ b/arch/arm/dts/rk3399-nanopi-r4s-u-boot.dtsi
> +@@ -13,7 +13,7 @@
> +  */
> + 
> + #include "rk3399-nanopi4-u-boot.dtsi"
> +-#include "rk3399-sdram-lpddr4-100.dtsi"
> ++#include "rk3399-sdram-ddr3-1866.dtsi"
> + 
> + / {
> + 	smbios {
> +diff --git a/configs/nanopi-r4s-rk3399_defconfig b/configs/nanopi-r4s-rk3399_defconfig
> +index ada04b46cb1..b39e350bbed 100644
> +--- a/configs/nanopi-r4s-rk3399_defconfig
> ++++ b/configs/nanopi-r4s-rk3399_defconfig
> +@@ -48,7 +48,6 @@ CONFIG_PMIC_RK8XX=y
> + CONFIG_SPL_DM_REGULATOR_FIXED=y
> + CONFIG_REGULATOR_RK8XX=y
> + CONFIG_PWM_ROCKCHIP=y
> +-CONFIG_RAM_ROCKCHIP_LPDDR4=y
> + CONFIG_BAUDRATE=1500000
> + CONFIG_DEBUG_UART_SHIFT=2
> + CONFIG_SYS_NS16550_MEM32=y
> -- 
> 2.45.2