From eb590d49e2ae074cab46e6fd4adfdf1e07c2e0cb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Philip=20M=C3=BCller?= <philm@manjaro.org>
Date: Mon, 17 Jan 2022 16:35:13 +0100
Subject: [PATCH] [pkg-upd] 1:2022.01-0

---
 0001-PPP.patch                                | 241 --------
 ...nitial-support-for-the-PinePhone-Pro.patch | 328 ++++++++++-
 ...Correct-boot-order-to-be-USB-SD-eMMC.patch |   0
 0003-Config-changes.patch                     |  25 -
 ...USB-power-settings-for-PinePhone-Pro.patch |  32 +-
 0004-Add-kconfig-include.patch                |  24 -
 0005-Add-pinephone-pro-rk3399.h.patch         |  41 --
 0006-Added-dts-to-makefile.patch              |  23 -
 0007-u-boot.dtsi-fixes.patch                  |  24 -
 0008-fix-boot-order.patch                     |  44 --
 ...arious-cleanups-in-U-Boot-as-spotted.patch | 548 ------------------
 PKGBUILD                                      |  34 +-
 12 files changed, 339 insertions(+), 1025 deletions(-)
 delete mode 100644 0001-PPP.patch
 rename 0002-Add-ppp-dt.patch => 0001-rockchip-Add-initial-support-for-the-PinePhone-Pro.patch (55%)
 rename 0009-Correct-boot-order-to-be-USB-SD-eMMC.patch => 0002-Correct-boot-order-to-be-USB-SD-eMMC.patch (100%)
 delete mode 100644 0003-Config-changes.patch
 rename 0010-Configure-USB-power-settings-for-PinePhone-Pro.patch => 0003-Configure-USB-power-settings-for-PinePhone-Pro.patch (92%)
 delete mode 100644 0004-Add-kconfig-include.patch
 delete mode 100644 0005-Add-pinephone-pro-rk3399.h.patch
 delete mode 100644 0006-Added-dts-to-makefile.patch
 delete mode 100644 0007-u-boot.dtsi-fixes.patch
 delete mode 100644 0008-fix-boot-order.patch
 delete mode 100644 0011-Do-various-cleanups-in-U-Boot-as-spotted.patch

diff --git a/0001-PPP.patch b/0001-PPP.patch
deleted file mode 100644
index f2326a6..0000000
--- a/0001-PPP.patch
+++ /dev/null
@@ -1,241 +0,0 @@
-From c4d3ac73a3f19d2372e3d35e833665b2ee1f11fa Mon Sep 17 00:00:00 2001
-From: Martijn Braam <martijn@brixit.nl>
-Date: Sat, 12 Dec 2020 13:31:03 +0100
-Subject: [PATCH 1/8] PPP
-
----
- arch/arm/mach-rockchip/rk3399/Kconfig         |  7 ++
- board/pine64/pinephone-pro-rk3399/Kconfig     | 15 +++
- board/pine64/pinephone-pro-rk3399/MAINTAINERS |  8 ++
- board/pine64/pinephone-pro-rk3399/Makefile    |  1 +
- .../pinephone-pro-rk3399.c                    | 56 +++++++++++
- configs/pinephone-pro-rk3399_defconfig        | 92 +++++++++++++++++++
- 6 files changed, 179 insertions(+)
- create mode 100644 board/pine64/pinephone-pro-rk3399/Kconfig
- create mode 100644 board/pine64/pinephone-pro-rk3399/MAINTAINERS
- create mode 100644 board/pine64/pinephone-pro-rk3399/Makefile
- create mode 100644 board/pine64/pinephone-pro-rk3399/pinephone-pro-rk3399.c
- create mode 100644 configs/pinephone-pro-rk3399_defconfig
-
-diff --git a/arch/arm/mach-rockchip/rk3399/Kconfig b/arch/arm/mach-rockchip/rk3399/Kconfig
-index 17628f9171..35b1125906 100644
---- a/arch/arm/mach-rockchip/rk3399/Kconfig
-+++ b/arch/arm/mach-rockchip/rk3399/Kconfig
-@@ -28,6 +28,13 @@ config TARGET_PINEBOOK_PRO_RK3399
- 	  with 4Gb RAM, onboard eMMC, USB-C, a USB3 and USB2 port,
- 	  1920*1080 screen and all the usual laptop features.
- 
-+config TARGET_PINEPHONE_PRO_RK3399
-+	bool "PinePhone Pro"
-+	help
-+	  PinePhone Pro is a phone based on the Rockchip rk3399 SoC
-+	  with 4Gb RAM, onboard eMMC, USB-C, a headphone jack,
-+	  720x1440 screen and an external Quectel USB modem.
-+
- config TARGET_PUMA_RK3399
- 	bool "Theobroma Systems RK3399-Q7 (Puma)"
- 	help
-diff --git a/board/pine64/pinephone-pro-rk3399/Kconfig b/board/pine64/pinephone-pro-rk3399/Kconfig
-new file mode 100644
-index 0000000000..13d6465ae6
---- /dev/null
-+++ b/board/pine64/pinephone-pro-rk3399/Kconfig
-@@ -0,0 +1,15 @@
-+if TARGET_PINEPHONE_PRO_RK3399
-+
-+config SYS_BOARD
-+	default "pinephone-pro-rk3399"
-+
-+config SYS_VENDOR
-+	default "pine64"
-+
-+config SYS_CONFIG_NAME
-+	default "pinephone-pro-rk3399"
-+
-+config BOARD_SPECIFIC_OPTIONS
-+	def_bool y
-+
-+endif
-diff --git a/board/pine64/pinephone-pro-rk3399/MAINTAINERS b/board/pine64/pinephone-pro-rk3399/MAINTAINERS
-new file mode 100644
-index 0000000000..227c1c0bea
---- /dev/null
-+++ b/board/pine64/pinephone-pro-rk3399/MAINTAINERS
-@@ -0,0 +1,8 @@
-+PINEBOOK_PRO
-+M:	Peter Robinson <pbrobinson@gmail.com>
-+S:	Maintained
-+F:	board/pine64/rk3399-pinebook-pro/
-+F:	include/configs/rk3399-pinebook-pro.h
-+F:	arch/arm/dts/rk3399-pinebook-pro.dts
-+F:	arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi
-+F:	configs/pinebook-pro-rk3399_defconfig
-diff --git a/board/pine64/pinephone-pro-rk3399/Makefile b/board/pine64/pinephone-pro-rk3399/Makefile
-new file mode 100644
-index 0000000000..8d9203053e
---- /dev/null
-+++ b/board/pine64/pinephone-pro-rk3399/Makefile
-@@ -0,0 +1 @@
-+obj-y	+= pinephone-pro-rk3399.o
-diff --git a/board/pine64/pinephone-pro-rk3399/pinephone-pro-rk3399.c b/board/pine64/pinephone-pro-rk3399/pinephone-pro-rk3399.c
-new file mode 100644
-index 0000000000..d79084614f
---- /dev/null
-+++ b/board/pine64/pinephone-pro-rk3399/pinephone-pro-rk3399.c
-@@ -0,0 +1,56 @@
-+// SPDX-License-Identifier: GPL-2.0+
-+/*
-+ * (C) Copyright 2019 Vasily Khoruzhick <anarsoul@gmail.com>
-+ */
-+
-+#include <common.h>
-+#include <dm.h>
-+#include <init.h>
-+#include <syscon.h>
-+#include <asm/io.h>
-+#include <asm/arch-rockchip/clock.h>
-+#include <asm/arch-rockchip/grf_rk3399.h>
-+#include <asm/arch-rockchip/hardware.h>
-+#include <asm/arch-rockchip/misc.h>
-+
-+#define GRF_IO_VSEL_BT565_SHIFT 0
-+#define PMUGRF_CON0_VSEL_SHIFT 8
-+
-+#ifdef CONFIG_MISC_INIT_R
-+static void setup_iodomain(void)
-+{
-+	struct rk3399_grf_regs *grf =
-+	    syscon_get_first_range(ROCKCHIP_SYSCON_GRF);
-+	struct rk3399_pmugrf_regs *pmugrf =
-+	    syscon_get_first_range(ROCKCHIP_SYSCON_PMUGRF);
-+
-+	/* BT565 is in 1.8v domain */
-+	rk_setreg(&grf->io_vsel, 1 << GRF_IO_VSEL_BT565_SHIFT);
-+
-+	/* Set GPIO1 1.8v/3.0v source select to PMU1830_VOL */
-+	rk_setreg(&pmugrf->soc_con0, 1 << PMUGRF_CON0_VSEL_SHIFT);
-+}
-+
-+int misc_init_r(void)
-+{
-+	const u32 cpuid_offset = 0x7;
-+	const u32 cpuid_length = 0x10;
-+	u8 cpuid[cpuid_length];
-+	int ret;
-+
-+	setup_iodomain();
-+
-+	ret = rockchip_cpuid_from_efuse(cpuid_offset, cpuid_length, cpuid);
-+	if (ret)
-+		return ret;
-+
-+	ret = rockchip_cpuid_set(cpuid, cpuid_length);
-+	if (ret)
-+		return ret;
-+
-+	ret = rockchip_setup_macaddr();
-+
-+	return ret;
-+}
-+
-+#endif
-diff --git a/configs/pinephone-pro-rk3399_defconfig b/configs/pinephone-pro-rk3399_defconfig
-new file mode 100644
-index 0000000000..320ce65ffb
---- /dev/null
-+++ b/configs/pinephone-pro-rk3399_defconfig
-@@ -0,0 +1,92 @@
-+CONFIG_ARM=y
-+CONFIG_ARCH_ROCKCHIP=y
-+CONFIG_SYS_TEXT_BASE=0x00200000
-+CONFIG_NR_DRAM_BANKS=1
-+CONFIG_ENV_SIZE=0x8000
-+CONFIG_ROCKCHIP_RK3399=y
-+CONFIG_TARGET_PINEPHONE_PRO_RK3399=y
-+CONFIG_DEBUG_UART_BASE=0xFF1A0000
-+CONFIG_DEBUG_UART_CLOCK=24000000
-+CONFIG_SPL_SPI_FLASH_SUPPORT=y
-+CONFIG_SPL_SPI_SUPPORT=y
-+CONFIG_DEFAULT_DEVICE_TREE="rk3399-pinephone-pro"
-+CONFIG_DEBUG_UART=y
-+CONFIG_BOOTDELAY=3
-+CONFIG_USE_PREBOOT=y
-+CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-pinephone-pro.dtb"
-+CONFIG_DISPLAY_BOARDINFO_LATE=y
-+CONFIG_MISC_INIT_R=y
-+# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
-+CONFIG_SPL_STACK_R=y
-+CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x10000
-+CONFIG_SPL_MTD_SUPPORT=y
-+CONFIG_SPL_SPI_LOAD=y
-+CONFIG_TPL=y
-+CONFIG_CMD_BOOTZ=y
-+CONFIG_CMD_GPIO=y
-+CONFIG_CMD_GPT=y
-+CONFIG_CMD_I2C=y
-+CONFIG_CMD_MMC=y
-+CONFIG_CMD_PCI=y
-+CONFIG_CMD_USB=y
-+# CONFIG_CMD_SETEXPR is not set
-+CONFIG_CMD_TIME=y
-+CONFIG_CMD_PMIC=y
-+CONFIG_CMD_REGULATOR=y
-+CONFIG_SPL_OF_CONTROL=y
-+CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
-+CONFIG_ENV_IS_IN_SPI_FLASH=y
-+CONFIG_SYS_RELOC_GD_ENV_ADDR=y
-+CONFIG_ROCKCHIP_GPIO=y
-+CONFIG_SYS_I2C_ROCKCHIP=y
-+CONFIG_DM_KEYBOARD=y
-+CONFIG_LED=y
-+CONFIG_LED_GPIO=y
-+CONFIG_MISC=y
-+CONFIG_ROCKCHIP_EFUSE=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_SF_DEFAULT_SPEED=20000000
-+CONFIG_SPI_FLASH_GIGADEVICE=y
-+CONFIG_SPI_FLASH_WINBOND=y
-+CONFIG_DM_ETH=y
-+CONFIG_NVME=y
-+CONFIG_PCI=y
-+CONFIG_PHY_ROCKCHIP_INNO_USB2=y
-+CONFIG_PHY_ROCKCHIP_TYPEC=y
-+CONFIG_DM_PMIC_FAN53555=y
-+CONFIG_PMIC_RK8XX=y
-+CONFIG_REGULATOR_PWM=y
-+CONFIG_REGULATOR_RK8XX=y
-+CONFIG_PWM_ROCKCHIP=y
-+CONFIG_RAM_RK3399_LPDDR4=y
-+CONFIG_DM_RESET=y
-+CONFIG_DM_RNG=y
-+CONFIG_RNG_ROCKCHIP=y
-+CONFIG_BAUDRATE=1500000
-+CONFIG_DEBUG_UART_SHIFT=2
-+CONFIG_ROCKCHIP_SPI=y
-+CONFIG_SYSRESET=y
-+CONFIG_USB=y
-+CONFIG_USB_XHCI_HCD=y
-+CONFIG_USB_XHCI_DWC3=y
-+CONFIG_USB_EHCI_HCD=y
-+CONFIG_USB_EHCI_GENERIC=y
-+CONFIG_USB_OHCI_HCD=y
-+CONFIG_USB_OHCI_GENERIC=y
-+CONFIG_USB_DWC3=y
-+CONFIG_USB_DWC3_GENERIC=y
-+CONFIG_USB_KEYBOARD=y
-+CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE=y
-+CONFIG_USB_HOST_ETHER=y
-+CONFIG_USB_ETHER_ASIX=y
-+CONFIG_USB_ETHER_RTL8152=y
-+CONFIG_DM_VIDEO=y
-+CONFIG_DISPLAY=y
-+CONFIG_VIDEO_ROCKCHIP=y
-+CONFIG_DISPLAY_ROCKCHIP_EDP=y
-+CONFIG_SPL_TINY_MEMSET=y
-+CONFIG_ERRNO_STR=y
--- 
-2.33.0
diff --git a/0002-Add-ppp-dt.patch b/0001-rockchip-Add-initial-support-for-the-PinePhone-Pro.patch
similarity index 55%
rename from 0002-Add-ppp-dt.patch
rename to 0001-rockchip-Add-initial-support-for-the-PinePhone-Pro.patch
index 997d0aa..3e48d2e 100644
--- a/0002-Add-ppp-dt.patch
+++ b/0001-rockchip-Add-initial-support-for-the-PinePhone-Pro.patch
@@ -1,24 +1,65 @@
-From 98b43f8c80a3ce16363f6a386b23bda10a738ffa Mon Sep 17 00:00:00 2001
+From eea38c80ff858222e15ba4d79a0cb811adbdfc23 Mon Sep 17 00:00:00 2001
 From: Martijn Braam <martijn@brixit.nl>
