Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] New package: rockpro64-base and rockpro64-uboot
@ 2021-10-12  7:53 tiemenwerkman
  2021-10-12 17:01 ` CameronNemo
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: tiemenwerkman @ 2021-10-12  7:53 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1464 bytes --]

There is a new pull request by tiemenwerkman against master on the void-packages repository

https://github.com/tiemenwerkman/void-packages rockpro64
https://github.com/void-linux/void-packages/pull/33494

New package: rockpro64-base and rockpro64-uboot
#### General
- [x] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

#### Does it build and run successfully? 
(Please choose at least one native build and, if supported, at least one cross build. More are better.)
- [ ] I built this PR locally for my native architecture, (ARCH-LIBC)
- [ ] I built this PR locally for these architectures (if supported. mark crossbuilds):
  - [ ] aarch64-musl
  - [ ] armv7l
  - [ ] armv6l-musl

I'm not clear on what the build section above means. Here's what I did: I have built these packages on my desktop pc which is x86_64. When building the packages I specified "-a aarch64" to "./xbps-src" to build the packages for arm64. I believe that makes it a crossbuild as it was not built on a native arm64 platform.

A patch file from https://github.com/void-linux/void-packages/pull/33494.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-rockpro64-33494.patch --]
[-- Type: text/x-diff, Size: 49161 bytes --]

From 575d9b102387e2ccba6271a5325f9c00fe66c1ef Mon Sep 17 00:00:00 2001
From: Tiemen Werkman <tiemen@void-tiemen.opifexonline.com>
Date: Sat, 9 Oct 2021 10:35:37 +0200
Subject: [PATCH 1/4] RockPro64 platform packages for Void Linux.

Committer: Tiemen Werkman <tiemen@opifexonline.com>
---
 srcpkgs/rockpro64-base/INSTALL                |   8 ++
 srcpkgs/rockpro64-base/template               |  11 ++
 .../patches/phy-rockchip-inno-usb2.c.patch    |  75 ++++++++++++
 .../rockpro64-uboot/patches/rk3399.c.patch    |  51 +++++++++
 .../patches/rockpro64-rk3399.c.patch          |  48 ++++++++
 .../patches/rockpro64-rk3399.h.patch          |  33 ++++++
 .../patches/rockpro64-rk3399_defconfig.patch  | 108 ++++++++++++++++++
 srcpkgs/rockpro64-uboot/template              |  47 ++++++++
 srcpkgs/rockpro64-uboot/update                |   1 +
 9 files changed, 382 insertions(+)
 create mode 100644 srcpkgs/rockpro64-base/INSTALL
 create mode 100644 srcpkgs/rockpro64-base/template
 create mode 100644 srcpkgs/rockpro64-uboot/patches/phy-rockchip-inno-usb2.c.patch
 create mode 100644 srcpkgs/rockpro64-uboot/patches/rk3399.c.patch
 create mode 100644 srcpkgs/rockpro64-uboot/patches/rockpro64-rk3399.c.patch
 create mode 100644 srcpkgs/rockpro64-uboot/patches/rockpro64-rk3399.h.patch
 create mode 100644 srcpkgs/rockpro64-uboot/patches/rockpro64-rk3399_defconfig.patch
 create mode 100644 srcpkgs/rockpro64-uboot/template
 create mode 100644 srcpkgs/rockpro64-uboot/update

diff --git a/srcpkgs/rockpro64-base/INSTALL b/srcpkgs/rockpro64-base/INSTALL
new file mode 100644
index 000000000000..7e67f362c796
--- /dev/null
+++ b/srcpkgs/rockpro64-base/INSTALL
@@ -0,0 +1,8 @@
+if [ "${UPDATE}" = "no" ] && [ "${ACTION}" = "post" ]; then
+	mkdir -p etc/runit/runsvdir/default/
+	mkdir -p etc/sv/agetty-ttyS2/
+	ln -sf /etc/sv/sshd etc/runit/runsvdir/default/
+	ln -sf /etc/sv/dhcpcd etc/runit/runsvdir/default/
+	ln -sf /etc/sv/agetty-ttyS2 etc/runit/runsvdir/default/
+	cd etc/sv/agetty-ttyS2/ && ln -sf ../agetty-serial/conf conf && ln -sf ../agetty-generic/finish finish && ln -sf ../agetty-serial/run run && ln -sf /run/runit/supervise.agetty-ttyS2
+fi
diff --git a/srcpkgs/rockpro64-base/template b/srcpkgs/rockpro64-base/template
new file mode 100644
index 000000000000..e90db4f4396d
--- /dev/null
+++ b/srcpkgs/rockpro64-base/template
@@ -0,0 +1,11 @@
+# Template file for 'rockpro64-base'
+pkgname=rockpro64-base
+version=1
+revision=1
+archs="aarch64*"
+build_style=meta
+depends="rockpro64-uboot u-boot-menu dracut"
+short_desc="Void Linux RockPro64 platform package"
+maintainer="Tiemen Werkman <tiemen@opifexonline.com>"
+license="Public Domain"
+homepage="https://www.voidlinux.org"
diff --git a/srcpkgs/rockpro64-uboot/patches/phy-rockchip-inno-usb2.c.patch b/srcpkgs/rockpro64-uboot/patches/phy-rockchip-inno-usb2.c.patch
new file mode 100644
index 000000000000..1f9839889f0d
--- /dev/null
+++ b/srcpkgs/rockpro64-uboot/patches/phy-rockchip-inno-usb2.c.patch
@@ -0,0 +1,75 @@
+    Fix USB on RockPro64:
+    Without this patch uboot crashes when resetting usb, preventing the kernel
+    from loading.
+    The only alternative to this patch is to disable Preboot or OHCI which 
+    also leaves you with no console keyboard.
+
+    https://patchwork.ozlabs.org/project/uboot/patch/20210406151059.1187379-1-icenowy@aosc.io/
+
+diff --git a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
+index 62b8ba3a4a..be9cc99d90 100644
+--- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
++++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
+@@ -62,6 +62,8 @@ struct rockchip_usb2phy {
+ 	void *reg_base;
+ 	struct clk phyclk;
+ 	const struct rockchip_usb2phy_cfg *phy_cfg;
++	int init_count;
++	int power_on_count;
+ };
+ 
+ static inline int property_enable(void *reg_base,
+@@ -92,6 +94,10 @@ static int rockchip_usb2phy_power_on(struct phy *phy)
+ 	struct rockchip_usb2phy *priv = dev_get_priv(parent);
+ 	const struct rockchip_usb2phy_port_cfg *port_cfg = us2phy_get_port(phy);
+ 
++	priv->power_on_count++;
++	if (priv->power_on_count != 1)
++		return 0;
++
+ 	property_enable(priv->reg_base, &port_cfg->phy_sus, false);
+ 
+ 	/* waiting for the utmi_clk to become stable */
+@@ -106,6 +112,10 @@ static int rockchip_usb2phy_power_off(struct phy *phy)
+ 	struct rockchip_usb2phy *priv = dev_get_priv(parent);
+ 	const struct rockchip_usb2phy_port_cfg *port_cfg = us2phy_get_port(phy);
+ 
++	priv->power_on_count--;
++	if (priv->power_on_count != 0)
++		return 0;
++
+ 	property_enable(priv->reg_base, &port_cfg->phy_sus, true);
+ 
+ 	return 0;
+@@ -118,6 +128,10 @@ static int rockchip_usb2phy_init(struct phy *phy)
+ 	const struct rockchip_usb2phy_port_cfg *port_cfg = us2phy_get_port(phy);
+ 	int ret;
+ 
++	priv->init_count++;
++	if (priv->init_count != 1)
++		return 0;
++
+ 	ret = clk_enable(&priv->phyclk);
+ 	if (ret) {
+ 		dev_err(phy->dev, "failed to enable phyclk (ret=%d)\n", ret);
+@@ -140,6 +154,10 @@ static int rockchip_usb2phy_exit(struct phy *phy)
+ 	struct udevice *parent = dev_get_parent(phy->dev);
+ 	struct rockchip_usb2phy *priv = dev_get_priv(parent);
+ 
++	priv->init_count--;
++	if (priv->init_count != 0)
++		return 0;
++
+ 	clk_disable(&priv->phyclk);
+ 
+ 	return 0;
+@@ -212,6 +230,9 @@ static int rockchip_usb2phy_probe(struct udevice *dev)
+ 		return ret;
+ 	}
+ 
++	priv->power_on_count = 0;
++	priv->init_count = 0;
++
+ 	return 0;
+ }
+ 
diff --git a/srcpkgs/rockpro64-uboot/patches/rk3399.c.patch b/srcpkgs/rockpro64-uboot/patches/rk3399.c.patch
new file mode 100644
index 000000000000..f3c08bf33c61
--- /dev/null
+++ b/srcpkgs/rockpro64-uboot/patches/rk3399.c.patch
@@ -0,0 +1,51 @@
+From 1a01021c9361c4e017cb5b032300f5555c393710 Mon Sep 17 00:00:00 2001
+From: dhivael <dhivael.git@eno.space>
+Date: Sat, 11 Jan 2020 15:04:46 +0100
+Subject: rk3399: light pinebook power and standby leds during early boot
+
+this is a hack, but it works for now.
+---
+ arch/arm/mach-rockchip/rk3399/rk3399.c | 12 +++++++++++-
+ 1 file changed, 11 insertions(+), 1 deletion(-)
+
+diff --git a/arch/arm/mach-rockchip/rk3399/rk3399.c b/arch/arm/mach-rockchip/rk3399/rk3399.c
+index 863024d071..cf37129d55 100644
+--- a/arch/arm/mach-rockchip/rk3399/rk3399.c
++++ b/arch/arm/mach-rockchip/rk3399/rk3399.c
+@@ -15,6 +15,8 @@
+ #include <asm/arch-rockchip/grf_rk3399.h>
+ #include <asm/arch-rockchip/hardware.h>
+ #include <power/regulator.h>
++#include <dt-bindings/gpio/gpio.h>
++#include <dt-bindings/pinctrl/rockchip.h>
+ 
+ DECLARE_GLOBAL_DATA_PTR;
+ 
+@@ -115,8 +117,8 @@ void board_debug_uart_init(void)
+ 	struct rk3399_grf_regs * const grf = (void *)GRF_BASE;
+ #ifdef CONFIG_TARGET_CHROMEBOOK_BOB
+ 	struct rk3399_pmugrf_regs * const pmugrf = (void *)PMUGRF_BASE;
+-	struct rockchip_gpio_regs * const gpio = (void *)GPIO0_BASE;
+ #endif
++	struct rockchip_gpio_regs * const gpio = (void *)GPIO0_BASE;
+ 
+ #if defined(CONFIG_DEBUG_UART_BASE) && (CONFIG_DEBUG_UART_BASE == 0xff180000)
+ 	/* Enable early UART0 on the RK3399 */
+@@ -149,6 +151,14 @@ void board_debug_uart_init(void)
+ 	spl_gpio_set_pull(&pmugrf->gpio0_p, GPIO(BANK_B, 4), GPIO_PULL_NORMAL);
+ #endif /* CONFIG_TARGET_CHROMEBOOK_BOB */
+ 
++	{
++		// set GPIO0_A2/B3 to GPIO_ACTIVE_HIGH
++		// set GPIO0_A2/B3 to OUTPUT
++		int mask = (1UL << RK_PA2) | (1UL << RK_PB3);
++		setbits_le32(&gpio->swport_dr, mask);
++		setbits_le32(&gpio->swport_ddr, mask);
++	}
++
+ 	/* Enable early UART2 channel C on the RK3399 */
+ 	rk_clrsetreg(&grf->gpio4c_iomux,
+ 		     GRF_GPIO4C3_SEL_MASK,
+-- 
+cgit v1.2.3
+
diff --git a/srcpkgs/rockpro64-uboot/patches/rockpro64-rk3399.c.patch b/srcpkgs/rockpro64-uboot/patches/rockpro64-rk3399.c.patch
new file mode 100644
index 000000000000..5fb9b65c8ef2
--- /dev/null
+++ b/srcpkgs/rockpro64-uboot/patches/rockpro64-rk3399.c.patch
@@ -0,0 +1,48 @@
+diff --git a/board/pine64/rockpro64_rk3399/rockpro64-rk3399.c b/board/pine64/rockpro64_rk3399/rockpro64-rk3399.c
+index d79084614f..6f7f661154 100644
+--- a/board/pine64/rockpro64_rk3399/rockpro64-rk3399.c
++++ b/board/pine64/rockpro64_rk3399/rockpro64-rk3399.c
+@@ -5,6 +5,9 @@
+ 
+ #include <common.h>
+ #include <dm.h>
++#include <fdt_support.h>
++#include <jffs2/load_kernel.h>
++#include <mtd_node.h>
+ #include <init.h>
+ #include <syscon.h>
+ #include <asm/io.h>
+@@ -16,6 +19,33 @@
+ #define GRF_IO_VSEL_BT565_SHIFT 0
+ #define PMUGRF_CON0_VSEL_SHIFT 8
+ 
++#ifdef CONFIG_OF_BOARD_SETUP
++int ft_board_setup(void *blob, struct bd_info *bd)
++{
++#ifdef CONFIG_FDT_FIXUP_PARTITIONS
++	int ret, noff;
++	static const struct node_info nodes[] = {
++		{ "jedec,spi-nor", MTD_DEV_TYPE_NOR, },
++	};
++
++	noff = fdt_node_offset_by_compatible(blob, -1, nodes[0].compat);
++	if (noff != -FDT_ERR_NOTFOUND) {
++		ret = fdt_setprop_u32(blob, noff, "#size-cells", 1);
++		if (ret)
++			return ret;
++		ret = fdt_setprop_u32(blob, noff, "#address-cells", 1);
++		if (ret)
++			return ret;
++	} else {
++		return -ENODEV;
++	}
++
++	fdt_fixup_mtdparts(blob, nodes, ARRAY_SIZE(nodes));
++#endif
++	return 0;
++}
++#endif
++
+ #ifdef CONFIG_MISC_INIT_R
+ static void setup_iodomain(void)
+ {
diff --git a/srcpkgs/rockpro64-uboot/patches/rockpro64-rk3399.h.patch b/srcpkgs/rockpro64-uboot/patches/rockpro64-rk3399.h.patch
new file mode 100644
index 000000000000..d784a696e852
--- /dev/null
+++ b/srcpkgs/rockpro64-uboot/patches/rockpro64-rk3399.h.patch
@@ -0,0 +1,33 @@
+    rockchip: Pinebook Pro: fix mmc boot ordering
+    
+    On the Pinebook Pro, and perhaps some other boards, the mmc indices are
+    opposite from what is implied by the comment in
+    include/configs/rockchip-common.h.
+    
+    This commit fixes the boot ordering to prioritize the SD card over eMMC.
+    
+    Most distributions of U-Boot that actually target rk3399 boards apply a
+    similar patch, such as Manjaro (shipped by default on PBP) and armbian.
+    
+    https://gitlab.manjaro.org/manjaro-arm/packages/core/uboot-pinebookpro/-/blob/60ed56b9bf8809309ec6252bfc45bca38c2b858a/0002-Correct-boot-order-to-be-USB-SD-eMMC.patch
+    https://github.com/armbian/build/blob/5a2b2c360b9c26ca4bd0d309af7cd3994fd08b7d/patch/u-boot/u-boot-rockchip64-mainline/general-prioritize-sd.patch
+    
+diff --git a/include/configs/rockpro64_rk3399.h b/include/configs/rockpro64_rk3399.h
+index 903e9df527..7c8f30dbaf 100644
+--- a/include/configs/rockpro64_rk3399.h
++++ b/include/configs/rockpro64_rk3399.h
+@@ -12,6 +12,14 @@
+ 	"stderr=serial,vidconsole\0"
+ 
+ #include <configs/rk3399_common.h>
++ 
++/* On RockPro64, mmc1 is SD and mmc0 is eMMC */
++#if CONFIG_IS_ENABLED(CMD_MMC)
++	#undef BOOT_TARGET_MMC
++	#define BOOT_TARGET_MMC(func) \
++		func(MMC, mmc, 1) \
++		func(MMC, mmc, 0)
++#endif
+ 
+ #define SDRAM_BANK_SIZE			(2UL << 30)
+ 
diff --git a/srcpkgs/rockpro64-uboot/patches/rockpro64-rk3399_defconfig.patch b/srcpkgs/rockpro64-uboot/patches/rockpro64-rk3399_defconfig.patch
new file mode 100644
index 000000000000..af207a228085
--- /dev/null
+++ b/srcpkgs/rockpro64-uboot/patches/rockpro64-rk3399_defconfig.patch
@@ -0,0 +1,108 @@
+
+Autoboot
+	Disable bootdelay. Boot can be interrupted by pressing either <q> or
+	<ctrl-c>.
+
+Baudrate
+	Set baudrate to 115200 to prevent garbled output and improve
+	compatibility. The default baud rate is 1500000 bps. This produces
+	garbled output on many serial adapters and is a non-standard speed.
+
+Supported features
+	The following features have been enabled and are supported:
+	- NVME support.
+	- AHCI over PCIE.
+	- USB3 and keyboard support.
+	- fdt overlay.
+	- MDT partitions.
+	- BTRFS support enabled.
+
+diff --git a/configs/rockpro64-rk3399_defconfig b/configs/rockpro64-rk3399_defconfig
+index ae11a8f5eb..827d37eb72 100644
+--- a/configs/rockpro64-rk3399_defconfig
++++ b/configs/rockpro64-rk3399_defconfig
+@@ -4,14 +4,17 @@ CONFIG_SYS_TEXT_BASE=0x00200000
+ CONFIG_NR_DRAM_BANKS=1
+ CONFIG_ENV_SIZE=0x8000
+ CONFIG_ENV_OFFSET=0x3F8000
+-CONFIG_DEFAULT_DEVICE_TREE="rk3399-rockpro64"
+ CONFIG_ROCKCHIP_RK3399=y
+ CONFIG_TARGET_ROCKPRO64_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-rockpro64"
+ CONFIG_DEBUG_UART=y
++CONFIG_AHCI=y
++CONFIG_OF_BOARD_SETUP=y
++CONFIG_BOOTDELAY=0
+ CONFIG_USE_PREBOOT=y
+ CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-rockpro64.dtb"
+ CONFIG_DISPLAY_BOARDINFO_LATE=y
+@@ -20,29 +23,40 @@ CONFIG_MISC_INIT_R=y
+ CONFIG_SPL_STACK_R=y
+ CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x10000
+ CONFIG_SPL_SPI_LOAD=y
++# CONFIG_SPL_ATF_NO_PLATFORM_PARAM is not set
+ CONFIG_TPL=y
+ CONFIG_CMD_BOOTZ=y
++CONFIG_CMD_BOOTMENU=y
+ CONFIG_CMD_GPT=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_MTDPARTS=y
++CONFIG_MTDIDS_DEFAULT="nor0=spi0.0"
++CONFIG_MTDPARTS_DEFAULT="mtdparts=spi0.0:384k(u-boot-spl),3680k(u-boot),32k(u-boot-env),-(user)"
+ 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_SPL_DM_SEQ_ALIAS=y
++CONFIG_SCSI_AHCI=y
++CONFIG_AHCI_PCI=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_ROCKCHIP=y
++CONFIG_MTD=y
+ CONFIG_SF_DEFAULT_BUS=1
+ CONFIG_SPI_FLASH_GIGADEVICE=y
++CONFIG_SPI_FLASH_MTD=y
+ CONFIG_DM_ETH=y
+ CONFIG_ETH_DESIGNWARE=y
+ CONFIG_GMAC_ROCKCHIP=y
+@@ -58,7 +72,9 @@ CONFIG_RAM_RK3399_LPDDR4=y
+ CONFIG_DM_RESET=y
+ CONFIG_DM_RNG=y
+ CONFIG_RNG_ROCKCHIP=y
+-CONFIG_BAUDRATE=1500000
++CONFIG_SCSI=y
++CONFIG_DM_SCSI=y
++CONFIG_BAUDRATE=115200
+ CONFIG_DEBUG_UART_SHIFT=2
+ CONFIG_ROCKCHIP_SPI=y
+ CONFIG_SYSRESET=y
+@@ -82,5 +98,12 @@ CONFIG_DM_VIDEO=y
+ CONFIG_DISPLAY=y
+ CONFIG_VIDEO_ROCKCHIP=y
+ CONFIG_DISPLAY_ROCKCHIP_HDMI=y
++CONFIG_FS_BTRFS=y
+ CONFIG_SPL_TINY_MEMSET=y
+ CONFIG_ERRNO_STR=y
++CONFIG_OF_LIBFDT_OVERLAY=y
++CONFIG_FDT_FIXUP_PARTITIONS=y
++CONFIG_AUTOBOOT_PROMPT="Autobooting in %d seconds... press q or Ctrl-C to interrupt\n"
++CONFIG_AUTOBOOT_KEYED=y
++CONFIG_AUTOBOOT_STOP_STR="q"
++CONFIG_AUTOBOOT_KEYED_CTRLC=y
diff --git a/srcpkgs/rockpro64-uboot/template b/srcpkgs/rockpro64-uboot/template
new file mode 100644
index 000000000000..10daa7174b83
--- /dev/null
+++ b/srcpkgs/rockpro64-uboot/template
@@ -0,0 +1,47 @@
+# Template file for 'rockpro64-uboot'
+pkgname=rockpro64-uboot
+version=2021.07
+revision=1
+archs="aarch64*"
+wrksrc="u-boot-${version}"
+hostmakedepends="flex bc dtc python3"
+makedepends="atf-rk3399-bl31"
+depends="u-boot-tools"
+short_desc="Das U-Boot for the RockPro64 SBC"
+maintainer="Tiemen Werkman <tiemen@opifexonline.com>"
+license="GPL-2.0-or-later, BSD-3-Clause"
+homepage="https://www.denx.de/wiki/U-Boot/"
+distfiles="https://ftp.denx.de/pub/u-boot/u-boot-${version}.tar.bz2"
+checksum=312b7eeae44581d1362c3a3f02c28d806647756c82ba8c72241c7cdbe68ba77e
+
+do_configure() {
+	unset CFLAGS CXXFLAGS CPPFLAGS LDFLAGS
+	make ${makejobs} rockpro64-rk3399_defconfig
+}
+
+do_build() {
+	unset CFLAGS CXXFLAGS CPPFLAGS LDFLAGS
+	if [ "$CROSS_BUILD" ]; then
+		export CROSS_COMPILE=${XBPS_CROSS_TRIPLET}-
+	fi
+	make ${makejobs} EXTRAVERSION=-${revision} \
+		BL31=${XBPS_CROSS_BASE}/usr/lib/trusted-firmware-a/rk3399/bl31.elf
+}
+
+do_install() {
+	vinstall idbloader.img 0644 usr/lib/rockpro64-uboot
+	vinstall u-boot.itb 0644 usr/lib/rockpro64-uboot
+	vlicense Licenses/Exceptions
+	vlicense Licenses/OFL.txt
+	vlicense Licenses/README
+	vlicense Licenses/bsd-2-clause.txt
+	vlicense Licenses/bsd-3-clause.txt
+	vlicense Licenses/eCos-2.0.txt
+	vlicense Licenses/gpl-2.0.txt
+	vlicense Licenses/ibm-pibs.txt
+	vlicense Licenses/isc.txt
+	vlicense Licenses/lgpl-2.0.txt
+	vlicense Licenses/lgpl-2.1.txt
+	vlicense Licenses/r8a779x_usb3.txt
+	vlicense Licenses/x11.txt
+}
diff --git a/srcpkgs/rockpro64-uboot/update b/srcpkgs/rockpro64-uboot/update
new file mode 100644
index 000000000000..cfcfccd3fb43
--- /dev/null
+++ b/srcpkgs/rockpro64-uboot/update
@@ -0,0 +1 @@
+pkgname="u-boot"

From 0e6bc6d0fac8273b8f7b8d20fc6be111f7b13a90 Mon Sep 17 00:00:00 2001
From: Tiemen Werkman <tiemen@void-tiemen.opifexonline.com>
Date: Sun, 10 Oct 2021 10:04:26 +0200
Subject: [PATCH 2/4] Create distinct branches for distinct packages to
 facilitate distinct pull requests.

---
 srcpkgs/rockpro64-base/INSTALL                |   8 --
 srcpkgs/rockpro64-base/template               |  11 --
 .../patches/phy-rockchip-inno-usb2.c.patch    |  75 ------------
 .../rockpro64-uboot/patches/rk3399.c.patch    |  51 ---------
 .../patches/rockpro64-rk3399.c.patch          |  48 --------
 .../patches/rockpro64-rk3399.h.patch          |  33 ------
 .../patches/rockpro64-rk3399_defconfig.patch  | 108 ------------------
 srcpkgs/rockpro64-uboot/template              |  47 --------
 srcpkgs/rockpro64-uboot/update                |   1 -
 9 files changed, 382 deletions(-)
 delete mode 100644 srcpkgs/rockpro64-base/INSTALL
 delete mode 100644 srcpkgs/rockpro64-base/template
 delete mode 100644 srcpkgs/rockpro64-uboot/patches/phy-rockchip-inno-usb2.c.patch
 delete mode 100644 srcpkgs/rockpro64-uboot/patches/rk3399.c.patch
 delete mode 100644 srcpkgs/rockpro64-uboot/patches/rockpro64-rk3399.c.patch
 delete mode 100644 srcpkgs/rockpro64-uboot/patches/rockpro64-rk3399.h.patch
 delete mode 100644 srcpkgs/rockpro64-uboot/patches/rockpro64-rk3399_defconfig.patch
 delete mode 100644 srcpkgs/rockpro64-uboot/template
 delete mode 100644 srcpkgs/rockpro64-uboot/update

diff --git a/srcpkgs/rockpro64-base/INSTALL b/srcpkgs/rockpro64-base/INSTALL
deleted file mode 100644
index 7e67f362c796..000000000000
--- a/srcpkgs/rockpro64-base/INSTALL
+++ /dev/null
@@ -1,8 +0,0 @@
-if [ "${UPDATE}" = "no" ] && [ "${ACTION}" = "post" ]; then
-	mkdir -p etc/runit/runsvdir/default/
-	mkdir -p etc/sv/agetty-ttyS2/
-	ln -sf /etc/sv/sshd etc/runit/runsvdir/default/
-	ln -sf /etc/sv/dhcpcd etc/runit/runsvdir/default/
-	ln -sf /etc/sv/agetty-ttyS2 etc/runit/runsvdir/default/
-	cd etc/sv/agetty-ttyS2/ && ln -sf ../agetty-serial/conf conf && ln -sf ../agetty-generic/finish finish && ln -sf ../agetty-serial/run run && ln -sf /run/runit/supervise.agetty-ttyS2
-fi
diff --git a/srcpkgs/rockpro64-base/template b/srcpkgs/rockpro64-base/template
deleted file mode 100644
index e90db4f4396d..000000000000
--- a/srcpkgs/rockpro64-base/template
+++ /dev/null
@@ -1,11 +0,0 @@
-# Template file for 'rockpro64-base'
-pkgname=rockpro64-base
-version=1
-revision=1
-archs="aarch64*"
-build_style=meta
-depends="rockpro64-uboot u-boot-menu dracut"
-short_desc="Void Linux RockPro64 platform package"
-maintainer="Tiemen Werkman <tiemen@opifexonline.com>"
-license="Public Domain"
-homepage="https://www.voidlinux.org"
diff --git a/srcpkgs/rockpro64-uboot/patches/phy-rockchip-inno-usb2.c.patch b/srcpkgs/rockpro64-uboot/patches/phy-rockchip-inno-usb2.c.patch
deleted file mode 100644
index 1f9839889f0d..000000000000
--- a/srcpkgs/rockpro64-uboot/patches/phy-rockchip-inno-usb2.c.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-    Fix USB on RockPro64:
-    Without this patch uboot crashes when resetting usb, preventing the kernel
-    from loading.
-    The only alternative to this patch is to disable Preboot or OHCI which 
-    also leaves you with no console keyboard.
-
-    https://patchwork.ozlabs.org/project/uboot/patch/20210406151059.1187379-1-icenowy@aosc.io/
-
-diff --git a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
-index 62b8ba3a4a..be9cc99d90 100644
---- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
-+++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
-@@ -62,6 +62,8 @@ struct rockchip_usb2phy {
- 	void *reg_base;
- 	struct clk phyclk;
- 	const struct rockchip_usb2phy_cfg *phy_cfg;
-+	int init_count;
-+	int power_on_count;
- };
- 
- static inline int property_enable(void *reg_base,
-@@ -92,6 +94,10 @@ static int rockchip_usb2phy_power_on(struct phy *phy)
- 	struct rockchip_usb2phy *priv = dev_get_priv(parent);
- 	const struct rockchip_usb2phy_port_cfg *port_cfg = us2phy_get_port(phy);
- 
-+	priv->power_on_count++;
-+	if (priv->power_on_count != 1)
-+		return 0;
-+
- 	property_enable(priv->reg_base, &port_cfg->phy_sus, false);
- 
- 	/* waiting for the utmi_clk to become stable */
-@@ -106,6 +112,10 @@ static int rockchip_usb2phy_power_off(struct phy *phy)
- 	struct rockchip_usb2phy *priv = dev_get_priv(parent);
- 	const struct rockchip_usb2phy_port_cfg *port_cfg = us2phy_get_port(phy);
- 
-+	priv->power_on_count--;
-+	if (priv->power_on_count != 0)
-+		return 0;
-+
- 	property_enable(priv->reg_base, &port_cfg->phy_sus, true);
- 
- 	return 0;
-@@ -118,6 +128,10 @@ static int rockchip_usb2phy_init(struct phy *phy)
- 	const struct rockchip_usb2phy_port_cfg *port_cfg = us2phy_get_port(phy);
- 	int ret;
- 
-+	priv->init_count++;
-+	if (priv->init_count != 1)
-+		return 0;
-+
- 	ret = clk_enable(&priv->phyclk);
- 	if (ret) {
- 		dev_err(phy->dev, "failed to enable phyclk (ret=%d)\n", ret);
-@@ -140,6 +154,10 @@ static int rockchip_usb2phy_exit(struct phy *phy)
- 	struct udevice *parent = dev_get_parent(phy->dev);
- 	struct rockchip_usb2phy *priv = dev_get_priv(parent);
- 
-+	priv->init_count--;
-+	if (priv->init_count != 0)
-+		return 0;
-+
- 	clk_disable(&priv->phyclk);
- 
- 	return 0;
-@@ -212,6 +230,9 @@ static int rockchip_usb2phy_probe(struct udevice *dev)
- 		return ret;
- 	}
- 
-+	priv->power_on_count = 0;
-+	priv->init_count = 0;
-+
- 	return 0;
- }
- 
diff --git a/srcpkgs/rockpro64-uboot/patches/rk3399.c.patch b/srcpkgs/rockpro64-uboot/patches/rk3399.c.patch
deleted file mode 100644
index f3c08bf33c61..000000000000
--- a/srcpkgs/rockpro64-uboot/patches/rk3399.c.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 1a01021c9361c4e017cb5b032300f5555c393710 Mon Sep 17 00:00:00 2001
-From: dhivael <dhivael.git@eno.space>
-Date: Sat, 11 Jan 2020 15:04:46 +0100
-Subject: rk3399: light pinebook power and standby leds during early boot
-
-this is a hack, but it works for now.
----
- arch/arm/mach-rockchip/rk3399/rk3399.c | 12 +++++++++++-
- 1 file changed, 11 insertions(+), 1 deletion(-)
-
-diff --git a/arch/arm/mach-rockchip/rk3399/rk3399.c b/arch/arm/mach-rockchip/rk3399/rk3399.c
-index 863024d071..cf37129d55 100644
---- a/arch/arm/mach-rockchip/rk3399/rk3399.c
-+++ b/arch/arm/mach-rockchip/rk3399/rk3399.c
-@@ -15,6 +15,8 @@
- #include <asm/arch-rockchip/grf_rk3399.h>
- #include <asm/arch-rockchip/hardware.h>
- #include <power/regulator.h>
-+#include <dt-bindings/gpio/gpio.h>
-+#include <dt-bindings/pinctrl/rockchip.h>
- 
- DECLARE_GLOBAL_DATA_PTR;
- 
-@@ -115,8 +117,8 @@ void board_debug_uart_init(void)
- 	struct rk3399_grf_regs * const grf = (void *)GRF_BASE;
- #ifdef CONFIG_TARGET_CHROMEBOOK_BOB
- 	struct rk3399_pmugrf_regs * const pmugrf = (void *)PMUGRF_BASE;
--	struct rockchip_gpio_regs * const gpio = (void *)GPIO0_BASE;
- #endif
-+	struct rockchip_gpio_regs * const gpio = (void *)GPIO0_BASE;
- 
- #if defined(CONFIG_DEBUG_UART_BASE) && (CONFIG_DEBUG_UART_BASE == 0xff180000)
- 	/* Enable early UART0 on the RK3399 */
-@@ -149,6 +151,14 @@ void board_debug_uart_init(void)
- 	spl_gpio_set_pull(&pmugrf->gpio0_p, GPIO(BANK_B, 4), GPIO_PULL_NORMAL);
- #endif /* CONFIG_TARGET_CHROMEBOOK_BOB */
- 
-+	{
-+		// set GPIO0_A2/B3 to GPIO_ACTIVE_HIGH
-+		// set GPIO0_A2/B3 to OUTPUT
-+		int mask = (1UL << RK_PA2) | (1UL << RK_PB3);
-+		setbits_le32(&gpio->swport_dr, mask);
-+		setbits_le32(&gpio->swport_ddr, mask);
-+	}
-+
- 	/* Enable early UART2 channel C on the RK3399 */
- 	rk_clrsetreg(&grf->gpio4c_iomux,
- 		     GRF_GPIO4C3_SEL_MASK,
--- 
-cgit v1.2.3
-
diff --git a/srcpkgs/rockpro64-uboot/patches/rockpro64-rk3399.c.patch b/srcpkgs/rockpro64-uboot/patches/rockpro64-rk3399.c.patch
deleted file mode 100644
index 5fb9b65c8ef2..000000000000
--- a/srcpkgs/rockpro64-uboot/patches/rockpro64-rk3399.c.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-diff --git a/board/pine64/rockpro64_rk3399/rockpro64-rk3399.c b/board/pine64/rockpro64_rk3399/rockpro64-rk3399.c
-index d79084614f..6f7f661154 100644
---- a/board/pine64/rockpro64_rk3399/rockpro64-rk3399.c
-+++ b/board/pine64/rockpro64_rk3399/rockpro64-rk3399.c
-@@ -5,6 +5,9 @@
- 
- #include <common.h>
- #include <dm.h>
-+#include <fdt_support.h>
-+#include <jffs2/load_kernel.h>
-+#include <mtd_node.h>
- #include <init.h>
- #include <syscon.h>
- #include <asm/io.h>
-@@ -16,6 +19,33 @@
- #define GRF_IO_VSEL_BT565_SHIFT 0
- #define PMUGRF_CON0_VSEL_SHIFT 8
- 
-+#ifdef CONFIG_OF_BOARD_SETUP
-+int ft_board_setup(void *blob, struct bd_info *bd)
-+{
-+#ifdef CONFIG_FDT_FIXUP_PARTITIONS
-+	int ret, noff;
-+	static const struct node_info nodes[] = {
-+		{ "jedec,spi-nor", MTD_DEV_TYPE_NOR, },
-+	};
-+
-+	noff = fdt_node_offset_by_compatible(blob, -1, nodes[0].compat);
-+	if (noff != -FDT_ERR_NOTFOUND) {
-+		ret = fdt_setprop_u32(blob, noff, "#size-cells", 1);
-+		if (ret)
-+			return ret;
-+		ret = fdt_setprop_u32(blob, noff, "#address-cells", 1);
-+		if (ret)
-+			return ret;
-+	} else {
-+		return -ENODEV;
-+	}
-+
-+	fdt_fixup_mtdparts(blob, nodes, ARRAY_SIZE(nodes));
-+#endif
-+	return 0;
-+}
-+#endif
-+
- #ifdef CONFIG_MISC_INIT_R
- static void setup_iodomain(void)
- {
diff --git a/srcpkgs/rockpro64-uboot/patches/rockpro64-rk3399.h.patch b/srcpkgs/rockpro64-uboot/patches/rockpro64-rk3399.h.patch
deleted file mode 100644
index d784a696e852..000000000000
--- a/srcpkgs/rockpro64-uboot/patches/rockpro64-rk3399.h.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-    rockchip: Pinebook Pro: fix mmc boot ordering
-    
-    On the Pinebook Pro, and perhaps some other boards, the mmc indices are
-    opposite from what is implied by the comment in
-    include/configs/rockchip-common.h.
-    
-    This commit fixes the boot ordering to prioritize the SD card over eMMC.
-    
-    Most distributions of U-Boot that actually target rk3399 boards apply a
-    similar patch, such as Manjaro (shipped by default on PBP) and armbian.
-    
-    https://gitlab.manjaro.org/manjaro-arm/packages/core/uboot-pinebookpro/-/blob/60ed56b9bf8809309ec6252bfc45bca38c2b858a/0002-Correct-boot-order-to-be-USB-SD-eMMC.patch
-    https://github.com/armbian/build/blob/5a2b2c360b9c26ca4bd0d309af7cd3994fd08b7d/patch/u-boot/u-boot-rockchip64-mainline/general-prioritize-sd.patch
-    
-diff --git a/include/configs/rockpro64_rk3399.h b/include/configs/rockpro64_rk3399.h
-index 903e9df527..7c8f30dbaf 100644
---- a/include/configs/rockpro64_rk3399.h
-+++ b/include/configs/rockpro64_rk3399.h
-@@ -12,6 +12,14 @@
- 	"stderr=serial,vidconsole\0"
- 
- #include <configs/rk3399_common.h>
-+ 
-+/* On RockPro64, mmc1 is SD and mmc0 is eMMC */
-+#if CONFIG_IS_ENABLED(CMD_MMC)
-+	#undef BOOT_TARGET_MMC
-+	#define BOOT_TARGET_MMC(func) \
-+		func(MMC, mmc, 1) \
-+		func(MMC, mmc, 0)
-+#endif
- 
- #define SDRAM_BANK_SIZE			(2UL << 30)
- 
diff --git a/srcpkgs/rockpro64-uboot/patches/rockpro64-rk3399_defconfig.patch b/srcpkgs/rockpro64-uboot/patches/rockpro64-rk3399_defconfig.patch
deleted file mode 100644
index af207a228085..000000000000
--- a/srcpkgs/rockpro64-uboot/patches/rockpro64-rk3399_defconfig.patch
+++ /dev/null
@@ -1,108 +0,0 @@
-
-Autoboot
-	Disable bootdelay. Boot can be interrupted by pressing either <q> or
-	<ctrl-c>.
-
-Baudrate
-	Set baudrate to 115200 to prevent garbled output and improve
-	compatibility. The default baud rate is 1500000 bps. This produces
-	garbled output on many serial adapters and is a non-standard speed.
-
-Supported features
-	The following features have been enabled and are supported:
-	- NVME support.
-	- AHCI over PCIE.
-	- USB3 and keyboard support.
-	- fdt overlay.
-	- MDT partitions.
-	- BTRFS support enabled.
-
-diff --git a/configs/rockpro64-rk3399_defconfig b/configs/rockpro64-rk3399_defconfig
-index ae11a8f5eb..827d37eb72 100644
---- a/configs/rockpro64-rk3399_defconfig
-+++ b/configs/rockpro64-rk3399_defconfig
-@@ -4,14 +4,17 @@ CONFIG_SYS_TEXT_BASE=0x00200000
- CONFIG_NR_DRAM_BANKS=1
- CONFIG_ENV_SIZE=0x8000
- CONFIG_ENV_OFFSET=0x3F8000
--CONFIG_DEFAULT_DEVICE_TREE="rk3399-rockpro64"
- CONFIG_ROCKCHIP_RK3399=y
- CONFIG_TARGET_ROCKPRO64_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-rockpro64"
- CONFIG_DEBUG_UART=y
-+CONFIG_AHCI=y
-+CONFIG_OF_BOARD_SETUP=y
-+CONFIG_BOOTDELAY=0
- CONFIG_USE_PREBOOT=y
- CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-rockpro64.dtb"
- CONFIG_DISPLAY_BOARDINFO_LATE=y
-@@ -20,29 +23,40 @@ CONFIG_MISC_INIT_R=y
- CONFIG_SPL_STACK_R=y
- CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x10000
- CONFIG_SPL_SPI_LOAD=y
-+# CONFIG_SPL_ATF_NO_PLATFORM_PARAM is not set
- CONFIG_TPL=y
- CONFIG_CMD_BOOTZ=y
-+CONFIG_CMD_BOOTMENU=y
- CONFIG_CMD_GPT=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_MTDPARTS=y
-+CONFIG_MTDIDS_DEFAULT="nor0=spi0.0"
-+CONFIG_MTDPARTS_DEFAULT="mtdparts=spi0.0:384k(u-boot-spl),3680k(u-boot),32k(u-boot-env),-(user)"
- 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_SPL_DM_SEQ_ALIAS=y
-+CONFIG_SCSI_AHCI=y
-+CONFIG_AHCI_PCI=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_ROCKCHIP=y
-+CONFIG_MTD=y
- CONFIG_SF_DEFAULT_BUS=1
- CONFIG_SPI_FLASH_GIGADEVICE=y
-+CONFIG_SPI_FLASH_MTD=y
- CONFIG_DM_ETH=y
- CONFIG_ETH_DESIGNWARE=y
- CONFIG_GMAC_ROCKCHIP=y
-@@ -58,7 +72,9 @@ CONFIG_RAM_RK3399_LPDDR4=y
- CONFIG_DM_RESET=y
- CONFIG_DM_RNG=y
- CONFIG_RNG_ROCKCHIP=y
--CONFIG_BAUDRATE=1500000
-+CONFIG_SCSI=y
-+CONFIG_DM_SCSI=y
-+CONFIG_BAUDRATE=115200
- CONFIG_DEBUG_UART_SHIFT=2
- CONFIG_ROCKCHIP_SPI=y
- CONFIG_SYSRESET=y
-@@ -82,5 +98,12 @@ CONFIG_DM_VIDEO=y
- CONFIG_DISPLAY=y
- CONFIG_VIDEO_ROCKCHIP=y
- CONFIG_DISPLAY_ROCKCHIP_HDMI=y
-+CONFIG_FS_BTRFS=y
- CONFIG_SPL_TINY_MEMSET=y
- CONFIG_ERRNO_STR=y
-+CONFIG_OF_LIBFDT_OVERLAY=y
-+CONFIG_FDT_FIXUP_PARTITIONS=y
-+CONFIG_AUTOBOOT_PROMPT="Autobooting in %d seconds... press q or Ctrl-C to interrupt\n"
-+CONFIG_AUTOBOOT_KEYED=y
-+CONFIG_AUTOBOOT_STOP_STR="q"
-+CONFIG_AUTOBOOT_KEYED_CTRLC=y
diff --git a/srcpkgs/rockpro64-uboot/template b/srcpkgs/rockpro64-uboot/template
deleted file mode 100644
index 10daa7174b83..000000000000
--- a/srcpkgs/rockpro64-uboot/template
+++ /dev/null
@@ -1,47 +0,0 @@
-# Template file for 'rockpro64-uboot'
-pkgname=rockpro64-uboot
-version=2021.07
-revision=1
-archs="aarch64*"
-wrksrc="u-boot-${version}"
-hostmakedepends="flex bc dtc python3"
-makedepends="atf-rk3399-bl31"
-depends="u-boot-tools"
-short_desc="Das U-Boot for the RockPro64 SBC"
-maintainer="Tiemen Werkman <tiemen@opifexonline.com>"
-license="GPL-2.0-or-later, BSD-3-Clause"
-homepage="https://www.denx.de/wiki/U-Boot/"
-distfiles="https://ftp.denx.de/pub/u-boot/u-boot-${version}.tar.bz2"
-checksum=312b7eeae44581d1362c3a3f02c28d806647756c82ba8c72241c7cdbe68ba77e
-
-do_configure() {
-	unset CFLAGS CXXFLAGS CPPFLAGS LDFLAGS
-	make ${makejobs} rockpro64-rk3399_defconfig
-}
-
-do_build() {
-	unset CFLAGS CXXFLAGS CPPFLAGS LDFLAGS
-	if [ "$CROSS_BUILD" ]; then
-		export CROSS_COMPILE=${XBPS_CROSS_TRIPLET}-
-	fi
-	make ${makejobs} EXTRAVERSION=-${revision} \
-		BL31=${XBPS_CROSS_BASE}/usr/lib/trusted-firmware-a/rk3399/bl31.elf
-}
-
-do_install() {
-	vinstall idbloader.img 0644 usr/lib/rockpro64-uboot
-	vinstall u-boot.itb 0644 usr/lib/rockpro64-uboot
-	vlicense Licenses/Exceptions
-	vlicense Licenses/OFL.txt
-	vlicense Licenses/README
-	vlicense Licenses/bsd-2-clause.txt
-	vlicense Licenses/bsd-3-clause.txt
-	vlicense Licenses/eCos-2.0.txt
-	vlicense Licenses/gpl-2.0.txt
-	vlicense Licenses/ibm-pibs.txt
-	vlicense Licenses/isc.txt
-	vlicense Licenses/lgpl-2.0.txt
-	vlicense Licenses/lgpl-2.1.txt
-	vlicense Licenses/r8a779x_usb3.txt
-	vlicense Licenses/x11.txt
-}
diff --git a/srcpkgs/rockpro64-uboot/update b/srcpkgs/rockpro64-uboot/update
deleted file mode 100644
index cfcfccd3fb43..000000000000
--- a/srcpkgs/rockpro64-uboot/update
+++ /dev/null
@@ -1 +0,0 @@
-pkgname="u-boot"

From 0488ad73310d2a44386c9bf098e70596d5e3bb2e Mon Sep 17 00:00:00 2001
From: Tiemen Werkman <tiemen@void-tiemen.opifexonline.com>
Date: Tue, 12 Oct 2021 09:26:44 +0200
Subject: [PATCH 3/4] Add rockpro64-base package.

---
 srcpkgs/rockpro64-base/INSTALL  |  8 ++++++++
 srcpkgs/rockpro64-base/template | 11 +++++++++++
 2 files changed, 19 insertions(+)
 create mode 100644 srcpkgs/rockpro64-base/INSTALL
 create mode 100644 srcpkgs/rockpro64-base/template

diff --git a/srcpkgs/rockpro64-base/INSTALL b/srcpkgs/rockpro64-base/INSTALL
new file mode 100644
index 000000000000..7e67f362c796
--- /dev/null
+++ b/srcpkgs/rockpro64-base/INSTALL
@@ -0,0 +1,8 @@
+if [ "${UPDATE}" = "no" ] && [ "${ACTION}" = "post" ]; then
+	mkdir -p etc/runit/runsvdir/default/
+	mkdir -p etc/sv/agetty-ttyS2/
+	ln -sf /etc/sv/sshd etc/runit/runsvdir/default/
+	ln -sf /etc/sv/dhcpcd etc/runit/runsvdir/default/
+	ln -sf /etc/sv/agetty-ttyS2 etc/runit/runsvdir/default/
+	cd etc/sv/agetty-ttyS2/ && ln -sf ../agetty-serial/conf conf && ln -sf ../agetty-generic/finish finish && ln -sf ../agetty-serial/run run && ln -sf /run/runit/supervise.agetty-ttyS2
+fi
diff --git a/srcpkgs/rockpro64-base/template b/srcpkgs/rockpro64-base/template
new file mode 100644
index 000000000000..e90db4f4396d
--- /dev/null
+++ b/srcpkgs/rockpro64-base/template
@@ -0,0 +1,11 @@
+# Template file for 'rockpro64-base'
+pkgname=rockpro64-base
+version=1
+revision=1
+archs="aarch64*"
+build_style=meta
+depends="rockpro64-uboot u-boot-menu dracut"
+short_desc="Void Linux RockPro64 platform package"
+maintainer="Tiemen Werkman <tiemen@opifexonline.com>"
+license="Public Domain"
+homepage="https://www.voidlinux.org"

From 233e6acd06ec75504fa30f78b00e7a4a561cbdb9 Mon Sep 17 00:00:00 2001
From: Tiemen Werkman <tiemen@opifexonline.com>
Date: Tue, 12 Oct 2021 09:28:53 +0200
Subject: [PATCH 4/4] Add rockpro64-uboot package.

---
 .../patches/phy-rockchip-inno-usb2.c.patch    |  75 ++++++++++++
 .../rockpro64-uboot/patches/rk3399.c.patch    |  51 +++++++++
 .../patches/rockpro64-rk3399.c.patch          |  53 +++++++++
 .../patches/rockpro64-rk3399.h.patch          |  33 ++++++
 .../patches/rockpro64-rk3399_defconfig.patch  | 108 ++++++++++++++++++
 srcpkgs/rockpro64-uboot/template              |  47 ++++++++
 srcpkgs/rockpro64-uboot/update                |   1 +
 7 files changed, 368 insertions(+)
 create mode 100644 srcpkgs/rockpro64-uboot/patches/phy-rockchip-inno-usb2.c.patch
 create mode 100644 srcpkgs/rockpro64-uboot/patches/rk3399.c.patch
 create mode 100644 srcpkgs/rockpro64-uboot/patches/rockpro64-rk3399.c.patch
 create mode 100644 srcpkgs/rockpro64-uboot/patches/rockpro64-rk3399.h.patch
 create mode 100644 srcpkgs/rockpro64-uboot/patches/rockpro64-rk3399_defconfig.patch
 create mode 100644 srcpkgs/rockpro64-uboot/template
 create mode 100644 srcpkgs/rockpro64-uboot/update

diff --git a/srcpkgs/rockpro64-uboot/patches/phy-rockchip-inno-usb2.c.patch b/srcpkgs/rockpro64-uboot/patches/phy-rockchip-inno-usb2.c.patch
new file mode 100644
index 000000000000..1f9839889f0d
--- /dev/null
+++ b/srcpkgs/rockpro64-uboot/patches/phy-rockchip-inno-usb2.c.patch
@@ -0,0 +1,75 @@
+    Fix USB on RockPro64:
+    Without this patch uboot crashes when resetting usb, preventing the kernel
+    from loading.
+    The only alternative to this patch is to disable Preboot or OHCI which 
+    also leaves you with no console keyboard.
+
+    https://patchwork.ozlabs.org/project/uboot/patch/20210406151059.1187379-1-icenowy@aosc.io/
+
+diff --git a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
+index 62b8ba3a4a..be9cc99d90 100644
+--- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
++++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
+@@ -62,6 +62,8 @@ struct rockchip_usb2phy {
+ 	void *reg_base;
+ 	struct clk phyclk;
+ 	const struct rockchip_usb2phy_cfg *phy_cfg;
++	int init_count;
++	int power_on_count;
+ };
+ 
+ static inline int property_enable(void *reg_base,
+@@ -92,6 +94,10 @@ static int rockchip_usb2phy_power_on(struct phy *phy)
+ 	struct rockchip_usb2phy *priv = dev_get_priv(parent);
+ 	const struct rockchip_usb2phy_port_cfg *port_cfg = us2phy_get_port(phy);
+ 
++	priv->power_on_count++;
++	if (priv->power_on_count != 1)
++		return 0;
++
+ 	property_enable(priv->reg_base, &port_cfg->phy_sus, false);
+ 
+ 	/* waiting for the utmi_clk to become stable */
+@@ -106,6 +112,10 @@ static int rockchip_usb2phy_power_off(struct phy *phy)
+ 	struct rockchip_usb2phy *priv = dev_get_priv(parent);
+ 	const struct rockchip_usb2phy_port_cfg *port_cfg = us2phy_get_port(phy);
+ 
++	priv->power_on_count--;
++	if (priv->power_on_count != 0)
++		return 0;
++
+ 	property_enable(priv->reg_base, &port_cfg->phy_sus, true);
+ 
+ 	return 0;
+@@ -118,6 +128,10 @@ static int rockchip_usb2phy_init(struct phy *phy)
+ 	const struct rockchip_usb2phy_port_cfg *port_cfg = us2phy_get_port(phy);
+ 	int ret;
+ 
++	priv->init_count++;
++	if (priv->init_count != 1)
++		return 0;
++
+ 	ret = clk_enable(&priv->phyclk);
+ 	if (ret) {
+ 		dev_err(phy->dev, "failed to enable phyclk (ret=%d)\n", ret);
+@@ -140,6 +154,10 @@ static int rockchip_usb2phy_exit(struct phy *phy)
+ 	struct udevice *parent = dev_get_parent(phy->dev);
+ 	struct rockchip_usb2phy *priv = dev_get_priv(parent);
+ 
++	priv->init_count--;
++	if (priv->init_count != 0)
++		return 0;
++
+ 	clk_disable(&priv->phyclk);
+ 
+ 	return 0;
+@@ -212,6 +230,9 @@ static int rockchip_usb2phy_probe(struct udevice *dev)
+ 		return ret;
+ 	}
+ 
++	priv->power_on_count = 0;
++	priv->init_count = 0;
++
+ 	return 0;
+ }
+ 
diff --git a/srcpkgs/rockpro64-uboot/patches/rk3399.c.patch b/srcpkgs/rockpro64-uboot/patches/rk3399.c.patch
new file mode 100644
index 000000000000..f3c08bf33c61
--- /dev/null
+++ b/srcpkgs/rockpro64-uboot/patches/rk3399.c.patch
@@ -0,0 +1,51 @@
+From 1a01021c9361c4e017cb5b032300f5555c393710 Mon Sep 17 00:00:00 2001
+From: dhivael <dhivael.git@eno.space>
+Date: Sat, 11 Jan 2020 15:04:46 +0100
+Subject: rk3399: light pinebook power and standby leds during early boot
+
+this is a hack, but it works for now.
+---
+ arch/arm/mach-rockchip/rk3399/rk3399.c | 12 +++++++++++-
+ 1 file changed, 11 insertions(+), 1 deletion(-)
+
+diff --git a/arch/arm/mach-rockchip/rk3399/rk3399.c b/arch/arm/mach-rockchip/rk3399/rk3399.c
+index 863024d071..cf37129d55 100644
+--- a/arch/arm/mach-rockchip/rk3399/rk3399.c
++++ b/arch/arm/mach-rockchip/rk3399/rk3399.c
+@@ -15,6 +15,8 @@
+ #include <asm/arch-rockchip/grf_rk3399.h>
+ #include <asm/arch-rockchip/hardware.h>
+ #include <power/regulator.h>
++#include <dt-bindings/gpio/gpio.h>
++#include <dt-bindings/pinctrl/rockchip.h>
+ 
+ DECLARE_GLOBAL_DATA_PTR;
+ 
+@@ -115,8 +117,8 @@ void board_debug_uart_init(void)
+ 	struct rk3399_grf_regs * const grf = (void *)GRF_BASE;
+ #ifdef CONFIG_TARGET_CHROMEBOOK_BOB
+ 	struct rk3399_pmugrf_regs * const pmugrf = (void *)PMUGRF_BASE;
+-	struct rockchip_gpio_regs * const gpio = (void *)GPIO0_BASE;
+ #endif
++	struct rockchip_gpio_regs * const gpio = (void *)GPIO0_BASE;
+ 
+ #if defined(CONFIG_DEBUG_UART_BASE) && (CONFIG_DEBUG_UART_BASE == 0xff180000)
+ 	/* Enable early UART0 on the RK3399 */
+@@ -149,6 +151,14 @@ void board_debug_uart_init(void)
+ 	spl_gpio_set_pull(&pmugrf->gpio0_p, GPIO(BANK_B, 4), GPIO_PULL_NORMAL);
+ #endif /* CONFIG_TARGET_CHROMEBOOK_BOB */
+ 
++	{
++		// set GPIO0_A2/B3 to GPIO_ACTIVE_HIGH
++		// set GPIO0_A2/B3 to OUTPUT
++		int mask = (1UL << RK_PA2) | (1UL << RK_PB3);
++		setbits_le32(&gpio->swport_dr, mask);
++		setbits_le32(&gpio->swport_ddr, mask);
++	}
++
+ 	/* Enable early UART2 channel C on the RK3399 */
+ 	rk_clrsetreg(&grf->gpio4c_iomux,
+ 		     GRF_GPIO4C3_SEL_MASK,
+-- 
+cgit v1.2.3
+
diff --git a/srcpkgs/rockpro64-uboot/patches/rockpro64-rk3399.c.patch b/srcpkgs/rockpro64-uboot/patches/rockpro64-rk3399.c.patch
new file mode 100644
index 000000000000..b40c9270302e
--- /dev/null
+++ b/srcpkgs/rockpro64-uboot/patches/rockpro64-rk3399.c.patch
@@ -0,0 +1,53 @@
+SPI flash partitions
+	This patch is required to update SPI flash partitions in the devicetree.
+	It comes from Sigmaris's for o U-Boot.
+	https://github.com/sigmaris/u-boot/blob/ci-2021.04-rockpro64/board/pine64/rockpro64_rk3399/rockpro64-rk3399.c
+
+diff --git a/board/pine64/rockpro64_rk3399/rockpro64-rk3399.c b/board/pine64/rockpro64_rk3399/rockpro64-rk3399.c
+index d79084614f..6f7f661154 100644
+--- a/board/pine64/rockpro64_rk3399/rockpro64-rk3399.c
++++ b/board/pine64/rockpro64_rk3399/rockpro64-rk3399.c
+@@ -5,6 +5,9 @@
+ 
+ #include <common.h>
+ #include <dm.h>
++#include <fdt_support.h>
++#include <jffs2/load_kernel.h>
++#include <mtd_node.h>
+ #include <init.h>
+ #include <syscon.h>
+ #include <asm/io.h>
+@@ -16,6 +19,33 @@
+ #define GRF_IO_VSEL_BT565_SHIFT 0
+ #define PMUGRF_CON0_VSEL_SHIFT 8
+ 
++#ifdef CONFIG_OF_BOARD_SETUP
++int ft_board_setup(void *blob, struct bd_info *bd)
++{
++#ifdef CONFIG_FDT_FIXUP_PARTITIONS
++	int ret, noff;
++	static const struct node_info nodes[] = {
++		{ "jedec,spi-nor", MTD_DEV_TYPE_NOR, },
++	};
++
++	noff = fdt_node_offset_by_compatible(blob, -1, nodes[0].compat);
++	if (noff != -FDT_ERR_NOTFOUND) {
++		ret = fdt_setprop_u32(blob, noff, "#size-cells", 1);
++		if (ret)
++			return ret;
++		ret = fdt_setprop_u32(blob, noff, "#address-cells", 1);
++		if (ret)
++			return ret;
++	} else {
++		return -ENODEV;
++	}
++
++	fdt_fixup_mtdparts(blob, nodes, ARRAY_SIZE(nodes));
++#endif
++	return 0;
++}
++#endif
++
+ #ifdef CONFIG_MISC_INIT_R
+ static void setup_iodomain(void)
+ {
diff --git a/srcpkgs/rockpro64-uboot/patches/rockpro64-rk3399.h.patch b/srcpkgs/rockpro64-uboot/patches/rockpro64-rk3399.h.patch
new file mode 100644
index 000000000000..d784a696e852
--- /dev/null
+++ b/srcpkgs/rockpro64-uboot/patches/rockpro64-rk3399.h.patch
@@ -0,0 +1,33 @@
+    rockchip: Pinebook Pro: fix mmc boot ordering
+    
+    On the Pinebook Pro, and perhaps some other boards, the mmc indices are
+    opposite from what is implied by the comment in
+    include/configs/rockchip-common.h.
+    
+    This commit fixes the boot ordering to prioritize the SD card over eMMC.
+    
+    Most distributions of U-Boot that actually target rk3399 boards apply a
+    similar patch, such as Manjaro (shipped by default on PBP) and armbian.
+    
+    https://gitlab.manjaro.org/manjaro-arm/packages/core/uboot-pinebookpro/-/blob/60ed56b9bf8809309ec6252bfc45bca38c2b858a/0002-Correct-boot-order-to-be-USB-SD-eMMC.patch
+    https://github.com/armbian/build/blob/5a2b2c360b9c26ca4bd0d309af7cd3994fd08b7d/patch/u-boot/u-boot-rockchip64-mainline/general-prioritize-sd.patch
+    
+diff --git a/include/configs/rockpro64_rk3399.h b/include/configs/rockpro64_rk3399.h
+index 903e9df527..7c8f30dbaf 100644
+--- a/include/configs/rockpro64_rk3399.h
++++ b/include/configs/rockpro64_rk3399.h
+@@ -12,6 +12,14 @@
+ 	"stderr=serial,vidconsole\0"
+ 
+ #include <configs/rk3399_common.h>
++ 
++/* On RockPro64, mmc1 is SD and mmc0 is eMMC */
++#if CONFIG_IS_ENABLED(CMD_MMC)
++	#undef BOOT_TARGET_MMC
++	#define BOOT_TARGET_MMC(func) \
++		func(MMC, mmc, 1) \
++		func(MMC, mmc, 0)
++#endif
+ 
+ #define SDRAM_BANK_SIZE			(2UL << 30)
+ 
diff --git a/srcpkgs/rockpro64-uboot/patches/rockpro64-rk3399_defconfig.patch b/srcpkgs/rockpro64-uboot/patches/rockpro64-rk3399_defconfig.patch
new file mode 100644
index 000000000000..af207a228085
--- /dev/null
+++ b/srcpkgs/rockpro64-uboot/patches/rockpro64-rk3399_defconfig.patch
@@ -0,0 +1,108 @@
+
+Autoboot
+	Disable bootdelay. Boot can be interrupted by pressing either <q> or
+	<ctrl-c>.
+
+Baudrate
+	Set baudrate to 115200 to prevent garbled output and improve
+	compatibility. The default baud rate is 1500000 bps. This produces
+	garbled output on many serial adapters and is a non-standard speed.
+
+Supported features
+	The following features have been enabled and are supported:
+	- NVME support.
+	- AHCI over PCIE.
+	- USB3 and keyboard support.
+	- fdt overlay.
+	- MDT partitions.
+	- BTRFS support enabled.
+
+diff --git a/configs/rockpro64-rk3399_defconfig b/configs/rockpro64-rk3399_defconfig
+index ae11a8f5eb..827d37eb72 100644
+--- a/configs/rockpro64-rk3399_defconfig
++++ b/configs/rockpro64-rk3399_defconfig
+@@ -4,14 +4,17 @@ CONFIG_SYS_TEXT_BASE=0x00200000
+ CONFIG_NR_DRAM_BANKS=1
+ CONFIG_ENV_SIZE=0x8000
+ CONFIG_ENV_OFFSET=0x3F8000
+-CONFIG_DEFAULT_DEVICE_TREE="rk3399-rockpro64"
+ CONFIG_ROCKCHIP_RK3399=y
+ CONFIG_TARGET_ROCKPRO64_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-rockpro64"
+ CONFIG_DEBUG_UART=y
++CONFIG_AHCI=y
++CONFIG_OF_BOARD_SETUP=y
++CONFIG_BOOTDELAY=0
+ CONFIG_USE_PREBOOT=y
+ CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-rockpro64.dtb"
+ CONFIG_DISPLAY_BOARDINFO_LATE=y
+@@ -20,29 +23,40 @@ CONFIG_MISC_INIT_R=y
+ CONFIG_SPL_STACK_R=y
+ CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x10000
+ CONFIG_SPL_SPI_LOAD=y
++# CONFIG_SPL_ATF_NO_PLATFORM_PARAM is not set
+ CONFIG_TPL=y
+ CONFIG_CMD_BOOTZ=y
++CONFIG_CMD_BOOTMENU=y
+ CONFIG_CMD_GPT=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_MTDPARTS=y
++CONFIG_MTDIDS_DEFAULT="nor0=spi0.0"
++CONFIG_MTDPARTS_DEFAULT="mtdparts=spi0.0:384k(u-boot-spl),3680k(u-boot),32k(u-boot-env),-(user)"
+ 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_SPL_DM_SEQ_ALIAS=y
++CONFIG_SCSI_AHCI=y
++CONFIG_AHCI_PCI=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_ROCKCHIP=y
++CONFIG_MTD=y
+ CONFIG_SF_DEFAULT_BUS=1
+ CONFIG_SPI_FLASH_GIGADEVICE=y
++CONFIG_SPI_FLASH_MTD=y
+ CONFIG_DM_ETH=y
+ CONFIG_ETH_DESIGNWARE=y
+ CONFIG_GMAC_ROCKCHIP=y
+@@ -58,7 +72,9 @@ CONFIG_RAM_RK3399_LPDDR4=y
+ CONFIG_DM_RESET=y
+ CONFIG_DM_RNG=y
+ CONFIG_RNG_ROCKCHIP=y
+-CONFIG_BAUDRATE=1500000
++CONFIG_SCSI=y
++CONFIG_DM_SCSI=y
++CONFIG_BAUDRATE=115200
+ CONFIG_DEBUG_UART_SHIFT=2
+ CONFIG_ROCKCHIP_SPI=y
+ CONFIG_SYSRESET=y
+@@ -82,5 +98,12 @@ CONFIG_DM_VIDEO=y
+ CONFIG_DISPLAY=y
+ CONFIG_VIDEO_ROCKCHIP=y
+ CONFIG_DISPLAY_ROCKCHIP_HDMI=y
++CONFIG_FS_BTRFS=y
+ CONFIG_SPL_TINY_MEMSET=y
+ CONFIG_ERRNO_STR=y
++CONFIG_OF_LIBFDT_OVERLAY=y
++CONFIG_FDT_FIXUP_PARTITIONS=y
++CONFIG_AUTOBOOT_PROMPT="Autobooting in %d seconds... press q or Ctrl-C to interrupt\n"
++CONFIG_AUTOBOOT_KEYED=y
++CONFIG_AUTOBOOT_STOP_STR="q"
++CONFIG_AUTOBOOT_KEYED_CTRLC=y
diff --git a/srcpkgs/rockpro64-uboot/template b/srcpkgs/rockpro64-uboot/template
new file mode 100644
index 000000000000..10daa7174b83
--- /dev/null
+++ b/srcpkgs/rockpro64-uboot/template
@@ -0,0 +1,47 @@
+# Template file for 'rockpro64-uboot'
+pkgname=rockpro64-uboot
+version=2021.07
+revision=1
+archs="aarch64*"
+wrksrc="u-boot-${version}"
+hostmakedepends="flex bc dtc python3"
+makedepends="atf-rk3399-bl31"
+depends="u-boot-tools"
+short_desc="Das U-Boot for the RockPro64 SBC"
+maintainer="Tiemen Werkman <tiemen@opifexonline.com>"
+license="GPL-2.0-or-later, BSD-3-Clause"
+homepage="https://www.denx.de/wiki/U-Boot/"
+distfiles="https://ftp.denx.de/pub/u-boot/u-boot-${version}.tar.bz2"
+checksum=312b7eeae44581d1362c3a3f02c28d806647756c82ba8c72241c7cdbe68ba77e
+
+do_configure() {
+	unset CFLAGS CXXFLAGS CPPFLAGS LDFLAGS
+	make ${makejobs} rockpro64-rk3399_defconfig
+}
+
+do_build() {
+	unset CFLAGS CXXFLAGS CPPFLAGS LDFLAGS
+	if [ "$CROSS_BUILD" ]; then
+		export CROSS_COMPILE=${XBPS_CROSS_TRIPLET}-
+	fi
+	make ${makejobs} EXTRAVERSION=-${revision} \
+		BL31=${XBPS_CROSS_BASE}/usr/lib/trusted-firmware-a/rk3399/bl31.elf
+}
+
+do_install() {
+	vinstall idbloader.img 0644 usr/lib/rockpro64-uboot
+	vinstall u-boot.itb 0644 usr/lib/rockpro64-uboot
+	vlicense Licenses/Exceptions
+	vlicense Licenses/OFL.txt
+	vlicense Licenses/README
+	vlicense Licenses/bsd-2-clause.txt
+	vlicense Licenses/bsd-3-clause.txt
+	vlicense Licenses/eCos-2.0.txt
+	vlicense Licenses/gpl-2.0.txt
+	vlicense Licenses/ibm-pibs.txt
+	vlicense Licenses/isc.txt
+	vlicense Licenses/lgpl-2.0.txt
+	vlicense Licenses/lgpl-2.1.txt
+	vlicense Licenses/r8a779x_usb3.txt
+	vlicense Licenses/x11.txt
+}
diff --git a/srcpkgs/rockpro64-uboot/update b/srcpkgs/rockpro64-uboot/update
new file mode 100644
index 000000000000..cfcfccd3fb43
--- /dev/null
+++ b/srcpkgs/rockpro64-uboot/update
@@ -0,0 +1 @@
+pkgname="u-boot"

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: New package: rockpro64-base and rockpro64-uboot
  2021-10-12  7:53 [PR PATCH] New package: rockpro64-base and rockpro64-uboot tiemenwerkman
@ 2021-10-12 17:01 ` CameronNemo
  2021-10-13  9:17 ` [PR PATCH] [Closed]: " tiemenwerkman
  2021-10-13 16:00 ` CameronNemo
  2 siblings, 0 replies; 4+ messages in thread
