Well i copied lines from u-boot rk3328-nanopi-r2s-u-boot.dtsi
and rk3328-nanopi-r2s.dts
It is pretty straight-forward. And of course i am not sure which part of this patch made it boot (patch includes Orange pi R1 plus support - #264 by 1715173329) . This might not be the cleanest way to resolve UHS SD-card voltage issue. And does this break "non-LTS" version? If so, we need to adjust patch to patch only files of "LTS" version.
diff --git a/package/boot/uboot-rockchip/patches/103-rockchip-rk3328-Add-support-for-Orange-Pi-R1-Plus.patch b/package/boot/uboot-rockchip/patches/103-rockchip-rk3328-Add-support-for-Orange-Pi-R1-Plus.patch
index 90e36e5e4a..530c6dad1c 100644
--- a/package/boot/uboot-rockchip/patches/103-rockchip-rk3328-Add-support-for-Orange-Pi-R1-Plus.patch
+++ b/package/boot/uboot-rockchip/patches/103-rockchip-rk3328-Add-support-for-Orange-Pi-R1-Plus.patch
@@ -53,24 +53,24 @@ Signed-off-by: Tianling Shen <cnsztl@gmail.com>
+};
+
+&gpio0 {
-+ bootph-pre-ram;
++ u-boot,dm-spl;
+};
+
+&pinctrl {
-+ bootph-pre-ram;
++ u-boot,dm-spl;
+};
+
+&sdmmc0m1_gpio {
-+ bootph-pre-ram;
++ u-boot,dm-spl;
+};
+
+&pcfg_pull_up_4ma {
-+ bootph-pre-ram;
++ u-boot,dm-spl;
+};
+
+/* Need this and all the pinctrl/gpio stuff above to set pinmux */
+&vcc_sd {
-+ bootph-pre-ram;
++ u-boot,dm-spl;
+};
+
+&gmac2io {
@@ -143,6 +143,24 @@ Signed-off-by: Tianling Shen <cnsztl@gmail.com>
+ };
+ };
+
++ vcc_io_sdio: sdmmcio-regulator {
++ compatible = "regulator-gpio";
++ enable-active-high;
++ gpios = <&gpio1 RK_PD4 GPIO_ACTIVE_HIGH>;
++ pinctrl-0 = <&sdio_vcc_pin>;
++ pinctrl-names = "default";
++ regulator-name = "vcc_io_sdio";
++ regulator-always-on;
++ regulator-min-microvolt = <1800000>;
++ regulator-max-microvolt = <3300000>;
++ regulator-settling-time-us = <5000>;
++ regulator-type = "voltage";
++ startup-delay-us = <2000>;
++ states = <1800000 0x1
++ 3300000 0x0>;
++ vin-supply = <&vcc_io>;
++ };
++
+ vcc_sd: sdmmc-regulator {
+ compatible = "regulator-fixed";
+ gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_LOW>;
@@ -347,8 +365,8 @@ Signed-off-by: Tianling Shen <cnsztl@gmail.com>
+ pmuio-supply = <&vcc_io>;
+ vccio1-supply = <&vcc_io>;
+ vccio2-supply = <&vcc18_emmc>;
-+ vccio3-supply = <&vcc_io>;
-+ vccio4-supply = <&vcc_io>;
++ vccio3-supply = <&vcc_io_sdio>;
++ vccio4-supply = <&vcc_18>;
+ vccio5-supply = <&vcc_io>;
+ vccio6-supply = <&vcc_io>;
+ status = "okay";
@@ -386,6 +404,12 @@ Signed-off-by: Tianling Shen <cnsztl@gmail.com>
+ rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>;
+ };
+ };
++
++ sd {
++ sdio_vcc_pin: sdio-vcc-pin {
++ rockchip,pins = <1 RK_PD4 RK_FUNC_GPIO &pcfg_pull_up>;
++ };
++ };
+};
+
+&pwm2 {
@@ -398,7 +422,12 @@ Signed-off-by: Tianling Shen <cnsztl@gmail.com>
+ disable-wp;
+ pinctrl-0 = <&sdmmc0_clk>, <&sdmmc0_cmd>, <&sdmmc0_dectn>, <&sdmmc0_bus4>;
+ pinctrl-names = "default";
++ sd-uhs-sdr12;
++ sd-uhs-sdr25;
++ sd-uhs-sdr50;
++ sd-uhs-sdr104;
+ vmmc-supply = <&vcc_sd>;
++ vqmmc-supply = <&vcc_io_sdio>;
+ status = "okay";
+};
+
diff --git a/package/boot/uboot-rockchip/patches/104-rockchip-rk3328-Add-support-for-Orange-Pi-R1-Plus-LT.patch b/package/boot/uboot-rockchip/patches/104-rockchip-rk3328-Add-support-for-Orange-Pi-R1-Plus-LT.patch
index 72470005e6..b22ea5b640 100644
--- a/package/boot/uboot-rockchip/patches/104-rockchip-rk3328-Add-support-for-Orange-Pi-R1-Plus-LT.patch
+++ b/package/boot/uboot-rockchip/patches/104-rockchip-rk3328-Add-support-for-Orange-Pi-R1-Plus-LT.patch
@@ -50,24 +50,24 @@ Signed-off-by: Tianling Shen <cnsztl@gmail.com>
+};
+
+&gpio0 {
-+ bootph-pre-ram;
++ u-boot,dm-spl;
+};
+
+&pinctrl {
-+ bootph-pre-ram;
++ u-boot,dm-spl;
+};
+
+&sdmmc0m1_gpio {
-+ bootph-pre-ram;
++ u-boot,dm-spl;
+};
+
+&pcfg_pull_up_4ma {
-+ bootph-pre-ram;
++ u-boot,dm-spl;
+};
+
+/* Need this and all the pinctrl/gpio stuff above to set pinmux */
+&vcc_sd {
-+ bootph-pre-ram;
++ u-boot,dm-spl;
+};
+
+&gmac2io {
diff --git a/package/boot/uboot-rockchip/patches/900-rockchip-rk3328-UHS-Fix.patch b/package/boot/uboot-rockchip/patches/900-rockchip-rk3328-UHS-Fix.patch
new file mode 100644
index 0000000000..88b3efe589
--- /dev/null
+++ b/package/boot/uboot-rockchip/patches/900-rockchip-rk3328-UHS-Fix.patch
@@ -0,0 +1,43 @@
+diff --git a/arch/arm/dts/rk3328-orangepi-r1-plus-lts-u-boot.dtsi b/arch/arm/dts/rk3328-orangepi-r1-plus-lts-u-boot.dtsi
+index b0db1bcd9a..e5fc2a68d4 100644
+--- a/arch/arm/dts/rk3328-orangepi-r1-plus-lts-u-boot.dtsi
++++ b/arch/arm/dts/rk3328-orangepi-r1-plus-lts-u-boot.dtsi
+@@ -33,6 +33,10 @@
+ bootph-pre-ram;
+ };
+
++&vcc_io_sdio {
++ u-boot,dm-spl;
++};
++
+ &gmac2io {
+ snps,reset-gpio = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
+ snps,reset-active-low;
+diff --git a/arch/arm/dts/rk3328-orangepi-r1-plus.dts b/arch/arm/dts/rk3328-orangepi-r1-plus.dts
+index e38681ae77..5986b07777 100644
+--- a/arch/arm/dts/rk3328-orangepi-r1-plus.dts
++++ b/arch/arm/dts/rk3328-orangepi-r1-plus.dts
+@@ -307,7 +307,7 @@
+ bus-width = <4>;
+ cap-sd-highspeed;
+ disable-wp;
+- pinctrl-0 = <&sdmmc0_clk>, <&sdmmc0_cmd>, <&sdmmc0_dectn>, <&sdmmc0_bus4>;
++ pinctrl-0 = <&sdmmc0_clk>, <&sdmmc0_cmd>, <&sdmmc0_dectn>, <&sdmmc0_bus4>, <&sdmmc0m1_gpio>;
+ pinctrl-names = "default";
+ vmmc-supply = <&vcc_sd>;
+ status = "okay";
+diff --git a/configs/orangepi-r1-plus-lts-rk3328_defconfig b/configs/orangepi-r1-plus-lts-rk3328_defconfig
+index 3cb3b5c33e..1a8022b0d6 100644
+--- a/configs/orangepi-r1-plus-lts-rk3328_defconfig
++++ b/configs/orangepi-r1-plus-lts-rk3328_defconfig
+@@ -57,6 +57,10 @@ CONFIG_FASTBOOT_BUF_ADDR=0x800800
+ CONFIG_FASTBOOT_CMD_OEM_FORMAT=y
+ CONFIG_ROCKCHIP_GPIO=y
+ CONFIG_SYS_I2C_ROCKCHIP=y
++CONFIG_MMC_IO_VOLTAGE=y
++CONFIG_SPL_MMC_IO_VOLTAGE=y
++CONFIG_MMC_UHS_SUPPORT=y
++CONFIG_SPL_MMC_UHS_SUPPORT=y
+ CONFIG_MMC_DW=y
+ CONFIG_MMC_DW_ROCKCHIP=y
+ CONFIG_SF_DEFAULT_SPEED=20000000
edit: I forgot to mention i tried u-boot 2023.07-rc2 with no modification it was successful i mange to get to u-boot console but unable to boot openwrt though.