-Date: Sun, 13 Dec 2020 19:21:12 +0100
-Subject: [PATCH 2/8] Add ppp dt
+Date: Sat, 12 Dec 2020 13:31:03 +0100
+Subject: [PATCH] rockchip: Add initial support for the PinePhone Pro
 
+This is a new device by PINE64 that's very similar to the Pinebook Pro
+that's already supported.
+
+Specification:
+- Rockchip RK3399
+- 4GB Dual-Channel LPDDR4
+- 128GB eMMC
+- mSD card slot
+- AP6255 for 802.11ac WiFi and Bluetooth
+- 6 inch 720*1440 DSI display
+- Quectel EG25g usb modem
+- Type-C port with alt-mode display (DP 1.2) and PD charging.
+
+Signed-off-by: Martijn Braam <martijn@brixit.nl>
 ---
- arch/arm/dts/rk3399-pinephone-pro-u-boot.dtsi |  43 ++
- arch/arm/dts/rk3399-pinephone-pro.dts         | 520 +++++++++++++++++++
- 2 files changed, 563 insertions(+)
+ arch/arm/dts/Makefile                         |   1 +
+ arch/arm/dts/rk3399-pinephone-pro-u-boot.dtsi |  44 ++
+ arch/arm/dts/rk3399-pinephone-pro.dts         | 520 ++++++++++++++++++
+ arch/arm/mach-rockchip/rk3399/Kconfig         |   8 +
+ board/pine64/pinephone-pro-rk3399/Kconfig     |  15 +
+ board/pine64/pinephone-pro-rk3399/MAINTAINERS |   8 +
+ board/pine64/pinephone-pro-rk3399/Makefile    |   1 +
+ .../pinephone-pro-rk3399.c                    |  57 ++
+ configs/pinephone-pro-rk3399_defconfig        |  92 ++++
+ include/configs/pinephone-pro-rk3399.h        |  23 +
+ 10 files changed, 769 insertions(+)
  create mode 100644 arch/arm/dts/rk3399-pinephone-pro-u-boot.dtsi
  create mode 100644 arch/arm/dts/rk3399-pinephone-pro.dts
+ create mode 100644 board/pine64/pinephone-pro-rk3399/Kconfig
+ create mode 100644 board/pine64/pinephone-pro-rk3399/MAINTAINERS
+ create mode 100644 board/pine64/pinephone-pro-rk3399/Makefile
+ create mode 100644 board/pine64/pinephone-pro-rk3399/pinephone-pro-rk3399.c
+ create mode 100644 configs/pinephone-pro-rk3399_defconfig
+ create mode 100644 include/configs/pinephone-pro-rk3399.h
 
+diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
+index aeaec713..6f123425 100644
+--- a/arch/arm/dts/Makefile
++++ b/arch/arm/dts/Makefile
+@@ -145,6 +145,7 @@ dtb-$(CONFIG_ROCKCHIP_RK3399) += \
+ 	rk3399-nanopi-r4s.dtb \
+ 	rk3399-orangepi.dtb \
+ 	rk3399-pinebook-pro.dtb \
++	rk3399-pinephone-pro.dtb \
+ 	rk3399-puma-haikou.dtb \
+ 	rk3399-roc-pc.dtb \
+ 	rk3399-roc-pc-mezzanine.dtb \
 diff --git a/arch/arm/dts/rk3399-pinephone-pro-u-boot.dtsi b/arch/arm/dts/rk3399-pinephone-pro-u-boot.dtsi
 new file mode 100644
-index 0000000000..7a058477db
+index 00000000..9d44db59
 --- /dev/null
 +++ b/arch/arm/dts/rk3399-pinephone-pro-u-boot.dtsi
-@@ -0,0 +1,43 @@
+@@ -0,0 +1,44 @@
 +// SPDX-License-Identifier: GPL-2.0+
 +/*
 + * Copyright (C) 2019 Peter Robinson <pbrobinson at gmail.com>
++ * Copyright (C) 2021 Martijn Braam <martijn at brixit.nl>
 + */
 +
 +#include "rk3399-u-boot.dtsi"
@@ -30,7 +71,7 @@ index 0000000000..7a058477db
 +	};
 +
 +	chosen {
-+		u-boot,spl-boot-order = "same-as-spl", &sdhci, &spiflash, &sdmmc;
++		u-boot,spl-boot-order = "same-as-spl", &sdhci, &sdmmc;
 +	};
 +
 +	config {
@@ -61,13 +102,13 @@ index 0000000000..7a058477db
 +};
 diff --git a/arch/arm/dts/rk3399-pinephone-pro.dts b/arch/arm/dts/rk3399-pinephone-pro.dts
 new file mode 100644