From: CameronNemo @ 2021-10-12 17:01 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 797 bytes --]

New comment by CameronNemo on void-packages repository

https://github.com/void-linux/void-packages/pull/33494#issuecomment-941199273

Comment:
>When building the packages I specified "-a aarch64" to "./xbps-src" to build the packages for arm64. I believe that makes it a crossbuild as it was not built on a native arm64 platform.

Yeah that was a cross build on glibc.

We like to have the commit messages have a specific format. Right now this branch has 8 commits with a lot of merge commits. You should only have two commits (in the same branch/PR), as I mentioned before. Always rebase commits on master, do not merge master into your branch. You should probably review the [CONTRIBUTING.md](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md) document in this repo.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PR PATCH] [Closed]: New package: rockpro64-base and rockpro64-uboot
  2021-10-12  7:53 [PR PATCH] New package: rockpro64-base and rockpro64-uboot tiemenwerkman
  2021-10-12 17:01 ` CameronNemo
@ 2021-10-13  9:17 ` tiemenwerkman
  2021-10-13 16:00 ` CameronNemo
  2 siblings, 0 replies; 4+ messages in thread
From: tiemenwerkman @ 2021-10-13  9:17 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1299 bytes --]

There's a closed pull request on the void-packages repository

New package: rockpro64-base and rockpro64-uboot
https://github.com/void-linux/void-packages/pull/33494

Description:
#### General
- [x] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

#### Does it build and run successfully? 
(Please choose at least one native build and, if supported, at least one cross build. More are better.)
- [ ] I built this PR locally for my native architecture, (ARCH-LIBC)
- [ ] I built this PR locally for these architectures (if supported. mark crossbuilds):
  - [ ] aarch64-musl
  - [ ] armv7l
  - [ ] armv6l-musl

I'm not clear on what the build section above means. Here's what I did: I have built these packages on my desktop pc which is x86_64. When building the packages I specified "-a aarch64" to "./xbps-src" to build the packages for arm64. I believe that makes it a crossbuild as it was not built on a native arm64 platform.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: New package: rockpro64-base and rockpro64-uboot
  2021-10-12  7:53 [PR PATCH] New package: rockpro64-base and rockpro64-uboot tiemenwerkman
  2021-10-12 17:01 ` CameronNemo
  2021-10-13  9:17 ` [PR PATCH] [Closed]: " tiemenwerkman
@ 2021-10-13 16:00 ` CameronNemo
  2 siblings, 0 replies; 4+ messages in thread
From: CameronNemo @ 2021-10-13 16:00 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 632 bytes --]

New comment by CameronNemo on void-packages repository

https://github.com/void-linux/void-packages/pull/33494#issuecomment-942451060

Comment:
@tiemenwerkman 

>Please abstain from temporarily closing a pull request while revising the templates. Instead, leave a comment on the PR describing what still needs work, or add "[WIP]" to the PR title. Only close your pull request if you're sure you don't want your changes to be included.

It is suggested that you keep the same branch name and PR, and just force push to the branch if you are making changes. When you keep closing PRs, it makes the review process more difficult.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-10-13 16:00 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-12  7:53 [PR PATCH] New package: rockpro64-base and rockpro64-uboot tiemenwerkman
2021-10-12 17:01 ` CameronNemo
2021-10-13  9:17 ` [PR PATCH] [Closed]: " tiemenwerkman
2021-10-13 16:00 ` CameronNemo

Github messages for voidlinux

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.vuxu.org/voidlinux-github

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V1 voidlinux-github voidlinux-github/ https://inbox.vuxu.org/voidlinux-github \
		voidlinux-github@inbox.vuxu.org
	public-inbox-index voidlinux-github

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.vuxu.org/vuxu.github.voidlinux


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git