-index 0000000000..78d4760c8e
+index 00000000..3fe1845c
 --- /dev/null
 +++ b/arch/arm/dts/rk3399-pinephone-pro.dts
 @@ -0,0 +1,520 @@
 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
 +/*
-+ * Copyright (c) 2020 Martijn Braam <martijn@brixit.nl>
++ * Copyright (c) 2021 Martijn Braam <martijn@brixit.nl>
 + */
 +
 +/dts-v1/;
@@ -75,8 +116,8 @@ index 0000000000..78d4760c8e
 +#include "rk3399-opp.dtsi"
 +
 +/ {
-+	model = "Pine64 PinePhonePro";
-+	compatible = "pine64,pinephonepro", "rockchip,rk3399";
++	model = "Pine64 PinePhone Pro";
++	compatible = "pine64,pinephone-pro", "rockchip,rk3399";
 +
 +	chosen {
 +		stdout-path = "serial2:1500000n8";
@@ -585,5 +626,264 @@ index 0000000000..78d4760c8e
 +&vopl_mmu {
 +	status = "okay";
 +};
+diff --git a/arch/arm/mach-rockchip/rk3399/Kconfig b/arch/arm/mach-rockchip/rk3399/Kconfig
+index 17628f91..3ba603ca 100644
+--- a/arch/arm/mach-rockchip/rk3399/Kconfig
++++ b/arch/arm/mach-rockchip/rk3399/Kconfig
+@@ -28,6 +28,13 @@ config TARGET_PINEBOOK_PRO_RK3399
+ 	  with 4Gb RAM, onboard eMMC, USB-C, a USB3 and USB2 port,
+ 	  1920*1080 screen and all the usual laptop features.
+ 
++config TARGET_PINEPHONE_PRO_RK3399
++	bool "PinePhone Pro"
++	help
++	  PinePhone Pro is a phone based on the Rockchip rk3399 SoC
++	  with 4Gb RAM, onboard eMMC, USB-C, a headphone jack,
++	  720x1440 screen and an external Quectel USB modem.
++
+ config TARGET_PUMA_RK3399
+ 	bool "Theobroma Systems RK3399-Q7 (Puma)"
+ 	help
+@@ -154,6 +161,7 @@ endif # BOOTCOUNT_LIMIT
+ source "board/firefly/roc-pc-rk3399/Kconfig"
+ source "board/google/gru/Kconfig"
+ source "board/pine64/pinebook-pro-rk3399/Kconfig"
++source "board/pine64/pinephone-pro-rk3399/Kconfig"
+ source "board/pine64/rockpro64_rk3399/Kconfig"
+ source "board/rockchip/evb_rk3399/Kconfig"
+ source "board/theobroma-systems/puma_rk3399/Kconfig"
+diff --git a/board/pine64/pinephone-pro-rk3399/Kconfig b/board/pine64/pinephone-pro-rk3399/Kconfig
+new file mode 100644
+index 00000000..13d6465a
+--- /dev/null
++++ b/board/pine64/pinephone-pro-rk3399/Kconfig
+@@ -0,0 +1,15 @@
++if TARGET_PINEPHONE_PRO_RK3399
++
++config SYS_BOARD
++	default "pinephone-pro-rk3399"
++
++config SYS_VENDOR
++	default "pine64"
++
++config SYS_CONFIG_NAME
++	default "pinephone-pro-rk3399"
++
++config BOARD_SPECIFIC_OPTIONS
++	def_bool y
++
++endif
+diff --git a/board/pine64/pinephone-pro-rk3399/MAINTAINERS b/board/pine64/pinephone-pro-rk3399/MAINTAINERS
+new file mode 100644
+index 00000000..9ca4fc4c
+--- /dev/null
++++ b/board/pine64/pinephone-pro-rk3399/MAINTAINERS
+@@ -0,0 +1,8 @@
++PINEPHONE_PRO
++M:	Martijn Braam <martijn@brixit.nl>
++S:	Maintained
++F:	board/pine64/rk3399-pinephone-pro/
++F:	include/configs/rk3399-pinephone-pro.h
++F:	arch/arm/dts/rk3399-pinephone-pro.dts
++F:	arch/arm/dts/rk3399-pinephone-pro-u-boot.dtsi
++F:	configs/pinephone-pro-rk3399_defconfig
+diff --git a/board/pine64/pinephone-pro-rk3399/Makefile b/board/pine64/pinephone-pro-rk3399/Makefile
+new file mode 100644
+index 00000000..8d920305
+--- /dev/null
++++ b/board/pine64/pinephone-pro-rk3399/Makefile
+@@ -0,0 +1 @@
++obj-y	+= pinephone-pro-rk3399.o
+diff --git a/board/pine64/pinephone-pro-rk3399/pinephone-pro-rk3399.c b/board/pine64/pinephone-pro-rk3399/pinephone-pro-rk3399.c
+new file mode 100644
+index 00000000..8efeb6ea
+--- /dev/null
++++ b/board/pine64/pinephone-pro-rk3399/pinephone-pro-rk3399.c
+@@ -0,0 +1,57 @@
++// SPDX-License-Identifier: GPL-2.0+
++/*
++ * (C) Copyright 2019 Vasily Khoruzhick <anarsoul@gmail.com>
++ * (C) Copyright 2021 Martijn Braam <martijn@brixit.nl>
++ */
++
++#include <common.h>
++#include <dm.h>
++#include <init.h>
++#include <syscon.h>
++#include <asm/io.h>
++#include <asm/arch-rockchip/clock.h>
++#include <asm/arch-rockchip/grf_rk3399.h>
++#include <asm/arch-rockchip/hardware.h>
++#include <asm/arch-rockchip/misc.h>
++
++#define GRF_IO_VSEL_BT565_SHIFT 0
++#define PMUGRF_CON0_VSEL_SHIFT 8
++
++#ifdef CONFIG_MISC_INIT_R
++static void setup_iodomain(void)
++{
++	struct rk3399_grf_regs *grf =
++	    syscon_get_first_range(ROCKCHIP_SYSCON_GRF);
++	struct rk3399_pmugrf_regs *pmugrf =
++	    syscon_get_first_range(ROCKCHIP_SYSCON_PMUGRF);
++
++	/* BT565 is in 1.8v domain */
++	rk_setreg(&grf->io_vsel, 1 << GRF_IO_VSEL_BT565_SHIFT);
++
++	/* Set GPIO1 1.8v/3.0v source select to PMU1830_VOL */
++	rk_setreg(&pmugrf->soc_con0, 1 << PMUGRF_CON0_VSEL_SHIFT);
++}
++
++int misc_init_r(void)
++{
++	const u32 cpuid_offset = 0x7;
++	const u32 cpuid_length = 0x10;
++	u8 cpuid[cpuid_length];
++	int ret;
++
++	setup_iodomain();
++
++	ret = rockchip_cpuid_from_efuse(cpuid_offset, cpuid_length, cpuid);
++	if (ret)
++		return ret;
++
++	ret = rockchip_cpuid_set(cpuid, cpuid_length);
++	if (ret)
++		return ret;
++
++	ret = rockchip_setup_macaddr();
++
++	return ret;
++}
++
++#endif
+diff --git a/configs/pinephone-pro-rk3399_defconfig b/configs/pinephone-pro-rk3399_defconfig
+new file mode 100644
+index 00000000..2cf80f7d
+--- /dev/null
++++ b/configs/pinephone-pro-rk3399_defconfig
+@@ -0,0 +1,92 @@
++CONFIG_ARM=y
++CONFIG_SKIP_LOWLEVEL_INIT=y
++CONFIG_ARCH_ROCKCHIP=y
++CONFIG_SYS_TEXT_BASE=0x00200000
++CONFIG_NR_DRAM_BANKS=1
++CONFIG_ENV_SIZE=0x8000
++CONFIG_ROCKCHIP_RK3399=y
++CONFIG_TARGET_PINEPHONE_PRO_RK3399=y
++CONFIG_DEBUG_UART_BASE=0xFF1A0000
++CONFIG_DEBUG_UART_CLOCK=24000000
++CONFIG_SPL_SPI_FLASH_SUPPORT=y
++CONFIG_SPL_SPI_SUPPORT=y
++CONFIG_DEFAULT_DEVICE_TREE="rk3399-pinephone-pro"
++CONFIG_DEBUG_UART=y
++CONFIG_SYS_LOAD_ADDR=0x800800
++CONFIG_BOOTDELAY=3
++CONFIG_USE_PREBOOT=y
++CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-pinephone-pro.dtb"
++CONFIG_DISPLAY_BOARDINFO_LATE=y
++CONFIG_MISC_INIT_R=y
++# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
++CONFIG_SPL_STACK_R=y
++CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x10000
++CONFIG_SPL_MTD_SUPPORT=y
++CONFIG_SPL_SPI_LOAD=y
++CONFIG_TPL=y
++CONFIG_CMD_BOOTZ=y
++CONFIG_CMD_GPIO=y
++CONFIG_CMD_GPT=y
++CONFIG_CMD_I2C=y
++CONFIG_CMD_MMC=y
++CONFIG_CMD_PCI=y
++CONFIG_CMD_USB=y
++# CONFIG_CMD_SETEXPR is not set
++CONFIG_CMD_TIME=y
++CONFIG_CMD_PMIC=y
++CONFIG_CMD_REGULATOR=y
++CONFIG_SPL_OF_CONTROL=y
++CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
++CONFIG_ENV_IS_IN_SPI_FLASH=y
++CONFIG_SYS_RELOC_GD_ENV_ADDR=y
++CONFIG_ROCKCHIP_GPIO=y
++CONFIG_SYS_I2C_ROCKCHIP=y
++CONFIG_DM_KEYBOARD=y
++CONFIG_LED=y
++CONFIG_LED_GPIO=y
++CONFIG_MISC=y
++CONFIG_ROCKCHIP_EFUSE=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_SF_DEFAULT_SPEED=20000000
++CONFIG_SPI_FLASH_GIGADEVICE=y
++CONFIG_SPI_FLASH_WINBOND=y
++CONFIG_DM_ETH=y
++CONFIG_PHY_ROCKCHIP_INNO_USB2=y
++CONFIG_PHY_ROCKCHIP_TYPEC=y
++CONFIG_DM_PMIC_FAN53555=y
++CONFIG_PMIC_RK8XX=y
++CONFIG_REGULATOR_PWM=y
++CONFIG_REGULATOR_RK8XX=y
++CONFIG_PWM_ROCKCHIP=y
++CONFIG_RAM_RK3399_LPDDR4=y
++CONFIG_DM_RESET=y
++CONFIG_DM_RNG=y
++CONFIG_RNG_ROCKCHIP=y
++CONFIG_BAUDRATE=1500000
++CONFIG_DEBUG_UART_SHIFT=2
++CONFIG_ROCKCHIP_SPI=y
++CONFIG_SYSRESET=y
++CONFIG_USB=y
++CONFIG_USB_XHCI_HCD=y
++CONFIG_USB_XHCI_DWC3=y
++CONFIG_USB_EHCI_HCD=y
++CONFIG_USB_EHCI_GENERIC=y
++CONFIG_USB_OHCI_HCD=y
++CONFIG_USB_OHCI_GENERIC=y
++CONFIG_USB_DWC3=y
++CONFIG_USB_DWC3_GENERIC=y
++CONFIG_USB_KEYBOARD=y
++CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE=y
++CONFIG_USB_HOST_ETHER=y
++CONFIG_USB_ETHER_ASIX=y
++CONFIG_USB_ETHER_RTL8152=y
++CONFIG_DM_VIDEO=y
++CONFIG_DISPLAY=y
++CONFIG_VIDEO_ROCKCHIP=y
++CONFIG_DISPLAY_ROCKCHIP_EDP=y
++CONFIG_SPL_TINY_MEMSET=y
++CONFIG_ERRNO_STR=y
+diff --git a/include/configs/pinephone-pro-rk3399.h b/include/configs/pinephone-pro-rk3399.h
+new file mode 100644
+index 00000000..fefa793f
+--- /dev/null
++++ b/include/configs/pinephone-pro-rk3399.h
+@@ -0,0 +1,23 @@
++/* SPDX-License-Identifier: GPL-2.0+ */
++/*
++ * Copyright (C) 2016 Rockchip Electronics Co., Ltd
++ * Copyright (C) 2020 Peter Robinson <pbrobinson at gmail.com>
++ * Copyright (C) 2021 Martijn Braam <martijn@brixit.nl>
++ */
++
++#ifndef __PINEPHONE_PRO_RK3399_H
++#define __PINEPHONE_PRO_RK3399_H
++
++#define ROCKCHIP_DEVICE_SETTINGS \
++		"stdin=serial,usbkbd\0" \
++		"stdout=serial,vidconsole\0" \
++		"stderr=serial,vidconsole\0"
++
++#include <configs/rk3399_common.h>
++
++#define SDRAM_BANK_SIZE			(2UL << 30)
++
++#define CONFIG_USB_OHCI_NEW
++#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS     2
++
++#endif
 -- 
-2.33.0
+2.34.1
+
diff --git a/0009-Correct-boot-order-to-be-USB-SD-eMMC.patch b/0002-Correct-boot-order-to-be-USB-SD-eMMC.patch
similarity index 100%
rename from 0009-Correct-boot-order-to-be-USB-SD-eMMC.patch
rename to 0002-Correct-boot-order-to-be-USB-SD-eMMC.patch
diff --git a/0003-Config-changes.patch b/0003-Config-changes.patch
deleted file mode 100644
index da45a05..0000000
--- a/0003-Config-changes.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 6e64cdb39e4452315cf9a4d1e9e89691403c3089 Mon Sep 17 00:00:00 2001
-From: Martijn Braam <martijn@brixit.nl>
-Date: Sun, 13 Dec 2020 19:36:14 +0100
-Subject: [PATCH 3/8] Config changes
-
----
- configs/pinephone-pro-rk3399_defconfig | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/configs/pinephone-pro-rk3399_defconfig b/configs/pinephone-pro-rk3399_defconfig
-index 320ce65ffb..1c2e7f278d 100644
---- a/configs/pinephone-pro-rk3399_defconfig
-+++ b/configs/pinephone-pro-rk3399_defconfig
-@@ -53,8 +53,6 @@ CONFIG_SF_DEFAULT_SPEED=20000000
- CONFIG_SPI_FLASH_GIGADEVICE=y
- CONFIG_SPI_FLASH_WINBOND=y
- CONFIG_DM_ETH=y
--CONFIG_NVME=y
--CONFIG_PCI=y
- CONFIG_PHY_ROCKCHIP_INNO_USB2=y
- CONFIG_PHY_ROCKCHIP_TYPEC=y
- CONFIG_DM_PMIC_FAN53555=y
--- 
-2.33.0
-
diff --git a/0010-Configure-USB-power-settings-for-PinePhone-Pro.patch b/0003-Configure-USB-power-settings-for-PinePhone-Pro.patch
similarity index 92%
rename from 0010-Configure-USB-power-settings-for-PinePhone-Pro.patch
rename to 0003-Configure-USB-power-settings-for-PinePhone-Pro.patch
index 608493e..d2eb998 100644
--- a/0010-Configure-USB-power-settings-for-PinePhone-Pro.patch
+++ b/0003-Configure-USB-power-settings-for-PinePhone-Pro.patch
@@ -1,7 +1,7 @@
-From a200f151ddbc93ad1ac0619ebee0e629c1326b33 Mon Sep 17 00:00:00 2001
+From 8ee2257dda6bed2f1ae117e614637036003785d4 Mon Sep 17 00:00:00 2001
 From: Dragan Simic <dragan.simic@gmail.com>
 Date: Thu, 30 Dec 2021 00:08:51 +0100
-Subject: [PATCH 1/2] Configure USB power settings for PinePhone Pro
+Subject: [PATCH] Configure USB power settings for PinePhone Pro
 
 ---
  arch/arm/mach-rockchip/rk3399/rk3399.c        |  5 ++
@@ -11,10 +11,10 @@ Subject: [PATCH 1/2] Configure USB power settings for PinePhone Pro
  4 files changed, 72 insertions(+), 18 deletions(-)
 
 diff --git a/arch/arm/mach-rockchip/rk3399/rk3399.c b/arch/arm/mach-rockchip/rk3399/rk3399.c
-index c6434839..eeb77216 100644
+index d40969c8..644e4ab2 100644
 --- a/arch/arm/mach-rockchip/rk3399/rk3399.c
 +++ b/arch/arm/mach-rockchip/rk3399/rk3399.c
-@@ -245,9 +245,14 @@ void __weak led_setup(void)
+@@ -248,9 +248,14 @@ void __weak led_setup(void)
  {
  }
  
@@ -27,16 +27,16 @@ index c6434839..eeb77216 100644
  	led_setup();
 +	power_setup();
  
- #if defined(SPL_GPIO_SUPPORT)
+ #if defined(SPL_GPIO)
  	struct rockchip_cru *cru = rockchip_get_cru();
 diff --git a/board/pine64/pinephone-pro-rk3399/pinephone-pro-rk3399.c b/board/pine64/pinephone-pro-rk3399/pinephone-pro-rk3399.c
-index d7908461..5a9cc400 100644
+index 8efeb6ea..88583e31 100644
 --- a/board/pine64/pinephone-pro-rk3399/pinephone-pro-rk3399.c
 +++ b/board/pine64/pinephone-pro-rk3399/pinephone-pro-rk3399.c
-@@ -1,8 +1,14 @@
- // SPDX-License-Identifier: GPL-2.0+
+@@ -2,8 +2,14 @@
  /*
   * (C) Copyright 2019 Vasily Khoruzhick <anarsoul@gmail.com>
+  * (C) Copyright 2021 Martijn Braam <martijn@brixit.nl>
 + * (C) Copyright 2021 Dragan Simic <dsimic@buserror.io>
   */
  
@@ -48,7 +48,7 @@ index d7908461..5a9cc400 100644
  #include <common.h>
  #include <dm.h>
  #include <init.h>
-@@ -12,6 +18,8 @@
+@@ -13,6 +19,8 @@
  #include <asm/arch-rockchip/grf_rk3399.h>
  #include <asm/arch-rockchip/hardware.h>
  #include <asm/arch-rockchip/misc.h>
@@ -57,7 +57,7 @@ index d7908461..5a9cc400 100644
  
  #define GRF_IO_VSEL_BT565_SHIFT 0
  #define PMUGRF_CON0_VSEL_SHIFT 8
-@@ -19,15 +27,13 @@
+@@ -20,15 +28,13 @@
  #ifdef CONFIG_MISC_INIT_R
  static void setup_iodomain(void)
  {
@@ -77,7 +77,7 @@ index d7908461..5a9cc400 100644
  	rk_setreg(&pmugrf->soc_con0, 1 << PMUGRF_CON0_VSEL_SHIFT);
  }
  
-@@ -52,5 +58,43 @@ int misc_init_r(void)
+@@ -53,5 +59,43 @@ int misc_init_r(void)
  
  	return ret;
  }
@@ -123,10 +123,10 @@ index d7908461..5a9cc400 100644
 +}
 +#endif /* CONFIG_SPL_BUILD && POWER_SUPPORT && !OF_PLATDATA */
 diff --git a/configs/pinephone-pro-rk3399_defconfig b/configs/pinephone-pro-rk3399_defconfig
-index ad4b5e0c..2477d10d 100644
+index 2cf80f7d..b7ca9317 100644
 --- a/configs/pinephone-pro-rk3399_defconfig
 +++ b/configs/pinephone-pro-rk3399_defconfig
-@@ -21,6 +21,11 @@ CONFIG_SPL_STACK_R=y
+@@ -23,6 +23,11 @@ CONFIG_SPL_STACK_R=y
  CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x10000
  CONFIG_SPL_MTD_SUPPORT=y
  CONFIG_SPL_SPI_LOAD=y
@@ -138,7 +138,7 @@ index ad4b5e0c..2477d10d 100644
  CONFIG_TPL=y
  CONFIG_CMD_BOOTZ=y
  CONFIG_CMD_GPIO=y
-@@ -32,6 +37,7 @@ CONFIG_CMD_USB=y
+@@ -34,6 +39,7 @@ CONFIG_CMD_USB=y
  # CONFIG_CMD_SETEXPR is not set
  CONFIG_CMD_TIME=y
  CONFIG_CMD_PMIC=y
@@ -147,7 +147,7 @@ index ad4b5e0c..2477d10d 100644
  CONFIG_SPL_OF_CONTROL=y
  CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
 diff --git a/drivers/power/regulator/rk8xx.c b/drivers/power/regulator/rk8xx.c
-index a08e2151..e93d73d9 100644
+index 0ee07ad2..9d42a6ca 100644
 --- a/drivers/power/regulator/rk8xx.c
 +++ b/drivers/power/regulator/rk8xx.c
 @@ -16,14 +16,10 @@
@@ -224,5 +224,5 @@ index a08e2151..e93d73d9 100644
  }
 +#endif /* CONFIG_SPL_BUILD */
 -- 
-2.33.1
+2.34.1
 
diff --git a/0004-Add-kconfig-include.patch b/0004-Add-kconfig-include.patch
deleted file mode 100644
index efed2f7..0000000
--- a/0004-Add-kconfig-include.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 4101d635fb8d82a5f6e63decccddfcfdea9f081e Mon Sep 17 00:00:00 2001
-From: Martijn Braam <martijn@brixit.nl>
-Date: Sun, 13 Dec 2020 19:48:37 +0100
-Subject: [PATCH 4/8] Add kconfig include
-
----
- arch/arm/mach-rockchip/rk3399/Kconfig | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/arch/arm/mach-rockchip/rk3399/Kconfig b/arch/arm/mach-rockchip/rk3399/Kconfig
-index 35b1125906..3ba603ca80 100644
---- a/arch/arm/mach-rockchip/rk3399/Kconfig
-+++ b/arch/arm/mach-rockchip/rk3399/Kconfig
-@@ -161,6 +161,7 @@ endif # BOOTCOUNT_LIMIT
- source "board/firefly/roc-pc-rk3399/Kconfig"
- source "board/google/gru/Kconfig"
- source "board/pine64/pinebook-pro-rk3399/Kconfig"
-+source "board/pine64/pinephone-pro-rk3399/Kconfig"
- source "board/pine64/rockpro64_rk3399/Kconfig"
- source "board/rockchip/evb_rk3399/Kconfig"
- source "board/theobroma-systems/puma_rk3399/Kconfig"
--- 
-2.33.0
-
diff --git a/0005-Add-pinephone-pro-rk3399.h.patch b/0005-Add-pinephone-pro-rk3399.h.patch
deleted file mode 100644
index d28fba1..0000000
--- a/0005-Add-pinephone-pro-rk3399.h.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 13c8c6945856e57958fdf7e4ef338c21e1199f19 Mon Sep 17 00:00:00 2001
-From: Martijn Braam <martijn@brixit.nl>
-Date: Sun, 13 Dec 2020 19:52:09 +0100
-Subject: [PATCH 5/8] Add pinephone-pro-rk3399.h
-
----
- include/configs/pinephone-pro-rk3399.h | 22 ++++++++++++++++++++++
- 1 file changed, 22 insertions(+)
- create mode 100644 include/configs/pinephone-pro-rk3399.h
-
-diff --git a/include/configs/pinephone-pro-rk3399.h b/include/configs/pinephone-pro-rk3399.h
-new file mode 100644
-index 0000000000..aaaa344839
---- /dev/null
-+++ b/include/configs/pinephone-pro-rk3399.h
-@@ -0,0 +1,22 @@
-+/* SPDX-License-Identifier: GPL-2.0+ */
-+/*
-+ * Copyright (C) 2016 Rockchip Electronics Co., Ltd
-+ * Copyright (C) 2020 Peter Robinson <pbrobinson at gmail.com>
-+ */
-+
-+#ifndef __PINEPHONE_PRO_RK3399_H
-+#define __PINEPHONE_PRO_RK3399_H
-+
-+#define ROCKCHIP_DEVICE_SETTINGS \
-+		"stdin=serial,usbkbd\0" \
-+		"stdout=serial,vidconsole\0" \
-+		"stderr=serial,vidconsole\0"
-+
-+#include <configs/rk3399_common.h>
-+
-+#define SDRAM_BANK_SIZE			(2UL << 30)
-+
-+#define CONFIG_USB_OHCI_NEW
-+#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS     2
-+
-+#endif
--- 
-2.33.0
-
diff --git a/0006-Added-dts-to-makefile.patch b/0006-Added-dts-to-makefile.patch
deleted file mode 100644
index f24e81e..0000000
--- a/0006-Added-dts-to-makefile.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 3e8d6e4d57dd15acf104a8f11ff18833f8d7adc7 Mon Sep 17 00:00:00 2001
-From: Martijn Braam <martijn@brixit.nl>
-Date: Sun, 13 Dec 2020 19:57:49 +0100
-Subject: [PATCH 6/8] Added dts to makefile
-
----
- arch/arm/dts/Makefile | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
-index e2e8a5fb7a..ff07ae0270 100644
---- a/arch/arm/dts/Makefile
-+++ b/arch/arm/dts/Makefile
-@@ -135,6 +135,7 @@ dtb-$(CONFIG_ROCKCHIP_RK3399) += \
- 	rk3399-nanopi-r4s.dtb \
- 	rk3399-orangepi.dtb \
- 	rk3399-pinebook-pro.dtb \
-+	rk3399-pinephone-pro.dtb \
- 	rk3399-puma-haikou.dtb \
- 	rk3399-roc-pc.dtb \
- 	rk3399-roc-pc-mezzanine.dtb \
--- 
-2.33.0
diff --git a/0007-u-boot.dtsi-fixes.patch b/0007-u-boot.dtsi-fixes.patch
deleted file mode 100644
index 9e09c0c..0000000
--- a/0007-u-boot.dtsi-fixes.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 19150d65b1bed6831ba92a4cf3e7262518f1049f Mon Sep 17 00:00:00 2001
-From: Martijn Braam <martijn@brixit.nl>
-Date: Sun, 13 Dec 2020 20:02:56 +0100
-Subject: [PATCH 7/8] u-boot.dtsi fixes
-
----
- arch/arm/dts/rk3399-pinephone-pro-u-boot.dtsi | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/arch/arm/dts/rk3399-pinephone-pro-u-boot.dtsi b/arch/arm/dts/rk3399-pinephone-pro-u-boot.dtsi
-index 7a058477db..e52263aafe 100644
---- a/arch/arm/dts/rk3399-pinephone-pro-u-boot.dtsi
-+++ b/arch/arm/dts/rk3399-pinephone-pro-u-boot.dtsi
-@@ -12,7 +12,7 @@
- 	};
- 
- 	chosen {
--		u-boot,spl-boot-order = "same-as-spl", &sdhci, &spiflash, &sdmmc;
-+		u-boot,spl-boot-order = "same-as-spl", &sdhci, &sdmmc;
- 	};
- 
- 	config {
--- 
-2.33.0
diff --git a/0008-fix-boot-order.patch b/0008-fix-boot-order.patch
deleted file mode 100644
index a18a904..0000000
--- a/0008-fix-boot-order.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From b212ad24a604b00b240add35516b7381965deb31 Mon Sep 17 00:00:00 2001
-From: Alex Bee <knaerzche@gmail.com>
-Date: Thu, 17 Jun 2021 11:01:12 +0200
-Subject: [PATCH] rockchip: Fix MMC boot order
-
-Basically all, i.e. rk3036.dtsi, rk3128.dtsi, rk3xxx.dtsi, rk322x.dtsi,
-rk3288.dtsi, rk3308-u-boot.dtsi, rk3328-u-boot.dtsi, rk3399-u-boot.dtsi
-and px30-u-boot.dtsi Rockchip SoC devicetrees which have mmc indexes
-are defining eMMC as mmc0 and sdmmc as mmc1.
-This means that the rule to try to boot from the SD card first is ignored,
-which as per comment is what we want and is important for distros, which
-rely on that.
-
-Fix this by setting the correct mmc index, i.e. first from mmc1 (SD card),
-second from mmc0 (eMMC).
-
-Signed-off-by: Alex Bee <knaerzche@gmail.com>
-Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
----
- include/configs/rockchip-common.h | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/include/configs/rockchip-common.h b/include/configs/rockchip-common.h
-index 0b9e24d1db..ba7061a287 100644
---- a/include/configs/rockchip-common.h
-+++ b/include/configs/rockchip-common.h
-@@ -14,11 +14,11 @@
- 
- #ifndef CONFIG_SPL_BUILD
- 
--/* First try to boot from SD (index 0), then eMMC (index 1) */
-+/* First try to boot from SD (index 1), then eMMC (index 0) */
- #if CONFIG_IS_ENABLED(CMD_MMC)
- 	#define BOOT_TARGET_MMC(func) \
--		func(MMC, mmc, 0) \
--		func(MMC, mmc, 1)
-+		func(MMC, mmc, 1) \
-+		func(MMC, mmc, 0)
- #else
- 	#define BOOT_TARGET_MMC(func)
- #endif
--- 
-GitLab
-
diff --git a/0011-Do-various-cleanups-in-U-Boot-as-spotted.patch b/0011-Do-various-cleanups-in-U-Boot-as-spotted.patch
deleted file mode 100644
index c746588..0000000
--- a/0011-Do-various-cleanups-in-U-Boot-as-spotted.patch
+++ /dev/null
@@ -1,548 +0,0 @@
-From 3cbca80008850d06bb7ac1e1dc7939eeafcf68f4 Mon Sep 17 00:00:00 2001
-From: Dragan Simic <dragan.simic@gmail.com>
-Date: Thu, 30 Dec 2021 00:10:36 +0100
-Subject: [PATCH 2/2] Do various cleanups in U-Boot, as spotted
-
----
- common/spl/spl.c                 |  2 --
- drivers/core/device.c            | 22 ++++++++------------
- drivers/core/lists.c             | 32 +++++++++++------------------
- drivers/core/root.c              | 35 ++++++++++++--------------------
- drivers/core/uclass.c            |  8 ++++----
- drivers/i2c/i2c-uclass.c         | 28 ++++++++-----------------
- drivers/power/pmic/pmic-uclass.c | 11 ++++------
- drivers/power/pmic/rk8xx.c       | 22 +++++++++++---------
- 8 files changed, 63 insertions(+), 97 deletions(-)
-
-diff --git a/common/spl/spl.c b/common/spl/spl.c
-index 63c48fbf..aa73350f 100644
---- a/common/spl/spl.c
-+++ b/common/spl/spl.c
-@@ -628,8 +628,6 @@ void board_init_r(gd_t *dummy1, ulong dummy2)
- 		}
- 	}
- 	if (CONFIG_IS_ENABLED(HANDOFF)) {
--		int ret;
--
- 		ret = setup_spl_handoff();
- 		if (ret) {
- 			puts(SPL_TPL_PROMPT "Cannot set up SPL handoff\n");
-diff --git a/drivers/core/device.c b/drivers/core/device.c
-index 4b3dcb3b..39dd8f16 100644
---- a/drivers/core/device.c
-+++ b/drivers/core/device.c
-@@ -86,11 +86,11 @@ static int device_bind_common(struct udevice *parent, const struct driver *drv,
- 		    !CONFIG_IS_ENABLED(OF_PLATDATA)) {
- 			if (uc->uc_drv->name && ofnode_valid(node))
- 				dev_read_alias_seq(dev, &dev->req_seq);
--#if CONFIG_IS_ENABLED(OF_PRIOR_STAGE)
--			if (dev->req_seq == -1)
--				dev->req_seq =
--					uclass_find_next_free_req_seq(drv->id);
--#endif
-+
-+			if (CONFIG_IS_ENABLED(OF_PRIOR_STAGE)) {
-+				if (dev->req_seq == -1)
-+					dev->req_seq = uclass_find_next_free_req_seq(drv->id);
-+			}
- 		} else {
- 			dev->req_seq = uclass_find_next_free_req_seq(drv->id);
- 		}
-@@ -102,22 +102,19 @@ static int device_bind_common(struct udevice *parent, const struct driver *drv,
- 		if (CONFIG_IS_ENABLED(OF_PLATDATA)) {
- 			if (of_platdata_size) {
- 				dev->flags |= DM_FLAG_OF_PLATDATA;
--				if (of_platdata_size <
--						drv->platdata_auto_alloc_size)
-+				if (of_platdata_size < drv->platdata_auto_alloc_size)
- 					alloc = true;
- 			}
- 		}
- 		if (alloc) {
- 			dev->flags |= DM_FLAG_ALLOC_PDATA;
--			dev->platdata = calloc(1,
--					       drv->platdata_auto_alloc_size);
-+			dev->platdata = calloc(1, drv->platdata_auto_alloc_size);
- 			if (!dev->platdata) {
- 				ret = -ENOMEM;
- 				goto fail_alloc1;
- 			}
- 			if (CONFIG_IS_ENABLED(OF_PLATDATA) && platdata) {
--				memcpy(dev->platdata, platdata,
--				       of_platdata_size);
-+				memcpy(dev->platdata, platdata, of_platdata_size);
- 			}
- 		}
- 	}
-@@ -135,8 +132,7 @@ static int device_bind_common(struct udevice *parent, const struct driver *drv,
- 	if (parent) {
- 		size = parent->driver->per_child_platdata_auto_alloc_size;
- 		if (!size) {
--			size = parent->uclass->uc_drv->
--					per_child_platdata_auto_alloc_size;
-+			size = parent->uclass->uc_drv->per_child_platdata_auto_alloc_size;
- 		}
- 		if (size) {
- 			dev->flags |= DM_FLAG_ALLOC_PARENT_PDATA;
-diff --git a/drivers/core/lists.c b/drivers/core/lists.c
-index b23ee303..9c28060d 100644
---- a/drivers/core/lists.c
-+++ b/drivers/core/lists.c
-@@ -22,8 +22,7 @@
- 
- struct driver *lists_driver_lookup_name(const char *name)
- {
--	struct driver *drv =
--		ll_entry_start(struct driver, driver);
-+	struct driver *drv = ll_entry_start(struct driver, driver);
- 	const int n_ents = ll_entry_count(struct driver, driver);
- 	struct driver *entry;
- 
-@@ -38,8 +37,7 @@ struct driver *lists_driver_lookup_name(const char *name)
- 
- struct uclass_driver *lists_uclass_lookup(enum uclass_id id)
- {
--	struct uclass_driver *uclass =
--		ll_entry_start(struct uclass_driver, uclass);
-+	struct uclass_driver *uclass = ll_entry_start(struct uclass_driver, uclass);
- 	const int n_ents = ll_entry_count(struct uclass_driver, uclass);
- 	struct uclass_driver *entry;
- 
-@@ -53,8 +51,7 @@ struct uclass_driver *lists_uclass_lookup(enum uclass_id id)
- 
- static int bind_drivers_pass(struct udevice *parent, bool pre_reloc_only)
- {
--	struct driver_info *info =
--		ll_entry_start(struct driver_info, driver_info);
-+	struct driver_info *info = ll_entry_start(struct driver_info, driver_info);
- 	const int n_ents = ll_entry_count(struct driver_info, driver_info);
- 	bool missing_parent = false;
- 	int result = 0;
-@@ -192,7 +189,6 @@ int lists_bind_fdt(struct udevice *parent, ofnode node, struct udevice **devp,
- 	bool found = false;
- 	const char *name, *compat_list, *compat;
- 	int compat_length, i;
--	int result = 0;
- 	int ret = 0;
- 
- 	if (devp)
-@@ -203,8 +199,7 @@ int lists_bind_fdt(struct udevice *parent, ofnode node, struct udevice **devp,
- 	compat_list = ofnode_get_property(node, "compatible", &compat_length);
- 	if (!compat_list) {
- 		if (compat_length == -FDT_ERR_NOTFOUND) {
--			log_debug("Device '%s' has no compatible string\n",
--				  name);
-+			log_debug("Device '%s' has no compatible string\n", name);
- 			return 0;
- 		}
- 
-@@ -219,12 +214,10 @@ int lists_bind_fdt(struct udevice *parent, ofnode node, struct udevice **devp,
- 	 */
- 	for (i = 0; i < compat_length; i += strlen(compat) + 1) {
- 		compat = compat_list + i;
--		log_debug("   - attempt to match compatible string '%s'\n",
--			  compat);
-+		log_debug("   - attempt to match compatible string '%s'\n", compat);
- 
- 		for (entry = driver; entry != driver + n_ents; entry++) {
--			ret = driver_check_compatible(entry->of_match, &id,
--						      compat);
-+			ret = driver_check_compatible(entry->of_match, &id, compat);
- 			if (!ret)
- 				break;
- 		}
-@@ -240,8 +233,8 @@ int lists_bind_fdt(struct udevice *parent, ofnode node, struct udevice **devp,
- 		}
- 
- 		log_debug("   - found match at '%s': '%s' matches '%s'\n",
--			  entry->name, entry->of_match->compatible,
--			  id->compatible);
-+			  entry->name, entry->of_match->compatible, id->compatible);
-+
- 		ret = device_bind_with_driver_data(parent, entry, name,
- 						   id->data, node, &dev);
- 		if (ret == -ENODEV) {
-@@ -249,8 +242,7 @@ int lists_bind_fdt(struct udevice *parent, ofnode node, struct udevice **devp,
- 			continue;
- 		}
- 		if (ret) {
--			dm_warn("Error binding driver '%s': %d\n", entry->name,
--				ret);
-+			dm_warn("Error binding driver '%s': %d\n", entry->name, ret);
- 			return ret;
- 		} else {
- 			found = true;
-@@ -260,9 +252,9 @@ int lists_bind_fdt(struct udevice *parent, ofnode node, struct udevice **devp,
- 		break;
- 	}
- 
--	if (!found && !result && ret != -ENODEV)
-+	if (!found && ret != -ENODEV)
- 		log_debug("No match for node '%s'\n", name);
- 
--	return result;
-+	return 0;
- }
--#endif
-+#endif /* OF_CONTROL && !OF_PLATDATA */
-diff --git a/drivers/core/root.c b/drivers/core/root.c
-index 5f10d7a3..e4e0c978 100644
---- a/drivers/core/root.c
-+++ b/drivers/core/root.c
-@@ -52,8 +52,7 @@ void dm_fixup_for_gd_move(struct global_data *new_gd)
- 
- void fix_drivers(void)
- {
--	struct driver *drv =
--		ll_entry_start(struct driver, driver);
-+	struct driver *drv = ll_entry_start(struct driver, driver);
- 	const int n_ents = ll_entry_count(struct driver, driver);
- 	struct driver *entry;
- 
-@@ -85,8 +84,7 @@ void fix_drivers(void)
- 
- void fix_uclass(void)
- {
--	struct uclass_driver *uclass =
--		ll_entry_start(struct uclass_driver, uclass);
-+	struct uclass_driver *uclass = ll_entry_start(struct uclass_driver, uclass);
- 	const int n_ents = ll_entry_count(struct uclass_driver, uclass);
- 	struct uclass_driver *entry;
- 
-@@ -117,8 +115,7 @@ void fix_uclass(void)
- 
- void fix_devices(void)
- {
--	struct driver_info *dev =
--		ll_entry_start(struct driver_info, driver_info);
-+	struct driver_info *dev = ll_entry_start(struct driver_info, driver_info);
- 	const int n_ents = ll_entry_count(struct driver_info, driver_info);
- 	struct driver_info *entry;
- 
-@@ -152,7 +149,7 @@ int dm_init(bool of_live)
- 		DM_ROOT_NON_CONST->node = np_to_ofnode(gd_of_root());
- 	else
- 		DM_ROOT_NON_CONST->node = offset_to_ofnode(0);
--#endif
-+#endif /* OF_CONTROL */
- 	ret = device_probe(DM_ROOT_NON_CONST);
- 	if (ret)
- 		return ret;
-@@ -176,7 +173,7 @@ int dm_remove_devices_flags(uint flags)
- 
- 	return 0;
- }
--#endif
-+#endif /* DM_DEVICE_REMOVE */
- 
- int dm_scan_platdata(bool pre_reloc_only)
- {
-@@ -211,13 +208,11 @@ static int dm_scan_fdt_live(struct udevice *parent,
- 	int ret = 0, err;
- 
- 	for (np = node_parent->child; np; np = np->sibling) {
--
- 		if (!of_device_is_available(np)) {
- 			pr_debug("   - ignoring disabled device\n");
- 			continue;
- 		}
--		err = lists_bind_fdt(parent, np_to_ofnode(np), NULL,
--				     pre_reloc_only);
-+		err = lists_bind_fdt(parent, np_to_ofnode(np), NULL, pre_reloc_only);
- 		if (err && !ret) {
- 			ret = err;
- 			debug("%s: ret=%d\n", np->name, ret);
-@@ -254,11 +249,10 @@ static int dm_scan_fdt_node(struct udevice *parent, const void *blob,
- 		const char *node_name = fdt_get_name(blob, offset, NULL);
- 
- 		if (!fdtdec_get_is_enabled(blob, offset)) {
--			pr_debug("   - ignoring disabled device\n");
-+			debug("   - ignoring disabled device: %s\n", node_name);
- 			continue;
- 		}
--		err = lists_bind_fdt(parent, offset_to_ofnode(offset), NULL,
--				     pre_reloc_only);
-+		err = lists_bind_fdt(parent, offset_to_ofnode(offset), NULL, pre_reloc_only);
- 		if (err && !ret) {
- 			ret = err;
- 			debug("%s: ret=%d\n", node_name, ret);
-@@ -287,8 +281,7 @@ int dm_scan_fdt_dev(struct udevice *dev)
- int dm_scan_fdt(const void *blob, bool pre_reloc_only)
- {
- 	if (of_live_active())
--		return dm_scan_fdt_live(gd->dm_root, gd_of_root(),
--					pre_reloc_only);
-+		return dm_scan_fdt_live(gd->dm_root, gd_of_root(), pre_reloc_only);
- 
- 	return dm_scan_fdt_node(gd->dm_root, blob, 0, pre_reloc_only);
- }
-@@ -305,8 +298,7 @@ static int dm_scan_fdt_ofnode_path(const void *blob, const char *path,
- 	if (of_live_active())
- 		return dm_scan_fdt_live(gd->dm_root, node.np, pre_reloc_only);
- 
--	return dm_scan_fdt_node(gd->dm_root, blob, node.of_offset,
--				pre_reloc_only);
-+	return dm_scan_fdt_node(gd->dm_root, blob, node.of_offset, pre_reloc_only);
- }
- 
- int dm_extended_scan_fdt(const void *blob, bool pre_reloc_only)
-@@ -328,15 +320,14 @@ int dm_extended_scan_fdt(const void *blob, bool pre_reloc_only)
- 	for (i = 0; i < ARRAY_SIZE(nodes); i++) {
- 		ret = dm_scan_fdt_ofnode_path(blob, nodes[i], pre_reloc_only);
- 		if (ret) {
--			debug("dm_scan_fdt() scan for %s failed: %d\n",
--			      nodes[i], ret);
-+			debug("dm_scan_fdt() scan for %s failed: %d\n", nodes[i], ret);
- 			return ret;
- 		}
- 	}
- 
- 	return ret;
- }
--#endif
-+#endif /* OF_CONTROL && !OF_PLATDATA */
- 
- __weak int dm_scan_other(bool pre_reloc_only)
- {
-@@ -385,7 +376,7 @@ static int root_acpi_get_name(const struct udevice *dev, char *out_name)
- struct acpi_ops root_acpi_ops = {
- 	.get_name	= root_acpi_get_name,
- };
--#endif
-+#endif /* CONFIG_ACPIGEN */
- 
- /* This is the root driver - all drivers are children of this */
- U_BOOT_DRIVER(root_driver) = {
-diff --git a/drivers/core/uclass.c b/drivers/core/uclass.c
-index c3f1b73c..371dac1f 100644
---- a/drivers/core/uclass.c
-+++ b/drivers/core/uclass.c
-@@ -409,7 +409,7 @@ int uclass_find_device_by_phandle(enum uclass_id id, struct udevice *parent,
- 
- 	return -ENODEV;
- }
--#endif
-+#endif /* OF_CONTROL */
- 
- int uclass_get_device_by_driver(enum uclass_id id,
- 				const struct driver *find_drv,
-@@ -547,7 +547,7 @@ int uclass_get_device_by_phandle(enum uclass_id id, struct udevice *parent,
- 	ret = uclass_find_device_by_phandle(id, parent, name, &dev);
- 	return uclass_get_device_tail(dev, ret, devp);
- }
--#endif
-+#endif /* OF_CONTROL */
- 
- int uclass_first_device(enum uclass_id id, struct udevice **devp)
- {
-@@ -685,7 +685,7 @@ int uclass_unbind_device(struct udevice *dev)
- 	list_del(&dev->uclass_node);
- 	return 0;
- }
--#endif
-+#endif /* DM_DEVICE_REMOVE */
- 
- int uclass_resolve_seq(struct udevice *dev)
- {
-@@ -790,7 +790,7 @@ int uclass_pre_remove_device(struct udevice *dev)
- 
- 	return 0;
- }
--#endif
-+#endif /* DM_DEVICE_REMOVE */
- 
- UCLASS_DRIVER(nop) = {
- 	.id		= UCLASS_NOP,
-diff --git a/drivers/i2c/i2c-uclass.c b/drivers/i2c/i2c-uclass.c
-index 5c4626b0..815beb1f 100644
---- a/drivers/i2c/i2c-uclass.c
-+++ b/drivers/i2c/i2c-uclass.c
-@@ -621,12 +621,11 @@ int i2c_chip_ofdata_to_platdata(struct udevice *dev, struct dm_i2c_chip *chip)
- {
- 	int addr;
- 
--	chip->offset_len = dev_read_u32_default(dev, "u-boot,i2c-offset-len",
--						1);
-+	chip->offset_len = dev_read_u32_default(dev, "u-boot,i2c-offset-len", 1);
- 	chip->flags = 0;
- 	addr = dev_read_u32_default(dev, "reg", -1);
- 	if (addr == -1) {
--		debug("%s: I2C Node '%s' has no 'reg' property %s\n", __func__,
-+		debug("%s: I2C node '%s' has no 'reg' property %s\n", __func__,
- 		      dev_read_name(dev), dev->name);
- 		return log_ret(-EINVAL);
- 	}
-@@ -634,11 +633,9 @@ int i2c_chip_ofdata_to_platdata(struct udevice *dev, struct dm_i2c_chip *chip)
- 
- 	return 0;
- }
--#endif
- 
- static int i2c_pre_probe(struct udevice *dev)
- {
--#if CONFIG_IS_ENABLED(OF_CONTROL) && !CONFIG_IS_ENABLED(OF_PLATDATA)
- 	struct dm_i2c_bus *i2c = dev_get_uclass_priv(dev);
- 	unsigned int max = 0;
- 	ofnode node;
-@@ -646,45 +643,36 @@ static int i2c_pre_probe(struct udevice *dev)
- 
- 	i2c->max_transaction_bytes = 0;
- 	dev_for_each_subnode(node, dev) {
--		ret = ofnode_read_u32(node,
--				      "u-boot,i2c-transaction-bytes",
--				      &max);
-+		ret = ofnode_read_u32(node, "u-boot,i2c-transaction-bytes", &max);
- 		if (!ret && max > i2c->max_transaction_bytes)
- 			i2c->max_transaction_bytes = max;
- 	}
- 
- 	debug("%s: I2C bus: %s max transaction bytes: %d\n", __func__,
- 	      dev->name, i2c->max_transaction_bytes);
--#endif
-+
- 	return 0;
- }
- 
- static int i2c_post_probe(struct udevice *dev)
- {
--#if CONFIG_IS_ENABLED(OF_CONTROL) && !CONFIG_IS_ENABLED(OF_PLATDATA)
- 	struct dm_i2c_bus *i2c = dev_get_uclass_priv(dev);
- 
- 	i2c->speed_hz = dev_read_u32_default(dev, "clock-frequency",
- 					     I2C_SPEED_STANDARD_RATE);
- 
- 	return dm_i2c_set_bus_speed(dev, i2c->speed_hz);
--#else
--	return 0;
--#endif
- }
- 
- static int i2c_child_post_bind(struct udevice *dev)
- {
--#if CONFIG_IS_ENABLED(OF_CONTROL) && !CONFIG_IS_ENABLED(OF_PLATDATA)
- 	struct dm_i2c_chip *plat = dev_get_parent_platdata(dev);
- 
- 	if (!dev_of_valid(dev))
- 		return 0;
- 	return i2c_chip_ofdata_to_platdata(dev, plat);
--#else
--	return 0;
--#endif
- }
-+#endif /* OF_CONTROL && !OF_PLATDATA */
- 
- struct i2c_priv {
- 	int max_id;
-@@ -740,11 +728,13 @@ UCLASS_DRIVER(i2c) = {
- 	.post_bind	= i2c_post_bind,
- 	.init		= i2c_uclass_init,
- 	.priv_auto_alloc_size = sizeof(struct i2c_priv),
--	.pre_probe      = i2c_pre_probe,
--	.post_probe	= i2c_post_probe,
- 	.per_device_auto_alloc_size = sizeof(struct dm_i2c_bus),
- 	.per_child_platdata_auto_alloc_size = sizeof(struct dm_i2c_chip),
-+#if CONFIG_IS_ENABLED(OF_CONTROL) && !CONFIG_IS_ENABLED(OF_PLATDATA)
-+	.pre_probe      = i2c_pre_probe,
-+	.post_probe	= i2c_post_probe,
- 	.child_post_bind = i2c_child_post_bind,
-+#endif
- };
- 
- UCLASS_DRIVER(i2c_generic) = {
-diff --git a/drivers/power/pmic/pmic-uclass.c b/drivers/power/pmic/pmic-uclass.c
-index 77701719..b8b41c80 100644
---- a/drivers/power/pmic/pmic-uclass.c
-+++ b/drivers/power/pmic/pmic-uclass.c
-@@ -44,8 +44,7 @@ int pmic_bind_children(struct udevice *pmic, ofnode parent,
- 
- 			prefix_len = strlen(info->prefix);
- 			if (strncmp(info->prefix, node_name, prefix_len)) {
--				reg_name = ofnode_read_string(node,
--							      "regulator-name");
-+				reg_name = ofnode_read_string(node, "regulator-name");
- 				if (!reg_name)
- 					continue;
- 				if (strncmp(info->prefix, reg_name, prefix_len))
-@@ -54,8 +53,7 @@ int pmic_bind_children(struct udevice *pmic, ofnode parent,
- 
- 			drv = lists_driver_lookup_name(info->driver);
- 			if (!drv) {
--				debug("  - driver: '%s' not found!\n",
--				      info->driver);
-+				debug("  - driver: '%s' not found!\n", info->driver);
- 				continue;
- 			}
- 
-@@ -72,8 +70,7 @@ int pmic_bind_children(struct udevice *pmic, ofnode parent,
- 
- 			child->driver_data = trailing_strtol(node_name);
- 
--			debug("  - set 'child->driver_data': %lu\n",
--			      child->driver_data);
-+			debug("  - set 'child->driver_data': %lu\n", child->driver_data);
- 			break;
- 		}
- 
-@@ -86,7 +83,7 @@ int pmic_bind_children(struct udevice *pmic, ofnode parent,
- 	debug("Bound: %d children for PMIC: '%s'\n", bind_count, pmic->name);
- 	return bind_count;
- }
--#endif
-+#endif /* PMIC_CHILDREN */
- 
- int pmic_get(const char *name, struct udevice **devp)
- {
-diff --git a/drivers/power/pmic/rk8xx.c b/drivers/power/pmic/rk8xx.c
-index 148ee29c..ca866644 100644
---- a/drivers/power/pmic/rk8xx.c
-+++ b/drivers/power/pmic/rk8xx.c
-@@ -12,26 +12,28 @@
- #include <power/pmic.h>
- 
- static struct reg_data rk817_init_reg[] = {
--/* enable the under-voltage protection,
-- * the under-voltage protection will shutdown the LDO3 and reset the PMIC
-- */
--	{ RK817_BUCK4_CMIN, 0x60, 0x60},
-+	/*
-+	 * Enable the under-voltage protection, which
-+	 * will shutdown the LDO3 and reset the PMIC.
-+	 */
-+	{ RK817_BUCK4_CMIN, 0x60, 0x60 },
- };
- 
-+#if CONFIG_IS_ENABLED(PMIC_CHILDREN)
- static const struct pmic_child_info pmic_children_info[] = {
--	{ .prefix = "DCDC_REG", .driver = "rk8xx_buck"},
--	{ .prefix = "LDO_REG", .driver = "rk8xx_ldo"},
--	{ .prefix = "SWITCH_REG", .driver = "rk8xx_switch"},
-+	{ .prefix = "DCDC_REG", .driver = "rk8xx_buck" },
-+	{ .prefix = "LDO_REG", .driver = "rk8xx_ldo" },
-+	{ .prefix = "SWITCH_REG", .driver = "rk8xx_switch" },
- 	{ },
- };
-+#endif /* PMIC_CHILDREN */
- 
- static int rk8xx_reg_count(struct udevice *dev)
- {
- 	return RK808_NUM_OF_REGS;
- }
- 
--static int rk8xx_write(struct udevice *dev, uint reg, const uint8_t *buff,
--			  int len)
-+static int rk8xx_write(struct udevice *dev, uint reg, const uint8_t *buff, int len)
- {
- 	int ret;
- 
-@@ -79,7 +81,7 @@ static int rk8xx_bind(struct udevice *dev)
- 	/* Always return success for this device */
- 	return 0;
- }
--#endif
-+#endif /* PMIC_CHILDREN */
- 
- static int rk8xx_probe(struct udevice *dev)
- {
--- 
-2.33.1
-
diff --git a/PKGBUILD b/PKGBUILD
index df046f4..5def72b 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,11 +4,11 @@
 # Contributor: Dragan Simic <dsimic@buserror.io>
 
 pkgname=uboot-pinephonepro
-pkgver=2021.01rc3
-pkgrel=7
+pkgver=2022.01
+pkgrel=0
 epoch=1
 _srcname=u-boot-pine64-pinephonepro
-_commit=0719bf42931033c3109ecc6357e8adb567cb637b
+_commit=d637294e264adfeb29f390dfc393106fd4d41b17
 _tfaver=2.6
 pkgdesc="U-Boot for Pine64 PinePhone Pro"
 arch=('aarch64')
@@ -26,35 +26,19 @@ source=("u-boot-$_commit.tar.gz::https://source.denx.de/u-boot/u-boot/-/archive/
         "ppp-prepare-fstab.service"
         "ppp-uboot-flash"
         "ppp-uboot-mkscr"
-        "0001-PPP.patch"
-        "0002-Add-ppp-dt.patch"
-        "0003-Config-changes.patch"
-        "0004-Add-kconfig-include.patch"
-        "0005-Add-pinephone-pro-rk3399.h.patch"
-        "0006-Added-dts-to-makefile.patch"
-        "0007-u-boot.dtsi-fixes.patch"
-        "0008-fix-boot-order.patch"
-        "0009-Correct-boot-order-to-be-USB-SD-eMMC.patch"
-        "0010-Configure-USB-power-settings-for-PinePhone-Pro.patch"
-        "0011-Do-various-cleanups-in-U-Boot-as-spotted.patch")
-sha256sums=('6b196b6592fabed060b7c5b1fa05a743f9be131d11389b762b7d0e2beebbd381'
+        "0001-rockchip-Add-initial-support-for-the-PinePhone-Pro.patch"
+        "0002-Correct-boot-order-to-be-USB-SD-eMMC.patch"
+        "0003-Configure-USB-power-settings-for-PinePhone-Pro.patch")
+sha256sums=('d69b85ee6a153cd79e17085421c5f20c8d3037c57abe84f87d8402ce9d9b3131'
             '4e59f02ccb042d5d18c89c849701b96e6cf4b788709564405354b5d313d173f7'
             '4e356b3868c0c1ac061c2c15c7ba80c627e1743214680409f418f9b4c00eb3f7'
             'de7e36cdc7ed2fb5abb9155c97f87926361aa5be87d794c9016776160f3430ec'
             'e55fb02dfb6213eabbb899b468dc5f68d36a11c05feda4c14e80282415222fea'
             '6265fb9d3bc84bf1217383b52587b1d5a36372d88a824932586a802a502f62ba'
             '05eaccb2e8ea1eba3e86a4e7fcf12fd232195b5018c049ddf36e5a82a968cc24'
-            'f2e9d4efd24b7a6d94ccfe8c1a6fd0fac04776483be7a2d343f5b7a6b50a8ff2'
-            'c889eb1b55868a3d007be6f5c618823faca70905ce4a4047cd98bdcbfb48d6ab'
-            '355444b20346bb5adbc531b1a8813483bb8e8e6a0b884139479dbf2ad342ef79'
-            'ded1b2e6effbea181ed5c875bd63905db07daba268db48f0a75e9643c830c949'
-            'ba42e43fa471154f6ea4fb5f731557a5f2494668afe05797450a43b82b82ab2f'
-            '0e96af517f2f7a085412c659ab672e61912ff59d92f009ed119832c7c790d6d8'
-            '3aa7c3b4aa1233d604cb9177fc9bc56f85714c5d69f9432690dc7c50e06c105b'
-            '4aadc4f07f4ae62d5fe11cfabe1c5f917f77ce8014800ae3a107f9bcc551bc5b'
+            '7c3d76f4bee0e54900142043241248072e334387065212141e1f600afe0aafba'
             '017d33aac55f8a5ed22170c97b4792ba755a4dad04f6c0cdd85119bbc81e87b3'
-            'a4ba89dd7667171bf0beebdef266a67ab7ddbddd6f04def5cfe5a75745392d4d'
-            'd2ab2877ae38f333ca5f25a0e67e8c368e8a23c6778467a0a83db0f16bc60b71')
+            'b750ba47843defafd8be1cc2615983c93e9cde5a4f5a7b55308a6f00f3fe6611')
 
 prepare() {
   cd u-boot-${_commit}
-- 
GitLab