Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] New packages: rockpro64-base and rockpro64-uboot
@ 2022-03-30 11:34 tsndqst
  2022-03-30 12:41 ` [PR PATCH] [Updated] " tsndqst
                   ` (37 more replies)
  0 siblings, 38 replies; 83+ messages in thread
From: tsndqst @ 2022-03-30 11:34 UTC (permalink / raw)
  To: ml

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

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

https://github.com/tsndqst/void-packages rockpro64
https://github.com/void-linux/void-packages/pull/36419

New packages: rockpro64-base and rockpro64-uboot
PR based on https://github.com/void-linux/void-packages/pull/33556

<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): **YES**

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!-- 
#### Local build testing
- 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
-->


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

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

From 7468e60e3f9e1e7b2e5a612f795a448d6c7b724e Mon Sep 17 00:00:00 2001
From: Tiemen Werkman <tiemen@opifexonline.com>
Date: Wed, 13 Oct 2021 16:40:00 +0200
Subject: [PATCH 1/3] New package: rockpro64-base

---
 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 3ad6a2aac97eede2f4f80608ee5dfbeb766e93e2 Mon Sep 17 00:00:00 2001
From: Tiemen Werkman <tiemen@opifexonline.com>
Date: Wed, 13 Oct 2021 16:40:20 +0200
Subject: [PATCH 2/3] New package: rockpro64-uboot

---
 .../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"

From eaec98d3e8c67fb50cc17b980939576d899683ce Mon Sep 17 00:00:00 2001
From: Tim Sandquist <tim.sandquist@gmail.com>
Date: Tue, 29 Mar 2022 18:56:58 -0500
Subject: [PATCH 3/3] rockpro64-base: add linux package to depends

---
 srcpkgs/rockpro64-base/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/rockpro64-base/template b/srcpkgs/rockpro64-base/template
index e90db4f4396d..36c9ccb23b3e 100644
--- a/srcpkgs/rockpro64-base/template
+++ b/srcpkgs/rockpro64-base/template
@@ -1,10 +1,10 @@
 # Template file for 'rockpro64-base'
 pkgname=rockpro64-base
 version=1
-revision=1
+revision=2
 archs="aarch64*"
 build_style=meta
-depends="rockpro64-uboot u-boot-menu dracut"
+depends="linux rockpro64-uboot u-boot-menu dracut"
 short_desc="Void Linux RockPro64 platform package"
 maintainer="Tiemen Werkman <tiemen@opifexonline.com>"
 license="Public Domain"

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

* Re: [PR PATCH] [Updated] New packages: rockpro64-base and rockpro64-uboot
  2022-03-30 11:34 [PR PATCH] New packages: rockpro64-base and rockpro64-uboot tsndqst
@ 2022-03-30 12:41 ` tsndqst
  2022-04-10  5:50 ` Anachron
                   ` (36 subsequent siblings)
  37 siblings, 0 replies; 83+ messages in thread
From: tsndqst @ 2022-03-30 12:41 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by tsndqst against master on the void-packages repository

https://github.com/tsndqst/void-packages rockpro64
https://github.com/void-linux/void-packages/pull/36419

New packages: rockpro64-base and rockpro64-uboot
PR based on https://github.com/void-linux/void-packages/pull/33556

<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): **YES**

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!-- 
#### Local build testing
- 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
-->


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

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

From fe1cac583b4108e5924ef4f56d1e5d96bec4c68c Mon Sep 17 00:00:00 2001
From: Tiemen Werkman <tiemen@opifexonline.com>
Date: Wed, 13 Oct 2021 16:40:00 +0200
Subject: [PATCH 1/3] New package: rockpro64-base

---
 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 fdfaad700643e5015fd39abb3f6824ad847bb6ac Mon Sep 17 00:00:00 2001
From: Tiemen Werkman <tiemen@opifexonline.com>
Date: Wed, 13 Oct 2021 16:40:20 +0200
Subject: [PATCH 2/3] New package: rockpro64-uboot

---
 .../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"

From 858c2713a3bd58238345d15b4e3553c5216b2553 Mon Sep 17 00:00:00 2001
From: Tim Sandquist <tim.sandquist@gmail.com>
Date: Tue, 29 Mar 2022 18:56:58 -0500
Subject: [PATCH 3/3] rockpro64-base: add linux package to depends

---
 srcpkgs/rockpro64-base/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/rockpro64-base/template b/srcpkgs/rockpro64-base/template
index e90db4f4396d..1e5af3a6dc6b 100644
--- a/srcpkgs/rockpro64-base/template
+++ b/srcpkgs/rockpro64-base/template
@@ -4,7 +4,7 @@ version=1
 revision=1
 archs="aarch64*"
 build_style=meta
-depends="rockpro64-uboot u-boot-menu dracut"
+depends="linux rockpro64-uboot u-boot-menu dracut"
 short_desc="Void Linux RockPro64 platform package"
 maintainer="Tiemen Werkman <tiemen@opifexonline.com>"
 license="Public Domain"

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2022-03-30 11:34 [PR PATCH] New packages: rockpro64-base and rockpro64-uboot tsndqst
  2022-03-30 12:41 ` [PR PATCH] [Updated] " tsndqst
@ 2022-04-10  5:50 ` Anachron
  2022-05-12 15:43 ` Anachron
                   ` (35 subsequent siblings)
  37 siblings, 0 replies; 83+ messages in thread
From: Anachron @ 2022-04-10  5:50 UTC (permalink / raw)
  To: ml

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

New comment by Anachron on void-packages repository

https://github.com/void-linux/void-packages/pull/36419#issuecomment-1094186017

Comment:
I'm running the packages on my RockPro64 for weeks now.

Imo this can be merged.

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2022-03-30 11:34 [PR PATCH] New packages: rockpro64-base and rockpro64-uboot tsndqst
  2022-03-30 12:41 ` [PR PATCH] [Updated] " tsndqst
  2022-04-10  5:50 ` Anachron
@ 2022-05-12 15:43 ` Anachron
  2022-08-06 16:34 ` geekboy01
                   ` (34 subsequent siblings)
  37 siblings, 0 replies; 83+ messages in thread
From: Anachron @ 2022-05-12 15:43 UTC (permalink / raw)
  To: ml

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

New comment by Anachron on void-packages repository

https://github.com/void-linux/void-packages/pull/36419#issuecomment-1125152032

Comment:
I think this can be merged with the other PR... running this for a month now.

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2022-03-30 11:34 [PR PATCH] New packages: rockpro64-base and rockpro64-uboot tsndqst
                   ` (2 preceding siblings ...)
  2022-05-12 15:43 ` Anachron
@ 2022-08-06 16:34 ` geekboy01
  2022-08-08  7:24 ` Anachron
                   ` (33 subsequent siblings)
  37 siblings, 0 replies; 83+ messages in thread
From: geekboy01 @ 2022-08-06 16:34 UTC (permalink / raw)
  To: ml

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

New comment by geekboy01 on void-packages repository

https://github.com/void-linux/void-packages/pull/36419#issuecomment-1207243855

Comment:
Any chance of this rolling out to the main repos or advice on how to build the all that is necessary to get Void up and running on my RP64s?

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2022-03-30 11:34 [PR PATCH] New packages: rockpro64-base and rockpro64-uboot tsndqst
                   ` (3 preceding siblings ...)
  2022-08-06 16:34 ` geekboy01
@ 2022-08-08  7:24 ` Anachron
  2022-08-08 22:03 ` geekboy01
                   ` (32 subsequent siblings)
  37 siblings, 0 replies; 83+ messages in thread
From: Anachron @ 2022-08-08  7:24 UTC (permalink / raw)
  To: ml

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

New comment by Anachron on void-packages repository

https://github.com/void-linux/void-packages/pull/36419#issuecomment-1207762318

Comment:
You have to fork this repo and https://github.com/void-linux/void-mklive and merge this PR and https://github.com/void-linux/void-mklive/pull/221 yourself, then build the packages from this PR using `xbps-src` and use `void-mklive` to generate an image to put on your `RockPro64`.

Hopefully some maintainer steps in and merges this though.

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2022-03-30 11:34 [PR PATCH] New packages: rockpro64-base and rockpro64-uboot tsndqst
                   ` (4 preceding siblings ...)
  2022-08-08  7:24 ` Anachron
@ 2022-08-08 22:03 ` geekboy01
  2022-08-10  2:36 ` geekboy01
                   ` (31 subsequent siblings)
  37 siblings, 0 replies; 83+ messages in thread
From: geekboy01 @ 2022-08-08 22:03 UTC (permalink / raw)
  To: ml

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

New comment by geekboy01 on void-packages repository

https://github.com/void-linux/void-packages/pull/36419#issuecomment-1208660166

Comment:
@Anachron ,

much appreciated, got it building now.

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2022-03-30 11:34 [PR PATCH] New packages: rockpro64-base and rockpro64-uboot tsndqst
                   ` (5 preceding siblings ...)
  2022-08-08 22:03 ` geekboy01
@ 2022-08-10  2:36 ` geekboy01
  2022-11-09  2:13 ` github-actions
                   ` (30 subsequent siblings)
  37 siblings, 0 replies; 83+ messages in thread
From: geekboy01 @ 2022-08-10  2:36 UTC (permalink / raw)
  To: ml

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

New comment by geekboy01 on void-packages repository

https://github.com/void-linux/void-packages/pull/36419#issuecomment-1208660166

Comment:
@Anachron ,

much appreciated, got it building now.

update:
with your help and paper42's help on another issue got the image to build and running great. Very much appreciate everyone's help and advice.

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2022-03-30 11:34 [PR PATCH] New packages: rockpro64-base and rockpro64-uboot tsndqst
                   ` (6 preceding siblings ...)
  2022-08-10  2:36 ` geekboy01
@ 2022-11-09  2:13 ` github-actions
  2022-11-13 21:41 ` geekboy01
                   ` (29 subsequent siblings)
  37 siblings, 0 replies; 83+ messages in thread
From: github-actions @ 2022-11-09  2:13 UTC (permalink / raw)
  To: ml

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

New comment by github-actions[bot] on void-packages repository

https://github.com/void-linux/void-packages/pull/36419#issuecomment-1308104864

Comment:
Pull Requests become stale 90 days after last activity and are closed 14 days after that.  If this pull request is still relevant bump it or assign it.

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2022-03-30 11:34 [PR PATCH] New packages: rockpro64-base and rockpro64-uboot tsndqst
                   ` (7 preceding siblings ...)
  2022-11-09  2:13 ` github-actions
@ 2022-11-13 21:41 ` geekboy01
  2022-11-13 22:06 ` Anachron
                   ` (28 subsequent siblings)
  37 siblings, 0 replies; 83+ messages in thread
From: geekboy01 @ 2022-11-13 21:41 UTC (permalink / raw)
  To: ml

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

New comment by geekboy01 on void-packages repository

https://github.com/void-linux/void-packages/pull/36419#issuecomment-1312829252

Comment:
bump

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2022-03-30 11:34 [PR PATCH] New packages: rockpro64-base and rockpro64-uboot tsndqst
                   ` (8 preceding siblings ...)
  2022-11-13 21:41 ` geekboy01
@ 2022-11-13 22:06 ` Anachron
  2023-02-13  2:01 ` github-actions
                   ` (27 subsequent siblings)
  37 siblings, 0 replies; 83+ messages in thread
From: Anachron @ 2022-11-13 22:06 UTC (permalink / raw)
  To: ml

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

New comment by Anachron on void-packages repository

https://github.com/void-linux/void-packages/pull/36419#issuecomment-1312834454

Comment:
Yep, dont let this die...

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2022-03-30 11:34 [PR PATCH] New packages: rockpro64-base and rockpro64-uboot tsndqst
                   ` (9 preceding siblings ...)
  2022-11-13 22:06 ` Anachron
@ 2023-02-13  2:01 ` github-actions
  2023-02-13  4:37 ` zen0bit
                   ` (26 subsequent siblings)
  37 siblings, 0 replies; 83+ messages in thread
From: github-actions @ 2023-02-13  2:01 UTC (permalink / raw)
  To: ml

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

New comment by github-actions[bot] on void-packages repository

https://github.com/void-linux/void-packages/pull/36419#issuecomment-1427220053

Comment:
Pull Requests become stale 90 days after last activity and are closed 14 days after that.  If this pull request is still relevant bump it or assign it.

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2022-03-30 11:34 [PR PATCH] New packages: rockpro64-base and rockpro64-uboot tsndqst
                   ` (10 preceding siblings ...)
  2023-02-13  2:01 ` github-actions
@ 2023-02-13  4:37 ` zen0bit
  2023-02-13 14:38 ` geekboy01
                   ` (25 subsequent siblings)
  37 siblings, 0 replies; 83+ messages in thread
From: zen0bit @ 2023-02-13  4:37 UTC (permalink / raw)
  To: ml

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

New comment by zen0bit on void-packages repository

https://github.com/void-linux/void-packages/pull/36419#issuecomment-1427331982

Comment:
Bump

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2022-03-30 11:34 [PR PATCH] New packages: rockpro64-base and rockpro64-uboot tsndqst
                   ` (11 preceding siblings ...)
  2023-02-13  4:37 ` zen0bit
@ 2023-02-13 14:38 ` geekboy01
  2023-05-16  1:54 ` github-actions
                   ` (24 subsequent siblings)
  37 siblings, 0 replies; 83+ messages in thread
From: geekboy01 @ 2023-02-13 14:38 UTC (permalink / raw)
  To: ml

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

New comment by geekboy01 on void-packages repository

https://github.com/void-linux/void-packages/pull/36419#issuecomment-1428050141

Comment:
bump, don't wanna lose this.

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2022-03-30 11:34 [PR PATCH] New packages: rockpro64-base and rockpro64-uboot tsndqst
                   ` (12 preceding siblings ...)
  2023-02-13 14:38 ` geekboy01
@ 2023-05-16  1:54 ` github-actions
  2023-05-16  7:07 ` Anachron
                   ` (23 subsequent siblings)
  37 siblings, 0 replies; 83+ messages in thread
From: github-actions @ 2023-05-16  1:54 UTC (permalink / raw)
  To: ml

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

New comment by github-actions[bot] on void-packages repository

https://github.com/void-linux/void-packages/pull/36419#issuecomment-1548852008

Comment:
Pull Requests become stale 90 days after last activity and are closed 14 days after that.  If this pull request is still relevant bump it or assign it.

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2022-03-30 11:34 [PR PATCH] New packages: rockpro64-base and rockpro64-uboot tsndqst
                   ` (13 preceding siblings ...)
  2023-05-16  1:54 ` github-actions
@ 2023-05-16  7:07 ` Anachron
  2023-08-16  1:44 ` github-actions
                   ` (22 subsequent siblings)
  37 siblings, 0 replies; 83+ messages in thread
From: Anachron @ 2023-05-16  7:07 UTC (permalink / raw)
  To: ml

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

New comment by Anachron on void-packages repository

https://github.com/void-linux/void-packages/pull/36419#issuecomment-1549108029

Comment:
Dont you stale this, github-actions.

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2022-03-30 11:34 [PR PATCH] New packages: rockpro64-base and rockpro64-uboot tsndqst
                   ` (14 preceding siblings ...)
  2023-05-16  7:07 ` Anachron
@ 2023-08-16  1:44 ` github-actions
  2023-08-16  4:11 ` geekboy01
                   ` (21 subsequent siblings)
  37 siblings, 0 replies; 83+ messages in thread
From: github-actions @ 2023-08-16  1:44 UTC (permalink / raw)
  To: ml

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

New comment by github-actions[bot] on void-packages repository

https://github.com/void-linux/void-packages/pull/36419#issuecomment-1679845303

Comment:
Pull Requests become stale 90 days after last activity and are closed 14 days after that.  If this pull request is still relevant bump it or assign it.

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2022-03-30 11:34 [PR PATCH] New packages: rockpro64-base and rockpro64-uboot tsndqst
                   ` (15 preceding siblings ...)
  2023-08-16  1:44 ` github-actions
@ 2023-08-16  4:11 ` geekboy01
  2023-11-15  1:46 ` github-actions
                   ` (20 subsequent siblings)
  37 siblings, 0 replies; 83+ messages in thread
From: geekboy01 @ 2023-08-16  4:11 UTC (permalink / raw)
  To: ml

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

New comment by geekboy01 on void-packages repository

https://github.com/void-linux/void-packages/pull/36419#issuecomment-1679930557

Comment:
Bump.

On Tue, Aug 15, 2023, 18:44 github-actions[bot] ***@***.***>
wrote:

> Pull Requests become stale 90 days after last activity and are closed 14
> days after that. If this pull request is still relevant bump it or assign
> it.
>
> —
> Reply to this email directly, view it on GitHub
> <https://github.com/void-linux/void-packages/pull/36419#issuecomment-1679845303>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/AIF2UVZGBTO46RUHQCU7Z53XVQQXTANCNFSM5SBT3ORQ>
> .
> You are receiving this because you commented.Message ID:
> ***@***.***>
>


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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2022-03-30 11:34 [PR PATCH] New packages: rockpro64-base and rockpro64-uboot tsndqst
                   ` (16 preceding siblings ...)
  2023-08-16  4:11 ` geekboy01
@ 2023-11-15  1:46 ` github-actions
  2023-11-15  1:55 ` geekboy01
                   ` (19 subsequent siblings)
  37 siblings, 0 replies; 83+ messages in thread
From: github-actions @ 2023-11-15  1:46 UTC (permalink / raw)
  To: ml

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

New comment by github-actions[bot] on void-packages repository

https://github.com/void-linux/void-packages/pull/36419#issuecomment-1811668961

Comment:
Pull Requests become stale 90 days after last activity and are closed 14 days after that.  If this pull request is still relevant bump it or assign it.

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2022-03-30 11:34 [PR PATCH] New packages: rockpro64-base and rockpro64-uboot tsndqst
                   ` (17 preceding siblings ...)
  2023-11-15  1:46 ` github-actions
@ 2023-11-15  1:55 ` geekboy01
  2023-11-15  2:10 ` [PR PATCH] [Updated] " tsndqst
                   ` (18 subsequent siblings)
  37 siblings, 0 replies; 83+ messages in thread
From: geekboy01 @ 2023-11-15  1:55 UTC (permalink / raw)
  To: ml

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

New comment by geekboy01 on void-packages repository

https://github.com/void-linux/void-packages/pull/36419#issuecomment-1811677425

Comment:
bump

On Tue, Nov 14, 2023 at 5:46 PM github-actions[bot] <
***@***.***> wrote:

> Pull Requests become stale 90 days after last activity and are closed 14
> days after that. If this pull request is still relevant bump it or assign
> it.
>
> —
> Reply to this email directly, view it on GitHub
> <https://github.com/void-linux/void-packages/pull/36419#issuecomment-1811668961>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/AIF2UVYFG2DI5V5BDQGSOCTYEQNIDAVCNFSM5SBT3OR2U5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCOBRGE3DMOBZGYYQ>
> .
> You are receiving this because you commented.Message ID:
> ***@***.***>
>


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

* Re: [PR PATCH] [Updated] New packages: rockpro64-base and rockpro64-uboot
  2022-03-30 11:34 [PR PATCH] New packages: rockpro64-base and rockpro64-uboot tsndqst
                   ` (18 preceding siblings ...)
  2023-11-15  1:55 ` geekboy01
@ 2023-11-15  2:10 ` tsndqst
  2023-12-03 16:24 ` tsndqst
                   ` (17 subsequent siblings)
  37 siblings, 0 replies; 83+ messages in thread
From: tsndqst @ 2023-11-15  2:10 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by tsndqst against master on the void-packages repository

https://github.com/tsndqst/void-packages rockpro64
https://github.com/void-linux/void-packages/pull/36419

New packages: rockpro64-base and rockpro64-uboot
PR based on https://github.com/void-linux/void-packages/pull/33556

<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): **YES**

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!-- 
#### Local build testing
- 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
-->


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

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

From 4bfa03a185966e5668ecda51ee8f78a33b601e5b Mon Sep 17 00:00:00 2001
From: Tiemen Werkman <tiemen@opifexonline.com>
Date: Wed, 13 Oct 2021 16:40:00 +0200
Subject: [PATCH 1/3] New package: rockpro64-base

---
 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 0000000000000..7e67f362c7965
--- /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 0000000000000..e90db4f4396d9
--- /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 b9fd8df6f5dece92774508b3dc77a445725cab6e Mon Sep 17 00:00:00 2001
From: Tiemen Werkman <tiemen@opifexonline.com>
Date: Wed, 13 Oct 2021 16:40:20 +0200
Subject: [PATCH 2/3] New package: rockpro64-uboot

---
 .../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 0000000000000..1f9839889f0d7
--- /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 0000000000000..f3c08bf33c619
--- /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 0000000000000..b40c9270302eb
--- /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 0000000000000..d784a696e8525
--- /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 0000000000000..af207a228085c
--- /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 0000000000000..10daa7174b839
--- /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 0000000000000..cfcfccd3fb437
--- /dev/null
+++ b/srcpkgs/rockpro64-uboot/update
@@ -0,0 +1 @@
+pkgname="u-boot"

From 50a7d4b948aace83ec664b101b4a6fe11f67af2b Mon Sep 17 00:00:00 2001
From: Tim Sandquist <tim.sandquist@gmail.com>
Date: Tue, 29 Mar 2022 18:56:58 -0500
Subject: [PATCH 3/3] rockpro64-base: add linux package to depends

---
 srcpkgs/rockpro64-base/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/rockpro64-base/template b/srcpkgs/rockpro64-base/template
index e90db4f4396d9..1e5af3a6dc6be 100644
--- a/srcpkgs/rockpro64-base/template
+++ b/srcpkgs/rockpro64-base/template
@@ -4,7 +4,7 @@ version=1
 revision=1
 archs="aarch64*"
 build_style=meta
-depends="rockpro64-uboot u-boot-menu dracut"
+depends="linux rockpro64-uboot u-boot-menu dracut"
 short_desc="Void Linux RockPro64 platform package"
 maintainer="Tiemen Werkman <tiemen@opifexonline.com>"
 license="Public Domain"

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

* Re: [PR PATCH] [Updated] New packages: rockpro64-base and rockpro64-uboot
  2022-03-30 11:34 [PR PATCH] New packages: rockpro64-base and rockpro64-uboot tsndqst
                   ` (19 preceding siblings ...)
  2023-11-15  2:10 ` [PR PATCH] [Updated] " tsndqst
@ 2023-12-03 16:24 ` tsndqst
  2023-12-03 17:03 ` Anachron
                   ` (16 subsequent siblings)
  37 siblings, 0 replies; 83+ messages in thread
From: tsndqst @ 2023-12-03 16:24 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by tsndqst against master on the void-packages repository

https://github.com/tsndqst/void-packages rockpro64
https://github.com/void-linux/void-packages/pull/36419

New packages: rockpro64-base and rockpro64-uboot
PR based on https://github.com/void-linux/void-packages/pull/33556

<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): **YES**

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!-- 
#### Local build testing
- 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
-->


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

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

From ae0d2ae6ae76c35d941509e1487107c17b946cfb Mon Sep 17 00:00:00 2001
From: Tiemen Werkman <tiemen@opifexonline.com>
Date: Wed, 13 Oct 2021 16:40:00 +0200
Subject: [PATCH 1/2] New package: rockpro64-base

---
 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 0000000000000..7e67f362c7965
--- /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 0000000000000..e90db4f4396d9
--- /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 d27d8e1f7d01e4655b8787ea2c7c860ccdb2c00b Mon Sep 17 00:00:00 2001
From: Tiemen Werkman <tiemen@opifexonline.com>
Date: Wed, 13 Oct 2021 16:40:20 +0200
Subject: [PATCH 2/2] New package: rockpro64-uboot

---
 .../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 0000000000000..1f9839889f0d7
--- /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 0000000000000..f3c08bf33c619
--- /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 0000000000000..b40c9270302eb
--- /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 0000000000000..d784a696e8525
--- /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 0000000000000..af207a228085c
--- /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 0000000000000..10daa7174b839
--- /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 0000000000000..cfcfccd3fb437
--- /dev/null
+++ b/srcpkgs/rockpro64-uboot/update
@@ -0,0 +1 @@
+pkgname="u-boot"

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2022-03-30 11:34 [PR PATCH] New packages: rockpro64-base and rockpro64-uboot tsndqst
                   ` (20 preceding siblings ...)
  2023-12-03 16:24 ` tsndqst
@ 2023-12-03 17:03 ` Anachron
  2023-12-03 18:29 ` tsndqst
                   ` (15 subsequent siblings)
  37 siblings, 0 replies; 83+ messages in thread
From: Anachron @ 2023-12-03 17:03 UTC (permalink / raw)
  To: ml

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

New comment by Anachron on void-packages repository

https://github.com/void-linux/void-packages/pull/36419#issuecomment-1837539867

Comment:
Please check / fix the lint error.

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2022-03-30 11:34 [PR PATCH] New packages: rockpro64-base and rockpro64-uboot tsndqst
                   ` (21 preceding siblings ...)
  2023-12-03 17:03 ` Anachron
@ 2023-12-03 18:29 ` tsndqst
  2023-12-03 18:32 ` tsndqst
                   ` (14 subsequent siblings)
  37 siblings, 0 replies; 83+ messages in thread
From: tsndqst @ 2023-12-03 18:29 UTC (permalink / raw)
  To: ml

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

New comment by tsndqst on void-packages repository

https://github.com/void-linux/void-packages/pull/36419#issuecomment-1837560919

Comment:
The error from the `Lint templates` is due to the [recent addition of the update-check script](https://github.com/void-linux/void-packages/pull/44927).  Since the template is a meta-package there are no distfiles so the `NO DISTFILES found for rockpro64-base` error is expected.  Perhaps the `verify-update-check.sh` script should be updated to catch the edge case where there are no distfiles in the template.

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2022-03-30 11:34 [PR PATCH] New packages: rockpro64-base and rockpro64-uboot tsndqst
                   ` (22 preceding siblings ...)
  2023-12-03 18:29 ` tsndqst
@ 2023-12-03 18:32 ` tsndqst
  2023-12-03 18:42 ` classabbyamp
                   ` (13 subsequent siblings)
  37 siblings, 0 replies; 83+ messages in thread
From: tsndqst @ 2023-12-03 18:32 UTC (permalink / raw)
  To: ml

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

New comment by tsndqst on void-packages repository

https://github.com/void-linux/void-packages/pull/36419#issuecomment-1837562103

Comment:
@classabbyamp Since you added the update-check in https://github.com/void-linux/void-packages/pull/44927 perhaps you have a suggestion on how to handle the `NO DISTFILES found for rockpro64-base` error.

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2022-03-30 11:34 [PR PATCH] New packages: rockpro64-base and rockpro64-uboot tsndqst
                   ` (23 preceding siblings ...)
  2023-12-03 18:32 ` tsndqst
@ 2023-12-03 18:42 ` classabbyamp
  2023-12-03 18:47 ` [PR PATCH] [Updated] " tsndqst
                   ` (12 subsequent siblings)
  37 siblings, 0 replies; 83+ messages in thread
From: classabbyamp @ 2023-12-03 18:42 UTC (permalink / raw)
  To: ml

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

New comment by classabbyamp on void-packages repository

https://github.com/void-linux/void-packages/pull/36419#issuecomment-1837564520

Comment:
https://github.com/void-linux/void-packages/blob/master/Manual.md#updates

> `disabled` can be set to disable update checking for the package, in cases where checking for updates is impossible or does not make sense. This should be set to a string describing why it is disabled.

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

* Re: [PR PATCH] [Updated] New packages: rockpro64-base and rockpro64-uboot
  2022-03-30 11:34 [PR PATCH] New packages: rockpro64-base and rockpro64-uboot tsndqst
                   ` (24 preceding siblings ...)
  2023-12-03 18:42 ` classabbyamp
@ 2023-12-03 18:47 ` tsndqst
  2023-12-03 18:48 ` tsndqst
                   ` (11 subsequent siblings)
  37 siblings, 0 replies; 83+ messages in thread
From: tsndqst @ 2023-12-03 18:47 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by tsndqst against master on the void-packages repository

https://github.com/tsndqst/void-packages rockpro64
https://github.com/void-linux/void-packages/pull/36419

New packages: rockpro64-base and rockpro64-uboot
PR based on https://github.com/void-linux/void-packages/pull/33556

<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): **YES**

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!-- 
#### Local build testing
- 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
-->


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

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

From 0d8d4ec4771cb92463be4a2d9c6cfe47ae72e336 Mon Sep 17 00:00:00 2001
From: Tiemen Werkman <tiemen@opifexonline.com>
Date: Wed, 13 Oct 2021 16:40:00 +0200
Subject: [PATCH 1/2] New package: rockpro64-base

---
 srcpkgs/rockpro64-base/INSTALL  |  8 ++++++++
 srcpkgs/rockpro64-base/template | 11 +++++++++++
 srcpkgs/rockpro64-base/update   |  1 +
 3 files changed, 20 insertions(+)
 create mode 100644 srcpkgs/rockpro64-base/INSTALL
 create mode 100644 srcpkgs/rockpro64-base/template
 create mode 100644 srcpkgs/rockpro64-base/update

diff --git a/srcpkgs/rockpro64-base/INSTALL b/srcpkgs/rockpro64-base/INSTALL
new file mode 100644
index 0000000000000..7e67f362c7965
--- /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 0000000000000..e90db4f4396d9
--- /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-base/update b/srcpkgs/rockpro64-base/update
new file mode 100644
index 0000000000000..717beffbf774d
--- /dev/null
+++ b/srcpkgs/rockpro64-base/update
@@ -0,0 +1 @@
+disabled="meta package with no distfiles"

From 721c6e9cc36ab46bb88533f49cf8b9176d6ede38 Mon Sep 17 00:00:00 2001
From: Tiemen Werkman <tiemen@opifexonline.com>
Date: Wed, 13 Oct 2021 16:40:20 +0200
Subject: [PATCH 2/2] New package: rockpro64-uboot

---
 .../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 0000000000000..1f9839889f0d7
--- /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 0000000000000..f3c08bf33c619
--- /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 0000000000000..b40c9270302eb
--- /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 0000000000000..d784a696e8525
--- /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 0000000000000..af207a228085c
--- /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 0000000000000..10daa7174b839
--- /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 0000000000000..cfcfccd3fb437
--- /dev/null
+++ b/srcpkgs/rockpro64-uboot/update
@@ -0,0 +1 @@
+pkgname="u-boot"

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2022-03-30 11:34 [PR PATCH] New packages: rockpro64-base and rockpro64-uboot tsndqst
                   ` (25 preceding siblings ...)
  2023-12-03 18:47 ` [PR PATCH] [Updated] " tsndqst
@ 2023-12-03 18:48 ` tsndqst
  2023-12-03 18:49 ` classabbyamp
                   ` (10 subsequent siblings)
  37 siblings, 0 replies; 83+ messages in thread
From: tsndqst @ 2023-12-03 18:48 UTC (permalink / raw)
  To: ml

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

New comment by tsndqst on void-packages repository

https://github.com/void-linux/void-packages/pull/36419#issuecomment-1837565909

Comment:
Thanks @classabbyamp!

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2022-03-30 11:34 [PR PATCH] New packages: rockpro64-base and rockpro64-uboot tsndqst
                   ` (26 preceding siblings ...)
  2023-12-03 18:48 ` tsndqst
@ 2023-12-03 18:49 ` classabbyamp
  2023-12-03 18:49 ` classabbyamp
                   ` (9 subsequent siblings)
  37 siblings, 0 replies; 83+ messages in thread
From: classabbyamp @ 2023-12-03 18:49 UTC (permalink / raw)
  To: ml

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

New comment by classabbyamp on void-packages repository

https://github.com/void-linux/void-packages/pull/36419#issuecomment-1837566098

Comment:
just ignore it

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2022-03-30 11:34 [PR PATCH] New packages: rockpro64-base and rockpro64-uboot tsndqst
                   ` (27 preceding siblings ...)
  2023-12-03 18:49 ` classabbyamp
@ 2023-12-03 18:49 ` classabbyamp
  2023-12-03 18:50 ` classabbyamp
                   ` (8 subsequent siblings)
  37 siblings, 0 replies; 83+ messages in thread
From: classabbyamp @ 2023-12-03 18:49 UTC (permalink / raw)
  To: ml

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

New comment by classabbyamp on void-packages repository

https://github.com/void-linux/void-packages/pull/36419#issuecomment-1837566098

Comment:
just ignore it

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2022-03-30 11:34 [PR PATCH] New packages: rockpro64-base and rockpro64-uboot tsndqst
                   ` (28 preceding siblings ...)
  2023-12-03 18:49 ` classabbyamp
@ 2023-12-03 18:50 ` classabbyamp
  2023-12-03 19:04 ` [PR PATCH] [Updated] " tsndqst
                   ` (7 subsequent siblings)
  37 siblings, 0 replies; 83+ messages in thread
From: classabbyamp @ 2023-12-03 18:50 UTC (permalink / raw)
  To: ml

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

New comment by classabbyamp on void-packages repository

https://github.com/void-linux/void-packages/pull/36419#issuecomment-1837566399

Comment:
wait, it's not erroring because of no distfiles, it's erroring because xlint https://github.com/void-linux/void-packages/actions/runs/7078728385/job/19264541980?pr=36419#step:7:9

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

* Re: [PR PATCH] [Updated] New packages: rockpro64-base and rockpro64-uboot
  2022-03-30 11:34 [PR PATCH] New packages: rockpro64-base and rockpro64-uboot tsndqst
                   ` (29 preceding siblings ...)
  2023-12-03 18:50 ` classabbyamp
@ 2023-12-03 19:04 ` tsndqst
  2023-12-03 19:24 ` tsndqst
                   ` (6 subsequent siblings)
  37 siblings, 0 replies; 83+ messages in thread
From: tsndqst @ 2023-12-03 19:04 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by tsndqst against master on the void-packages repository

https://github.com/tsndqst/void-packages rockpro64
https://github.com/void-linux/void-packages/pull/36419

New packages: rockpro64-base and rockpro64-uboot
PR based on https://github.com/void-linux/void-packages/pull/33556

<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): **YES**

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!-- 
#### Local build testing
- 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
-->


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

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

From 0d8d4ec4771cb92463be4a2d9c6cfe47ae72e336 Mon Sep 17 00:00:00 2001
From: Tiemen Werkman <tiemen@opifexonline.com>
Date: Wed, 13 Oct 2021 16:40:00 +0200
Subject: [PATCH 1/2] New package: rockpro64-base

---
 srcpkgs/rockpro64-base/INSTALL  |  8 ++++++++
 srcpkgs/rockpro64-base/template | 11 +++++++++++
 srcpkgs/rockpro64-base/update   |  1 +
 3 files changed, 20 insertions(+)
 create mode 100644 srcpkgs/rockpro64-base/INSTALL
 create mode 100644 srcpkgs/rockpro64-base/template
 create mode 100644 srcpkgs/rockpro64-base/update

diff --git a/srcpkgs/rockpro64-base/INSTALL b/srcpkgs/rockpro64-base/INSTALL
new file mode 100644
index 0000000000000..7e67f362c7965
--- /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 0000000000000..e90db4f4396d9
--- /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-base/update b/srcpkgs/rockpro64-base/update
new file mode 100644
index 0000000000000..717beffbf774d
--- /dev/null
+++ b/srcpkgs/rockpro64-base/update
@@ -0,0 +1 @@
+disabled="meta package with no distfiles"

From 0dd06cd77af330bb471aefe2fee75559889876b4 Mon Sep 17 00:00:00 2001
From: Tiemen Werkman <tiemen@opifexonline.com>
Date: Wed, 13 Oct 2021 16:40:20 +0200
Subject: [PATCH 2/2] New package: rockpro64-uboot

---
 .../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              |  46 ++++++++
 srcpkgs/rockpro64-uboot/update                |   1 +
 7 files changed, 367 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 0000000000000..1f9839889f0d7
--- /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 0000000000000..f3c08bf33c619
--- /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 0000000000000..b40c9270302eb
--- /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 0000000000000..d784a696e8525
--- /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 0000000000000..af207a228085c
--- /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 0000000000000..86b506aedd838
--- /dev/null
+++ b/srcpkgs/rockpro64-uboot/template
@@ -0,0 +1,46 @@
+# Template file for 'rockpro64-uboot'
+pkgname=rockpro64-uboot
+version=2021.07
+revision=1
+archs="aarch64*"
+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 0000000000000..cfcfccd3fb437
--- /dev/null
+++ b/srcpkgs/rockpro64-uboot/update
@@ -0,0 +1 @@
+pkgname="u-boot"

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2022-03-30 11:34 [PR PATCH] New packages: rockpro64-base and rockpro64-uboot tsndqst
                   ` (30 preceding siblings ...)
  2023-12-03 19:04 ` [PR PATCH] [Updated] " tsndqst
@ 2023-12-03 19:24 ` tsndqst
  2023-12-03 19:34 ` [PR REVIEW] " classabbyamp
                   ` (5 subsequent siblings)
  37 siblings, 0 replies; 83+ messages in thread
From: tsndqst @ 2023-12-03 19:24 UTC (permalink / raw)
  To: ml

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

New comment by tsndqst on void-packages repository

https://github.com/void-linux/void-packages/pull/36419#issuecomment-1837575654

Comment:
I missed the wrksrc error at first. I pushed a new commit to fix that too. 

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

* Re: [PR REVIEW] New packages: rockpro64-base and rockpro64-uboot
  2022-03-30 11:34 [PR PATCH] New packages: rockpro64-base and rockpro64-uboot tsndqst
                   ` (31 preceding siblings ...)
  2023-12-03 19:24 ` tsndqst
@ 2023-12-03 19:34 ` classabbyamp
  2023-12-03 19:48 ` tsndqst
                   ` (4 subsequent siblings)
  37 siblings, 0 replies; 83+ messages in thread
From: classabbyamp @ 2023-12-03 19:34 UTC (permalink / raw)
  To: ml

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

New review comment by classabbyamp on void-packages repository

https://github.com/void-linux/void-packages/pull/36419#discussion_r1413193208

Comment:
doesn't this need a kernel? from what I see in mkplatformfs this would not create an image or PLATFORMFS with a kernel

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

* Re: [PR REVIEW] New packages: rockpro64-base and rockpro64-uboot
  2022-03-30 11:34 [PR PATCH] New packages: rockpro64-base and rockpro64-uboot tsndqst
                   ` (32 preceding siblings ...)
  2023-12-03 19:34 ` [PR REVIEW] " classabbyamp
@ 2023-12-03 19:48 ` tsndqst
  2023-12-03 19:50 ` [PR PATCH] [Updated] " tsndqst
                   ` (3 subsequent siblings)
  37 siblings, 0 replies; 83+ messages in thread
From: tsndqst @ 2023-12-03 19:48 UTC (permalink / raw)
  To: ml

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

New review comment by tsndqst on void-packages repository

https://github.com/void-linux/void-packages/pull/36419#discussion_r1413195276

Comment:
I had the kernel in an earlier commit but I took it out.  I thought the other, similar, base templates didn't have them but looking again I see that `pinebookpro-base` and `rock64-base` both have kernels in them.  I will add it back.

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

* Re: [PR PATCH] [Updated] New packages: rockpro64-base and rockpro64-uboot
  2022-03-30 11:34 [PR PATCH] New packages: rockpro64-base and rockpro64-uboot tsndqst
                   ` (33 preceding siblings ...)
  2023-12-03 19:48 ` tsndqst
@ 2023-12-03 19:50 ` tsndqst
  2023-12-04 20:42 ` tsndqst
                   ` (2 subsequent siblings)
  37 siblings, 0 replies; 83+ messages in thread
From: tsndqst @ 2023-12-03 19:50 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by tsndqst against master on the void-packages repository

https://github.com/tsndqst/void-packages rockpro64
https://github.com/void-linux/void-packages/pull/36419

New packages: rockpro64-base and rockpro64-uboot
PR based on https://github.com/void-linux/void-packages/pull/33556

<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): **YES**

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!-- 
#### Local build testing
- 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
-->


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

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

From 11c9aa81d82ae1a04e7fcf59db201860846239c8 Mon Sep 17 00:00:00 2001
From: Tiemen Werkman <tiemen@opifexonline.com>
Date: Wed, 13 Oct 2021 16:40:00 +0200
Subject: [PATCH 1/2] New package: rockpro64-base

---
 srcpkgs/rockpro64-base/INSTALL  |  8 ++++++++
 srcpkgs/rockpro64-base/template | 11 +++++++++++
 srcpkgs/rockpro64-base/update   |  1 +
 3 files changed, 20 insertions(+)
 create mode 100644 srcpkgs/rockpro64-base/INSTALL
 create mode 100644 srcpkgs/rockpro64-base/template
 create mode 100644 srcpkgs/rockpro64-base/update

diff --git a/srcpkgs/rockpro64-base/INSTALL b/srcpkgs/rockpro64-base/INSTALL
new file mode 100644
index 0000000000000..7e67f362c7965
--- /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 0000000000000..1e5af3a6dc6be
--- /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="linux 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-base/update b/srcpkgs/rockpro64-base/update
new file mode 100644
index 0000000000000..717beffbf774d
--- /dev/null
+++ b/srcpkgs/rockpro64-base/update
@@ -0,0 +1 @@
+disabled="meta package with no distfiles"

From 8f90fd29b68a6a0f0923ba8458f32466fd4139c8 Mon Sep 17 00:00:00 2001
From: Tiemen Werkman <tiemen@opifexonline.com>
Date: Wed, 13 Oct 2021 16:40:20 +0200
Subject: [PATCH 2/2] New package: rockpro64-uboot

---
 .../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              |  46 ++++++++
 srcpkgs/rockpro64-uboot/update                |   1 +
 7 files changed, 367 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 0000000000000..1f9839889f0d7
--- /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 0000000000000..f3c08bf33c619
--- /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 0000000000000..b40c9270302eb
--- /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 0000000000000..d784a696e8525
--- /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 0000000000000..af207a228085c
--- /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 0000000000000..86b506aedd838
--- /dev/null
+++ b/srcpkgs/rockpro64-uboot/template
@@ -0,0 +1,46 @@
+# Template file for 'rockpro64-uboot'
+pkgname=rockpro64-uboot
+version=2021.07
+revision=1
+archs="aarch64*"
+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 0000000000000..cfcfccd3fb437
--- /dev/null
+++ b/srcpkgs/rockpro64-uboot/update
@@ -0,0 +1 @@
+pkgname="u-boot"

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

* Re: [PR PATCH] [Updated] New packages: rockpro64-base and rockpro64-uboot
  2022-03-30 11:34 [PR PATCH] New packages: rockpro64-base and rockpro64-uboot tsndqst
                   ` (34 preceding siblings ...)
  2023-12-03 19:50 ` [PR PATCH] [Updated] " tsndqst
@ 2023-12-04 20:42 ` tsndqst
  2023-12-04 20:45 ` tsndqst
  2024-02-01  0:57 ` [PR PATCH] [Updated] " tsndqst
  37 siblings, 0 replies; 83+ messages in thread
From: tsndqst @ 2023-12-04 20:42 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by tsndqst against master on the void-packages repository

https://github.com/tsndqst/void-packages rockpro64
https://github.com/void-linux/void-packages/pull/36419

New packages: rockpro64-base and rockpro64-uboot
PR based on https://github.com/void-linux/void-packages/pull/33556

<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): **YES**

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!-- 
#### Local build testing
- 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
-->


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

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

From 751acc3a87e1d96dabd464bab4d1e3944081e651 Mon Sep 17 00:00:00 2001
From: Tiemen Werkman <tiemen@opifexonline.com>
Date: Wed, 13 Oct 2021 16:40:00 +0200
Subject: [PATCH 1/2] New package: rockpro64-base

---
 srcpkgs/rockpro64-base/INSTALL  |  8 ++++++++
 srcpkgs/rockpro64-base/template | 11 +++++++++++
 srcpkgs/rockpro64-base/update   |  1 +
 3 files changed, 20 insertions(+)
 create mode 100644 srcpkgs/rockpro64-base/INSTALL
 create mode 100644 srcpkgs/rockpro64-base/template
 create mode 100644 srcpkgs/rockpro64-base/update

diff --git a/srcpkgs/rockpro64-base/INSTALL b/srcpkgs/rockpro64-base/INSTALL
new file mode 100644
index 0000000000000..7e67f362c7965
--- /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 0000000000000..927e93d1f1daa
--- /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="linux-lts 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-base/update b/srcpkgs/rockpro64-base/update
new file mode 100644
index 0000000000000..717beffbf774d
--- /dev/null
+++ b/srcpkgs/rockpro64-base/update
@@ -0,0 +1 @@
+disabled="meta package with no distfiles"

From 4d03361ff40e33ab4586bd7eb40c660f3e4e170e Mon Sep 17 00:00:00 2001
From: Tiemen Werkman <tiemen@opifexonline.com>
Date: Wed, 13 Oct 2021 16:40:20 +0200
Subject: [PATCH 2/2] New package: rockpro64-uboot

---
 .../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              |  46 ++++++++
 srcpkgs/rockpro64-uboot/update                |   1 +
 7 files changed, 367 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 0000000000000..1f9839889f0d7
--- /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 0000000000000..f3c08bf33c619
--- /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 0000000000000..b40c9270302eb
--- /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 0000000000000..d784a696e8525
--- /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 0000000000000..af207a228085c
--- /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 0000000000000..86b506aedd838
--- /dev/null
+++ b/srcpkgs/rockpro64-uboot/template
@@ -0,0 +1,46 @@
+# Template file for 'rockpro64-uboot'
+pkgname=rockpro64-uboot
+version=2021.07
+revision=1
+archs="aarch64*"
+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 0000000000000..cfcfccd3fb437
--- /dev/null
+++ b/srcpkgs/rockpro64-uboot/update
@@ -0,0 +1 @@
+pkgname="u-boot"

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2022-03-30 11:34 [PR PATCH] New packages: rockpro64-base and rockpro64-uboot tsndqst
                   ` (35 preceding siblings ...)
  2023-12-04 20:42 ` tsndqst
@ 2023-12-04 20:45 ` tsndqst
  2024-02-01  0:57 ` [PR PATCH] [Updated] " tsndqst
  37 siblings, 0 replies; 83+ messages in thread
From: tsndqst @ 2023-12-04 20:45 UTC (permalink / raw)
  To: ml

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

New comment by tsndqst on void-packages repository

https://github.com/void-linux/void-packages/pull/36419#issuecomment-1839446877

Comment:
I pushed another change to the rockpro64-base template.  I was testing some u-boot changes and noticed that the current `linux` kernel (6.5.13) had some kernel panics.  I switched to `linux-lts` since both the current `linux-lts` kernel (6.1) and the next LTS kernel (6.6) booted without kernel panics.

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

* Re: [PR PATCH] [Updated] New packages: rockpro64-base and rockpro64-uboot
  2022-03-30 11:34 [PR PATCH] New packages: rockpro64-base and rockpro64-uboot tsndqst
                   ` (36 preceding siblings ...)
  2023-12-04 20:45 ` tsndqst
@ 2024-02-01  0:57 ` tsndqst
  37 siblings, 0 replies; 83+ messages in thread
From: tsndqst @ 2024-02-01  0:57 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by tsndqst against master on the void-packages repository

https://github.com/tsndqst/void-packages rockpro64
https://github.com/void-linux/void-packages/pull/36419

New packages: rockpro64-base and rockpro64-uboot
PR based on https://github.com/void-linux/void-packages/pull/33556

<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): **YES**

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!-- 
#### Local build testing
- 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
-->


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

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

From 0658b436702b9ad4d9bbbfd65c5003f04b4ed973 Mon Sep 17 00:00:00 2001
From: Tiemen Werkman <tiemen@opifexonline.com>
Date: Wed, 13 Oct 2021 16:40:00 +0200
Subject: [PATCH 1/2] New package: rockpro64-base

---
 srcpkgs/rockpro64-base/INSTALL  |  8 ++++++++
 srcpkgs/rockpro64-base/template | 11 +++++++++++
 srcpkgs/rockpro64-base/update   |  1 +
 3 files changed, 20 insertions(+)
 create mode 100644 srcpkgs/rockpro64-base/INSTALL
 create mode 100644 srcpkgs/rockpro64-base/template
 create mode 100644 srcpkgs/rockpro64-base/update

diff --git a/srcpkgs/rockpro64-base/INSTALL b/srcpkgs/rockpro64-base/INSTALL
new file mode 100644
index 0000000000000..7e67f362c7965
--- /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 0000000000000..927e93d1f1daa
--- /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="linux-lts 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-base/update b/srcpkgs/rockpro64-base/update
new file mode 100644
index 0000000000000..717beffbf774d
--- /dev/null
+++ b/srcpkgs/rockpro64-base/update
@@ -0,0 +1 @@
+disabled="meta package with no distfiles"

From 4f81d7624499bbcab5780a7427642c6482a9ecba Mon Sep 17 00:00:00 2001
From: Tiemen Werkman <tiemen@opifexonline.com>
Date: Wed, 13 Oct 2021 16:40:20 +0200
Subject: [PATCH 2/2] New package: rockpro64-uboot

---
 srcpkgs/rockpro64-uboot/template | 47 ++++++++++++++++++++++++++++++++
 srcpkgs/rockpro64-uboot/update   |  1 +
 2 files changed, 48 insertions(+)
 create mode 100644 srcpkgs/rockpro64-uboot/template
 create mode 100644 srcpkgs/rockpro64-uboot/update

diff --git a/srcpkgs/rockpro64-uboot/template b/srcpkgs/rockpro64-uboot/template
new file mode 100644
index 0000000000000..c8ec9bee06291
--- /dev/null
+++ b/srcpkgs/rockpro64-uboot/template
@@ -0,0 +1,47 @@
+# Template file for 'rockpro64-uboot'
+pkgname=rockpro64-uboot
+version=2024.01
+revision=1
+archs="aarch64*"
+hostmakedepends="bison flex bc dtc which python3 swig python3-devel python3-setuptools python3-pyelftools openssl-devel libuuid-devel gnutls-devel ncurses-libtinfo-devel"
+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=b99611f1ed237bf3541bdc8434b68c96a6e05967061f992443cb30aabebef5b3
+
+do_configure() {
+	unset CFLAGS CXXFLAGS CPPFLAGS LDFLAGS
+	sed -i -e '/CONFIG_BAUDRATE/s/=.*/=115200/' ${wrksrc}/configs/rockpro64-rk3399_defconfig
+	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 0000000000000..cfcfccd3fb437
--- /dev/null
+++ b/srcpkgs/rockpro64-uboot/update
@@ -0,0 +1 @@
+pkgname="u-boot"

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2021-10-15  5:44 [PR PATCH] " tiemenwerkman
                   ` (42 preceding siblings ...)
  2022-04-10  5:53 ` Anachron
@ 2022-07-10  2:14 ` github-actions
  43 siblings, 0 replies; 83+ messages in thread
From: github-actions @ 2022-07-10  2:14 UTC (permalink / raw)
  To: ml

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

New comment by github-actions[bot] on void-packages repository

https://github.com/void-linux/void-packages/pull/33556#issuecomment-1179638981

Comment:
Pull Requests become stale 90 days after last activity and are closed 14 days after that.  If this pull request is still relevant bump it or assign it.

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2021-10-15  5:44 [PR PATCH] " tiemenwerkman
                   ` (41 preceding siblings ...)
  2022-04-10  5:48 ` Anachron
@ 2022-04-10  5:53 ` Anachron
  2022-07-10  2:14 ` github-actions
  43 siblings, 0 replies; 83+ messages in thread
From: Anachron @ 2022-04-10  5:53 UTC (permalink / raw)
  To: ml

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

New comment by Anachron on void-packages repository

https://github.com/void-linux/void-packages/pull/33556#issuecomment-1094186523

Comment:
We have a new PR. This can probably be closed.

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2021-10-15  5:44 [PR PATCH] " tiemenwerkman
                   ` (40 preceding siblings ...)
  2022-04-10  5:45 ` Anachron
@ 2022-04-10  5:48 ` Anachron
  2022-04-10  5:53 ` Anachron
  2022-07-10  2:14 ` github-actions
  43 siblings, 0 replies; 83+ messages in thread
From: Anachron @ 2022-04-10  5:48 UTC (permalink / raw)
  To: ml

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

New comment by Anachron on void-packages repository

https://github.com/void-linux/void-packages/pull/33556#issuecomment-1094185489

Comment:
@tsndqst could you please open up your own PR, OP seems inactive.

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2021-10-15  5:44 [PR PATCH] " tiemenwerkman
                   ` (39 preceding siblings ...)
  2022-03-23 17:25 ` Anachron
@ 2022-04-10  5:45 ` Anachron
  2022-04-10  5:48 ` Anachron
                   ` (2 subsequent siblings)
  43 siblings, 0 replies; 83+ messages in thread
From: Anachron @ 2022-04-10  5:45 UTC (permalink / raw)
  To: ml

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

New comment by Anachron on void-packages repository

https://github.com/void-linux/void-packages/pull/33556#issuecomment-1094185489

Comment:
@tsndqst could you please open up your own PR, OP seems inactive.

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2021-10-15  5:44 [PR PATCH] " tiemenwerkman
                   ` (38 preceding siblings ...)
  2022-03-23 12:22 ` Anachron
@ 2022-03-23 17:25 ` Anachron
  2022-04-10  5:45 ` Anachron
                   ` (3 subsequent siblings)
  43 siblings, 0 replies; 83+ messages in thread
From: Anachron @ 2022-03-23 17:25 UTC (permalink / raw)
  To: ml

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

New comment by Anachron on void-packages repository

https://github.com/void-linux/void-packages/pull/33556#issuecomment-1076604074

Comment:
Ok after quite some testing I can indeed confirm now that everything works as expected.

I believe we either need to figure out how to contact OP or wait until I find the time to make a new PR.

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2021-10-15  5:44 [PR PATCH] " tiemenwerkman
                   ` (37 preceding siblings ...)
  2022-03-22 21:02 ` Anachron
@ 2022-03-23 12:22 ` Anachron
  2022-03-23 17:25 ` Anachron
                   ` (4 subsequent siblings)
  43 siblings, 0 replies; 83+ messages in thread
From: Anachron @ 2022-03-23 12:22 UTC (permalink / raw)
  To: ml

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

New comment by Anachron on void-packages repository

https://github.com/void-linux/void-packages/pull/33556#issuecomment-1075636572

Comment:
@CameronNemo in case you missed it, I can boot my RockPro64 on Void Linux now. 
I'll test it thoroughly and reply here if I find something important not working. 

Edit: Because the `ats` package is compiled using `luarocks` and I'm having severe issues compiling it, [this](https://github.com/KUKARAF/FanControlerRock64) script should do it just as well.

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2021-10-15  5:44 [PR PATCH] " tiemenwerkman
                   ` (36 preceding siblings ...)
  2022-03-22 20:36 ` CameronNemo
@ 2022-03-22 21:02 ` Anachron
  2022-03-23 12:22 ` Anachron
                   ` (5 subsequent siblings)
  43 siblings, 0 replies; 83+ messages in thread
From: Anachron @ 2022-03-22 21:02 UTC (permalink / raw)
  To: ml

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

New comment by Anachron on void-packages repository

https://github.com/void-linux/void-packages/pull/33556#issuecomment-1075636572

Comment:
@CameronNemo in case you missed it, I can boot my RockPro64 on Void Linux now. 
I'll test it thoroughly and reply here if I find something important not working. 

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2021-10-15  5:44 [PR PATCH] " tiemenwerkman
                   ` (35 preceding siblings ...)
  2022-03-22 20:35 ` CameronNemo
@ 2022-03-22 20:36 ` CameronNemo
  2022-03-22 21:02 ` Anachron
                   ` (6 subsequent siblings)
  43 siblings, 0 replies; 83+ messages in thread
From: CameronNemo @ 2022-03-22 20:36 UTC (permalink / raw)
  To: ml

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

New comment by CameronNemo on void-packages repository

https://github.com/void-linux/void-packages/pull/33556#issuecomment-1075612315

Comment:
>it builds the initrd now

I do not think you want an initrd or uinitrd file. The `initramfs-5.15.30_1.img` file should be enough if you are using u-boot-menu.

>Also note that I made some changes to the mkimage.sh.in script described https://github.com/void-linux/void-mklive/pull/221#discussion_r735122038.

Someone should probably make a new PR for the mklive repo that includes those changes. That PR's submitter does not seem particularly active. Is that something you can take care of, @tsndqst ? I do not have the hardware but I can review based on what I know from the PBP.

>Even can't get it to boot using mkimage.sh

Yeah that is expected. mkimage will just be a plain old aarch64 rootfs. It will not have a partition table set up, or the U-boot blobs written to the correct offsets. You feed the output of mkimage to mkplatformfs typically.

> Can be used for pinephone pro or at least as base + some phone stuff?

Maybe. Not sure if the PPP kernel changes are all upstream yet. Probably not. But once we have a PPP kernel, adapting the existing PBP and RP64 mklive bits to handle the PPP should be fairly trivial.

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2021-10-15  5:44 [PR PATCH] " tiemenwerkman
                   ` (34 preceding siblings ...)
  2022-03-22  9:12 ` Anachron
@ 2022-03-22 20:35 ` CameronNemo
  2022-03-22 20:36 ` CameronNemo
                   ` (7 subsequent siblings)
  43 siblings, 0 replies; 83+ messages in thread
From: CameronNemo @ 2022-03-22 20:35 UTC (permalink / raw)
  To: ml

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

New comment by CameronNemo on void-packages repository

https://github.com/void-linux/void-packages/pull/33556#issuecomment-1075612315

Comment:
>it builds the initrd now

I do not think you want an initrd or uinitrd file. The `initramfs-5.15.30_1.img` file should be enough if you are using u-boot-menu.

>Also note that I made some changes to the mkimage.sh.in script described https://github.com/void-linux/void-mklive/pull/221#discussion_r735122038.

Someone should probably make a new PR for the mklive repo that includes those changes. That PR's submitter does not seem particularly active. Is that something you can take care of, @zen0bit? I do not have the hardware but I can review based on what I know from the PBP.

>Even can't get it to boot using mkimage.sh

Yeah that is expected. mkimage will just be a plain old aarch64 rootfs. It will not have a partition table set up, or the U-boot blobs written to the correct offsets. You feed the output of mkimage to mkplatformfs typically.

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2021-10-15  5:44 [PR PATCH] " tiemenwerkman
                   ` (33 preceding siblings ...)
  2022-03-22  7:46 ` Anachron
@ 2022-03-22  9:12 ` Anachron
  2022-03-22 20:35 ` CameronNemo
                   ` (8 subsequent siblings)
  43 siblings, 0 replies; 83+ messages in thread
From: Anachron @ 2022-03-22  9:12 UTC (permalink / raw)
  To: ml

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

New comment by Anachron on void-packages repository

https://github.com/void-linux/void-packages/pull/33556#issuecomment-1074787354

Comment:
> @Anachron your comments mention the master branch of [void-mklive](https://github.com/void-linux/void-mklive). I used the files from [void-linux/void-mklive#221](https://github.com/void-linux/void-mklive/pull/221) to create the image, rootfs and platformfs files. Perhaps that is why the scripts don't work for you.
> 
> Also note that I made some changes to the mkimage.sh.in script described [here](https://github.com/void-linux/void-mklive/pull/221#discussion_r735122038).

I'm confused by your reply. Earlier you said you were using the `mkplatformfs.sh` but now you're saying I should modify the `mkimage.sh` script?

Which commands did you run exactly to make `RockPro64` work? And which changes did you make to the build process?

I did finally get my sdcard to  boot, even though it complains about not being able to find anything after running the following commands (I've used the precompiled blobs from rockpro64-uboot):

https://github.com/u-boot/u-boot/blob/master/doc/README.rockchip#L457

I'm trying the `mkimage.sh` way again in the meantime hoping to get something working from this angle.

Edit: Even can't get it to boot using `mkimage.sh`: 

```sh
./mkimage.sh void-rockpro64-PLATFORMFS-20220321-de_DE-UTF8.tar.xz
dd if=<image>.img of=/dev/mmcblk0 bs=4M status=progress
```

It wont boot or even light up. Will try to run the steps from README.rockchip from above.

Edit2: Lights up but can't find anything. I really need help on how to get this boot to work.

Edit3: 
Okay, I was finally able to get my `RockPro64` to boot `Void Linux`! Wohoo. Will test a bit deeper.

So far:
- My SATA drives are available
- The latest kernel works

Will update on progress.

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2021-10-15  5:44 [PR PATCH] " tiemenwerkman
                   ` (32 preceding siblings ...)
  2022-03-22  7:40 ` Anachron
@ 2022-03-22  7:46 ` Anachron
  2022-03-22  9:12 ` Anachron
                   ` (9 subsequent siblings)
  43 siblings, 0 replies; 83+ messages in thread
From: Anachron @ 2022-03-22  7:46 UTC (permalink / raw)
  To: ml

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

New comment by Anachron on void-packages repository

https://github.com/void-linux/void-packages/pull/33556#issuecomment-1074787354

Comment:
> @Anachron your comments mention the master branch of [void-mklive](https://github.com/void-linux/void-mklive). I used the files from [void-linux/void-mklive#221](https://github.com/void-linux/void-mklive/pull/221) to create the image, rootfs and platformfs files. Perhaps that is why the scripts don't work for you.
> 
> Also note that I made some changes to the mkimage.sh.in script described [here](https://github.com/void-linux/void-mklive/pull/221#discussion_r735122038).

I'm confused by your reply. Earlier you said you were using the `mkplatformfs.sh` but now you're saying I should modify the `mkimage.sh` script?

Which commands did you run exactly to make `RockPro64` work? And which changes did you make to the build process?

I did finally get my sdcard to  boot, even though it complains about not being able to find anything after running the following commands (I've used the precompiled blobs from rockpro64-uboot):

https://github.com/u-boot/u-boot/blob/master/doc/README.rockchip#L457

I'm trying the `mkimage.sh` way again in the meantime hoping to get something working from this angle.

Edit: Even can't get it to boot using `mkimage.sh`: 

```sh
./mkimage.sh void-rockpro64-PLATFORMFS-20220321-de_DE-UTF8.tar.xz
dd if=<image>.img of=/dev/mmcblk0 bs=4M status=progress
```

It wont boot or even light up. Will try to run the steps from README.rockchip from above.

Edit2: Lights up but can't find anything. I really need help on how to get this boot to work.

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2021-10-15  5:44 [PR PATCH] " tiemenwerkman
                   ` (31 preceding siblings ...)
  2022-03-22  7:25 ` Anachron
@ 2022-03-22  7:40 ` Anachron
  2022-03-22  7:46 ` Anachron
                   ` (10 subsequent siblings)
  43 siblings, 0 replies; 83+ messages in thread
From: Anachron @ 2022-03-22  7:40 UTC (permalink / raw)
  To: ml

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

New comment by Anachron on void-packages repository

https://github.com/void-linux/void-packages/pull/33556#issuecomment-1074787354

Comment:
> @Anachron your comments mention the master branch of [void-mklive](https://github.com/void-linux/void-mklive). I used the files from [void-linux/void-mklive#221](https://github.com/void-linux/void-mklive/pull/221) to create the image, rootfs and platformfs files. Perhaps that is why the scripts don't work for you.
> 
> Also note that I made some changes to the mkimage.sh.in script described [here](https://github.com/void-linux/void-mklive/pull/221#discussion_r735122038).

I'm confused by your reply. Earlier you said you were using the `mkplatformfs.sh` but now you're saying I should modify the `mkimage.sh` script?

Which commands did you run exactly to make `RockPro64` work? And which changes did you make to the build process?

I did finally get my sdcard to  boot, even though it complains about not being able to find anything after running the following commands (I've used the precompiled blobs from rockpro64-uboot):

https://github.com/u-boot/u-boot/blob/master/doc/README.rockchip#L457

I'm trying the `mkimage.sh` way again in the meantime hoping to get something working from this angle.

Edit: Even can't get it to boot using `mkimage.sh`: 

```sh
./mkimage.sh void-rockpro64-PLATFORMFS-20220321-de_DE-UTF8.tar.xz
dd if=<image>.img of=/dev/mmcblk0 bs=4M status=progress
```

It wont boot or even light up. Will try to run the steps from README.rockchip from above.

Edit2: No change. I really need help on how to get this boot to work.

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2021-10-15  5:44 [PR PATCH] " tiemenwerkman
                   ` (30 preceding siblings ...)
  2022-03-22  6:31 ` Anachron
@ 2022-03-22  7:25 ` Anachron
  2022-03-22  7:40 ` Anachron
                   ` (11 subsequent siblings)
  43 siblings, 0 replies; 83+ messages in thread
From: Anachron @ 2022-03-22  7:25 UTC (permalink / raw)
  To: ml

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

New comment by Anachron on void-packages repository

https://github.com/void-linux/void-packages/pull/33556#issuecomment-1074787354

Comment:
> @Anachron your comments mention the master branch of [void-mklive](https://github.com/void-linux/void-mklive). I used the files from [void-linux/void-mklive#221](https://github.com/void-linux/void-mklive/pull/221) to create the image, rootfs and platformfs files. Perhaps that is why the scripts don't work for you.
> 
> Also note that I made some changes to the mkimage.sh.in script described [here](https://github.com/void-linux/void-mklive/pull/221#discussion_r735122038).

I'm confused by your reply. Earlier you said you were using the `mkplatformfs.sh` but now you're saying I should modify the `mkimage.sh` script?

Which commands did you run exactly to make `RockPro64` work? And which changes did you make to the build process?

I did finally get my sdcard to  boot, even though it complains about not being able to find anything after running the following commands (I've used the precompiled blobs from rockpro64-uboot):

https://github.com/u-boot/u-boot/blob/master/doc/README.rockchip#L457

I'm trying the `mkimage.sh` way again in the meantime hoping to get something working from this angle.

Edit: Even can't get it to boot using `mkimage.sh`: 

```sh
./mkimage.sh void-rockpro64-PLATFORMFS-20220321-de_DE-UTF8.tar.xz
dd if=<image>.img of=/dev/mmcblk0 bs=4M status=progress
```

It wont boot or even light up. Will try to run the steps from README.rockchip from above.

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2021-10-15  5:44 [PR PATCH] " tiemenwerkman
                   ` (29 preceding siblings ...)
  2022-03-22  6:30 ` Anachron
@ 2022-03-22  6:31 ` Anachron
  2022-03-22  7:25 ` Anachron
                   ` (12 subsequent siblings)
  43 siblings, 0 replies; 83+ messages in thread
From: Anachron @ 2022-03-22  6:31 UTC (permalink / raw)
  To: ml

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

New comment by Anachron on void-packages repository

https://github.com/void-linux/void-packages/pull/33556#issuecomment-1074787354

Comment:
> @Anachron your comments mention the master branch of [void-mklive](https://github.com/void-linux/void-mklive). I used the files from [void-linux/void-mklive#221](https://github.com/void-linux/void-mklive/pull/221) to create the image, rootfs and platformfs files. Perhaps that is why the scripts don't work for you.
> 
> Also note that I made some changes to the mkimage.sh.in script described [here](https://github.com/void-linux/void-mklive/pull/221#discussion_r735122038).

I'm confused by your reply. Earlier you said you were using the `mkplatformfs.sh` but now you're saying I should modify the `mkimage.sh` script?

Which commands did you run exactly to make `RockPro64` work? And which changes did you make to the build process?

I did finally get my sdcard to  boot, even though it complains about not being able to find anything after running the following commands (I've used the precompiled blobs from rockpro64-uboot):

https://github.com/u-boot/u-boot/blob/master/doc/README.rockchip#L457

I'm trying the `mklive.sh` way again in the meantime hoping to get something working from this angle.

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2021-10-15  5:44 [PR PATCH] " tiemenwerkman
                   ` (28 preceding siblings ...)
  2022-03-22  2:48 ` zen0bit
@ 2022-03-22  6:30 ` Anachron
  2022-03-22  6:31 ` Anachron
                   ` (13 subsequent siblings)
  43 siblings, 0 replies; 83+ messages in thread
From: Anachron @ 2022-03-22  6:30 UTC (permalink / raw)
  To: ml

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

New comment by Anachron on void-packages repository

https://github.com/void-linux/void-packages/pull/33556#issuecomment-1074787354

Comment:
> @Anachron your comments mention the master branch of [void-mklive](https://github.com/void-linux/void-mklive). I used the files from [void-linux/void-mklive#221](https://github.com/void-linux/void-mklive/pull/221) to create the image, rootfs and platformfs files. Perhaps that is why the scripts don't work for you.
> 
> Also note that I made some changes to the mkimage.sh.in script described [here](https://github.com/void-linux/void-mklive/pull/221#discussion_r735122038).

I'm confused by your reply. Earlier you said you were using the `mkplatformfs.sh` but now you're saying I should modify the `mklive.sh` script?

Which commands did you run exactly to make `RockPro64` work? And which changes did you make to the build process?

I did finally get my sdcard to  boot, even though it complains about not being able to find anything after running the following commands (I've used the precompiled blobs from rockpro64-uboot):

https://github.com/u-boot/u-boot/blob/master/doc/README.rockchip#L457

I'm trying the `mklive.sh` way again in the meantime hoping to get something working from this angle.

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2021-10-15  5:44 [PR PATCH] " tiemenwerkman
                   ` (27 preceding siblings ...)
  2022-03-22  1:17 ` tsndqst
@ 2022-03-22  2:48 ` zen0bit
  2022-03-22  6:30 ` Anachron
                   ` (14 subsequent siblings)
  43 siblings, 0 replies; 83+ messages in thread
From: zen0bit @ 2022-03-22  2:48 UTC (permalink / raw)
  To: ml

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

New comment by zen0bit on void-packages repository

https://github.com/void-linux/void-packages/pull/33556#issuecomment-1074668760

Comment:
Little 'offtopic' question:
Can be used for pinephone pro or at least as base + some phone stuff?

I am not experienced in this..

but wanna void also on ppp and wondering where to start...

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2021-10-15  5:44 [PR PATCH] " tiemenwerkman
                   ` (26 preceding siblings ...)
  2022-03-21 21:04 ` Anachron
@ 2022-03-22  1:17 ` tsndqst
  2022-03-22  2:48 ` zen0bit
                   ` (15 subsequent siblings)
  43 siblings, 0 replies; 83+ messages in thread
From: tsndqst @ 2022-03-22  1:17 UTC (permalink / raw)
  To: ml

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

New comment by tsndqst on void-packages repository

https://github.com/void-linux/void-packages/pull/33556#issuecomment-1074584128

Comment:
@Anachron your comments mention the master branch of [void-mklive](https://github.com/void-linux/void-mklive).  I used the files from https://github.com/void-linux/void-mklive/pull/221 to create the image, rootfs and platformfs files.  Perhaps that is why the scripts don't work for you.  

Also note that I made some changes to the mkimage.sh.in script described [here](https://github.com/void-linux/void-mklive/pull/221#discussion_r735122038).

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2021-10-15  5:44 [PR PATCH] " tiemenwerkman
                   ` (25 preceding siblings ...)
  2022-03-21 21:01 ` Anachron
@ 2022-03-21 21:04 ` Anachron
  2022-03-22  1:17 ` tsndqst
                   ` (16 subsequent siblings)
  43 siblings, 0 replies; 83+ messages in thread
From: Anachron @ 2022-03-21 21:04 UTC (permalink / raw)
  To: ml

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

New comment by Anachron on void-packages repository

https://github.com/void-linux/void-packages/pull/33556#issuecomment-1074358467

Comment:
After digging a bit more I believe the issue is that https://github.com/void-linux/void-mklive/blob/master/mkplatformfs.sh.in#L180 is not trigger for my `platformfs` build, even though I have the tools but not the files:

```sh
ls -lisah usr/bin/{mkimage,dracut}
919096  88K -rwxr-xr-x 1 root root  85K 14. Jul 2021  usr/bin/dracut
919116 300K -rwxr-xr-x 1 root root 299K 21. Jan 01:10 usr/bin/mkimage
```

```sh
LC_ALL=C ls -lisah boot/*nitrd
ls: cannot access 'boot/*nitrd': No such file or directory
```

Probably because of https://github.com/void-linux/void-mklive/blob/master/mkplatformfs.sh.in#L182, I build for `aarch64` but it checks for `arm` in `XBPS_TARGET_ARCH`.

Edit: Yes, it builds the `initrd` now by deleting https://github.com/void-linux/void-mklive/blob/master/mkplatformfs.sh.in#L182.

```sh
file boot/*
boot/config-5.15.30_1:        Linux make config build file, ASCII text
boot/dtbs:                    directory
boot/initramfs-5.15.30_1.img: gzip compressed data, max compression, from Unix, original size modulo 2^32 69921792
boot/initrd:                  gzip compressed data, max compression, from Unix, original size modulo 2^32 69921792
boot/uInitrd:                 u-boot legacy uImage, Void Linux, Linux/ARM, RAMDisk Image (gzip), 48964431 bytes, Mon Mar 21 20:09:31 2022, Load Address: 00000000, Entry Point: 00000000, Header CRC: 0X254158BA, Data CRC: 0XCC2EB7BA
boot/vmlinux-5.15.30_1:       Linux kernel ARM64 boot executable Image, little-endian, 4K pages
```

I'll transfer it to my sdcard once more and check if its bootable.

Edit: Still doesn't boot. I'll keep investigating. 

Edit2: The `dtb` files are differing, just as the kernel configs. The `Armbian` file is a lot bigger. 

```sh
file *rockpro64* # Armbian
rk3399-rockpro64-v2.dtb: Device Tree Blob version 17, size=78191, boot CPU=0, string block size=6679, DT structure block size=71456
rk3399-rockpro64.dtb:    Device Tree Blob version 17, size=78191, boot CPU=0, string block size=6679, DT structure block size=71456

file boot/dtbs/dtbs-5.15.30_1/rockchip/*rockpro* # Void Linux
boot/dtbs/dtbs-5.15.30_1/rockchip/rk3399-rockpro64-v2.dtb: Device Tree Blob version 17, size=58656, boot CPU=0, string block size=3036, DT structure block size=55564
boot/dtbs/dtbs-5.15.30_1/rockchip/rk3399-rockpro64.dtb:    Device Tree Blob version 17, size=58656, boot CPU=0, string block size=3036, DT structure block size=55564
```

Edit3: I'm sure the issue is somewhere in the boot area, but I'm running in circles right now. Maybe someone can chime in.

Edit4: Realized the initrams is not `arm64` but `arm` as per this line: 
https://github.com/void-linux/void-mklive/blob/master/mkplatformfs.sh.in#L206 (needs to be replaced by `arm64`).

New initrams should be fine now:

```sh
file sdc/boot/*
sdc/boot/config-5.15.30_1:        Linux make config build file, ASCII text
sdc/boot/dtbs:                    directory
sdc/boot/initramfs-5.15.30_1.img: gzip compressed data, max compression, from Unix, original size modulo 2^32 69921792
sdc/boot/initrd:                  gzip compressed data, max compression, from Unix, original size modulo 2^32 69921792
sdc/boot/uInitrd:                 u-boot legacy uImage, Void Linux, Linux/ARM 64-bit, RAMDisk Image (gzip), 48965024 bytes, Mon Mar 21 20:53:35 2022, Load Address: 00000000, Entry Point: 00000000, Header CRC: 0XF427FD20, Data CRC: 0XCBFFDDF3
sdc/boot/vmlinux-5.15.30_1:       Linux kernel ARM64 boot executable Image, little-endian, 4K pages
```

Edit5: Still not booting. Giving up for now. 

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2021-10-15  5:44 [PR PATCH] " tiemenwerkman
                   ` (24 preceding siblings ...)
  2022-03-21 20:46 ` Anachron
@ 2022-03-21 21:01 ` Anachron
  2022-03-21 21:04 ` Anachron
                   ` (17 subsequent siblings)
  43 siblings, 0 replies; 83+ messages in thread
From: Anachron @ 2022-03-21 21:01 UTC (permalink / raw)
  To: ml

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

New comment by Anachron on void-packages repository

https://github.com/void-linux/void-packages/pull/33556#issuecomment-1074358467

Comment:
After digging a bit more I believe the issue is that https://github.com/void-linux/void-mklive/blob/master/mkplatformfs.sh.in#L180 is not trigger for my `platformfs` build, even though I have the tools but not the files:

```sh
ls -lisah usr/bin/{mkimage,dracut}
919096  88K -rwxr-xr-x 1 root root  85K 14. Jul 2021  usr/bin/dracut
919116 300K -rwxr-xr-x 1 root root 299K 21. Jan 01:10 usr/bin/mkimage
```

```sh
LC_ALL=C ls -lisah boot/*nitrd
ls: cannot access 'boot/*nitrd': No such file or directory
```

Probably because of https://github.com/void-linux/void-mklive/blob/master/mkplatformfs.sh.in#L182, I build for `aarch64` but it checks for `arm` in `XBPS_TARGET_ARCH`.

Edit: Yes, it builds the `initrd` now by deleting https://github.com/void-linux/void-mklive/blob/master/mkplatformfs.sh.in#L182.

```sh
file boot/*
boot/config-5.15.30_1:        Linux make config build file, ASCII text
boot/dtbs:                    directory
boot/initramfs-5.15.30_1.img: gzip compressed data, max compression, from Unix, original size modulo 2^32 69921792
boot/initrd:                  gzip compressed data, max compression, from Unix, original size modulo 2^32 69921792
boot/uInitrd:                 u-boot legacy uImage, Void Linux, Linux/ARM, RAMDisk Image (gzip), 48964431 bytes, Mon Mar 21 20:09:31 2022, Load Address: 00000000, Entry Point: 00000000, Header CRC: 0X254158BA, Data CRC: 0XCC2EB7BA
boot/vmlinux-5.15.30_1:       Linux kernel ARM64 boot executable Image, little-endian, 4K pages
```

I'll transfer it to my sdcard once more and check if its bootable.

Edit: Still doesn't boot. I'll keep investigating. 

Edit2: The `dtb` files are differing, just as the kernel configs. The `Armbian` file is a lot bigger. 

```sh
file *rockpro64* # Armbian
rk3399-rockpro64-v2.dtb: Device Tree Blob version 17, size=78191, boot CPU=0, string block size=6679, DT structure block size=71456
rk3399-rockpro64.dtb:    Device Tree Blob version 17, size=78191, boot CPU=0, string block size=6679, DT structure block size=71456

file boot/dtbs/dtbs-5.15.30_1/rockchip/*rockpro* # Void Linux
boot/dtbs/dtbs-5.15.30_1/rockchip/rk3399-rockpro64-v2.dtb: Device Tree Blob version 17, size=58656, boot CPU=0, string block size=3036, DT structure block size=55564
boot/dtbs/dtbs-5.15.30_1/rockchip/rk3399-rockpro64.dtb:    Device Tree Blob version 17, size=58656, boot CPU=0, string block size=3036, DT structure block size=55564
```

Edit3: I'm sure the issue is somewhere in the boot area, but I'm running in circles right now. Maybe someone can chime in.

Edit4: Realized the initrams is not `arm64` but `arm` as per this line: 
https://github.com/void-linux/void-mklive/blob/master/mkplatformfs.sh.in#L206 (needs to be replaced by `arm64`).

New initrams should be fine now:

```sh
file sdc/boot/*
sdc/boot/config-5.15.30_1:        Linux make config build file, ASCII text
sdc/boot/dtbs:                    directory
sdc/boot/initramfs-5.15.30_1.img: gzip compressed data, max compression, from Unix, original size modulo 2^32 69921792
sdc/boot/initrd:                  gzip compressed data, max compression, from Unix, original size modulo 2^32 69921792
sdc/boot/uInitrd:                 u-boot legacy uImage, Void Linux, Linux/ARM 64-bit, RAMDisk Image (gzip), 48965024 bytes, Mon Mar 21 20:53:35 2022, Load Address: 00000000, Entry Point: 00000000, Header CRC: 0XF427FD20, Data CRC: 0XCBFFDDF3
sdc/boot/vmlinux-5.15.30_1:       Linux kernel ARM64 boot executable Image, little-endian, 4K pages
```

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2021-10-15  5:44 [PR PATCH] " tiemenwerkman
                   ` (23 preceding siblings ...)
  2022-03-21 20:43 ` Anachron
@ 2022-03-21 20:46 ` Anachron
  2022-03-21 21:01 ` Anachron
                   ` (18 subsequent siblings)
  43 siblings, 0 replies; 83+ messages in thread
From: Anachron @ 2022-03-21 20:46 UTC (permalink / raw)
  To: ml

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

New comment by Anachron on void-packages repository

https://github.com/void-linux/void-packages/pull/33556#issuecomment-1074358467

Comment:
After digging a bit more I believe the issue is that https://github.com/void-linux/void-mklive/blob/master/mkplatformfs.sh.in#L180 is not trigger for my `platformfs` build, even though I have the tools but not the files:

```sh
ls -lisah usr/bin/{mkimage,dracut}
919096  88K -rwxr-xr-x 1 root root  85K 14. Jul 2021  usr/bin/dracut
919116 300K -rwxr-xr-x 1 root root 299K 21. Jan 01:10 usr/bin/mkimage
```

```sh
LC_ALL=C ls -lisah boot/*nitrd
ls: cannot access 'boot/*nitrd': No such file or directory
```

Probably because of https://github.com/void-linux/void-mklive/blob/master/mkplatformfs.sh.in#L182, I build for `aarch64` but it checks for `arm` in `XBPS_TARGET_ARCH`.

Edit: Yes, it builds the `initrd` now by deleting https://github.com/void-linux/void-mklive/blob/master/mkplatformfs.sh.in#L182.

```sh
file boot/*
boot/config-5.15.30_1:        Linux make config build file, ASCII text
boot/dtbs:                    directory
boot/initramfs-5.15.30_1.img: gzip compressed data, max compression, from Unix, original size modulo 2^32 69921792
boot/initrd:                  gzip compressed data, max compression, from Unix, original size modulo 2^32 69921792
boot/uInitrd:                 u-boot legacy uImage, Void Linux, Linux/ARM, RAMDisk Image (gzip), 48964431 bytes, Mon Mar 21 20:09:31 2022, Load Address: 00000000, Entry Point: 00000000, Header CRC: 0X254158BA, Data CRC: 0XCC2EB7BA
boot/vmlinux-5.15.30_1:       Linux kernel ARM64 boot executable Image, little-endian, 4K pages
```

I'll transfer it to my sdcard once more and check if its bootable.

Edit: Still doesn't boot. I'll keep investigating. 

Edit2: The `dtb` files are differing, just as the kernel configs. The `Armbian` file is a lot bigger. 

```sh
file *rockpro64* # Armbian
rk3399-rockpro64-v2.dtb: Device Tree Blob version 17, size=78191, boot CPU=0, string block size=6679, DT structure block size=71456
rk3399-rockpro64.dtb:    Device Tree Blob version 17, size=78191, boot CPU=0, string block size=6679, DT structure block size=71456

file boot/dtbs/dtbs-5.15.30_1/rockchip/*rockpro* # Void Linux
boot/dtbs/dtbs-5.15.30_1/rockchip/rk3399-rockpro64-v2.dtb: Device Tree Blob version 17, size=58656, boot CPU=0, string block size=3036, DT structure block size=55564
boot/dtbs/dtbs-5.15.30_1/rockchip/rk3399-rockpro64.dtb:    Device Tree Blob version 17, size=58656, boot CPU=0, string block size=3036, DT structure block size=55564
```

Edit3: I'm sure the issue is somewhere in the boot area, but I'm running in circles right now. Maybe someone can chime in.

Edit4: Realized the initrams is not `arm64` but `arm` as per this line: 
https://github.com/void-linux/void-mklive/blob/master/mkplatformfs.sh.in#L206 (needs to be replaced by `arm64`).

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2021-10-15  5:44 [PR PATCH] " tiemenwerkman
                   ` (22 preceding siblings ...)
  2022-03-21 20:42 ` Anachron
@ 2022-03-21 20:43 ` Anachron
  2022-03-21 20:46 ` Anachron
                   ` (19 subsequent siblings)
  43 siblings, 0 replies; 83+ messages in thread
From: Anachron @ 2022-03-21 20:43 UTC (permalink / raw)
  To: ml

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

New comment by Anachron on void-packages repository

https://github.com/void-linux/void-packages/pull/33556#issuecomment-1074358467

Comment:
After digging a bit more I believe the issue is that https://github.com/void-linux/void-mklive/blob/master/mkplatformfs.sh.in#L180 is not trigger for my `platformfs` build, even though I have the tools but not the files:

```sh
ls -lisah usr/bin/{mkimage,dracut}
919096  88K -rwxr-xr-x 1 root root  85K 14. Jul 2021  usr/bin/dracut
919116 300K -rwxr-xr-x 1 root root 299K 21. Jan 01:10 usr/bin/mkimage
```

```sh
LC_ALL=C ls -lisah boot/*nitrd
ls: cannot access 'boot/*nitrd': No such file or directory
```

Probably because of https://github.com/void-linux/void-mklive/blob/master/mkplatformfs.sh.in#L182, I build for `aarch64` but it checks for `arm` in `XBPS_TARGET_ARCH`.

Edit: Yes, it builds the `initrd` now by deleting https://github.com/void-linux/void-mklive/blob/master/mkplatformfs.sh.in#L182.

```sh
file boot/*
boot/config-5.15.30_1:        Linux make config build file, ASCII text
boot/dtbs:                    directory
boot/initramfs-5.15.30_1.img: gzip compressed data, max compression, from Unix, original size modulo 2^32 69921792
boot/initrd:                  gzip compressed data, max compression, from Unix, original size modulo 2^32 69921792
boot/uInitrd:                 u-boot legacy uImage, Void Linux, Linux/ARM, RAMDisk Image (gzip), 48964431 bytes, Mon Mar 21 20:09:31 2022, Load Address: 00000000, Entry Point: 00000000, Header CRC: 0X254158BA, Data CRC: 0XCC2EB7BA
boot/vmlinux-5.15.30_1:       Linux kernel ARM64 boot executable Image, little-endian, 4K pages
```

I'll transfer it to my sdcard once more and check if its bootable.

Edit: Still doesn't boot. I'll keep investigating. 

Edit2: The `dtb` files are differing, just as the kernel configs. The `Armbian` file is a lot bigger. 

```sh
file *rockpro64* # Armbian
rk3399-rockpro64-v2.dtb: Device Tree Blob version 17, size=78191, boot CPU=0, string block size=6679, DT structure block size=71456
rk3399-rockpro64.dtb:    Device Tree Blob version 17, size=78191, boot CPU=0, string block size=6679, DT structure block size=71456

file boot/dtbs/dtbs-5.15.30_1/rockchip/*rockpro* # Void Linux
boot/dtbs/dtbs-5.15.30_1/rockchip/rk3399-rockpro64-v2.dtb: Device Tree Blob version 17, size=58656, boot CPU=0, string block size=3036, DT structure block size=55564
boot/dtbs/dtbs-5.15.30_1/rockchip/rk3399-rockpro64.dtb:    Device Tree Blob version 17, size=58656, boot CPU=0, string block size=3036, DT structure block size=55564
```

Edit3: I'm sure the issue is somewhere in the boot area, but I'm running in circles right now. Maybe someone can chime in.

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2021-10-15  5:44 [PR PATCH] " tiemenwerkman
                   ` (21 preceding siblings ...)
  2022-03-21 20:34 ` Anachron
@ 2022-03-21 20:42 ` Anachron
  2022-03-21 20:43 ` Anachron
                   ` (20 subsequent siblings)
  43 siblings, 0 replies; 83+ messages in thread
From: Anachron @ 2022-03-21 20:42 UTC (permalink / raw)
  To: ml

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

New comment by Anachron on void-packages repository

https://github.com/void-linux/void-packages/pull/33556#issuecomment-1074358467

Comment:
After digging a bit more I believe the issue is that https://github.com/void-linux/void-mklive/blob/master/mkplatformfs.sh.in#L180 is not trigger for my `platformfs` build, even though I have the tools but not the files:

```sh
ls -lisah usr/bin/{mkimage,dracut}
919096  88K -rwxr-xr-x 1 root root  85K 14. Jul 2021  usr/bin/dracut
919116 300K -rwxr-xr-x 1 root root 299K 21. Jan 01:10 usr/bin/mkimage
```

```sh
LC_ALL=C ls -lisah boot/*nitrd
ls: cannot access 'boot/*nitrd': No such file or directory
```

Probably because of https://github.com/void-linux/void-mklive/blob/master/mkplatformfs.sh.in#L182, I build for `aarch64` but it checks for `arm` in `XBPS_TARGET_ARCH`.

Edit: Yes, it builds the `initrd` now by deleting https://github.com/void-linux/void-mklive/blob/master/mkplatformfs.sh.in#L182.

```sh
file boot/*
boot/config-5.15.30_1:        Linux make config build file, ASCII text
boot/dtbs:                    directory
boot/initramfs-5.15.30_1.img: gzip compressed data, max compression, from Unix, original size modulo 2^32 69921792
boot/initrd:                  gzip compressed data, max compression, from Unix, original size modulo 2^32 69921792
boot/uInitrd:                 u-boot legacy uImage, Void Linux, Linux/ARM, RAMDisk Image (gzip), 48964431 bytes, Mon Mar 21 20:09:31 2022, Load Address: 00000000, Entry Point: 00000000, Header CRC: 0X254158BA, Data CRC: 0XCC2EB7BA
boot/vmlinux-5.15.30_1:       Linux kernel ARM64 boot executable Image, little-endian, 4K pages
```

I'll transfer it to my sdcard once more and check if its bootable.

Edit: Still doesn't boot. I'll keep investigating. 

Edit2: The `dtb` files are differing, just as the kernel configs. The `Armbian` file is a lot bigger. 

```sh
file *rockpro64* # Armbian
rk3399-rockpro64-v2.dtb: Device Tree Blob version 17, size=78191, boot CPU=0, string block size=6679, DT structure block size=71456
rk3399-rockpro64.dtb:    Device Tree Blob version 17, size=78191, boot CPU=0, string block size=6679, DT structure block size=71456

file boot/dtbs/dtbs-5.15.30_1/rockchip/*rockpro* # Void Linux
boot/dtbs/dtbs-5.15.30_1/rockchip/rk3399-rockpro64-v2.dtb: Device Tree Blob version 17, size=58656, boot CPU=0, string block size=3036, DT structure block size=55564
boot/dtbs/dtbs-5.15.30_1/rockchip/rk3399-rockpro64.dtb:    Device Tree Blob version 17, size=58656, boot CPU=0, string block size=3036, DT structure block size=55564
```

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2021-10-15  5:44 [PR PATCH] " tiemenwerkman
                   ` (20 preceding siblings ...)
  2022-03-21 20:26 ` Anachron
@ 2022-03-21 20:34 ` Anachron
  2022-03-21 20:42 ` Anachron
                   ` (21 subsequent siblings)
  43 siblings, 0 replies; 83+ messages in thread
From: Anachron @ 2022-03-21 20:34 UTC (permalink / raw)
  To: ml

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

New comment by Anachron on void-packages repository

https://github.com/void-linux/void-packages/pull/33556#issuecomment-1074358467

Comment:
After digging a bit more I believe the issue is that https://github.com/void-linux/void-mklive/blob/master/mkplatformfs.sh.in#L180 is not trigger for my `platformfs` build, even though I have the tools but not the files:

```sh
ls -lisah usr/bin/{mkimage,dracut}
919096  88K -rwxr-xr-x 1 root root  85K 14. Jul 2021  usr/bin/dracut
919116 300K -rwxr-xr-x 1 root root 299K 21. Jan 01:10 usr/bin/mkimage
```

```sh
LC_ALL=C ls -lisah boot/*nitrd
ls: cannot access 'boot/*nitrd': No such file or directory
```

Probably because of https://github.com/void-linux/void-mklive/blob/master/mkplatformfs.sh.in#L182, I build for `aarch64` but it checks for `arm` in `XBPS_TARGET_ARCH`.

Edit: Yes, it builds the `initrd` now by deleting https://github.com/void-linux/void-mklive/blob/master/mkplatformfs.sh.in#L182.

```sh
file boot/*
boot/config-5.15.30_1:        Linux make config build file, ASCII text
boot/dtbs:                    directory
boot/initramfs-5.15.30_1.img: regular file, no read permission
boot/initrd:                  regular file, no read permission
boot/uInitrd:                 u-boot legacy uImage, Void Linux, Linux/ARM, RAMDisk Image (gzip), 48964431 bytes, Mon Mar 21 20:09:31 2022, Load Address: 00000000, Entry Point: 00000000, Header CRC: 0X254158BA, Data CRC: 0XCC2EB7BA
boot/vmlinux-5.15.30_1:       Linux kernel ARM64 boot executable Image, little-endian, 4K pages
```

I'll transfer it to my sdcard once more and check if its bootable.

Edit: Still doesn't boot. I'll keep investigating. 

Edit2: The `dtb` files are differing, just as the kernel configs. The `Armbian` file is a lot bigger. 

```sh
file *rockpro64* # Armbian
rk3399-rockpro64-v2.dtb: Device Tree Blob version 17, size=78191, boot CPU=0, string block size=6679, DT structure block size=71456
rk3399-rockpro64.dtb:    Device Tree Blob version 17, size=78191, boot CPU=0, string block size=6679, DT structure block size=71456

file boot/dtbs/dtbs-5.15.30_1/rockchip/*rockpro* # Void Linux
boot/dtbs/dtbs-5.15.30_1/rockchip/rk3399-rockpro64-v2.dtb: Device Tree Blob version 17, size=58656, boot CPU=0, string block size=3036, DT structure block size=55564
boot/dtbs/dtbs-5.15.30_1/rockchip/rk3399-rockpro64.dtb:    Device Tree Blob version 17, size=58656, boot CPU=0, string block size=3036, DT structure block size=55564
```

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2021-10-15  5:44 [PR PATCH] " tiemenwerkman
                   ` (19 preceding siblings ...)
  2022-03-21 20:15 ` Anachron
@ 2022-03-21 20:26 ` Anachron
  2022-03-21 20:34 ` Anachron
                   ` (22 subsequent siblings)
  43 siblings, 0 replies; 83+ messages in thread
From: Anachron @ 2022-03-21 20:26 UTC (permalink / raw)
  To: ml

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

New comment by Anachron on void-packages repository

https://github.com/void-linux/void-packages/pull/33556#issuecomment-1074358467

Comment:
After digging a bit more I believe the issue is that https://github.com/void-linux/void-mklive/blob/master/mkplatformfs.sh.in#L180 is not trigger for my `platformfs` build, even though I have the tools but not the files:

```sh
ls -lisah usr/bin/{mkimage,dracut}
919096  88K -rwxr-xr-x 1 root root  85K 14. Jul 2021  usr/bin/dracut
919116 300K -rwxr-xr-x 1 root root 299K 21. Jan 01:10 usr/bin/mkimage
```

```sh
LC_ALL=C ls -lisah boot/*nitrd
ls: cannot access 'boot/*nitrd': No such file or directory
```

Probably because of https://github.com/void-linux/void-mklive/blob/master/mkplatformfs.sh.in#L182, I build for `aarch64` but it checks for `arm` in `XBPS_TARGET_ARCH`.

Edit: Yes, it builds the `initrd` now by deleting https://github.com/void-linux/void-mklive/blob/master/mkplatformfs.sh.in#L182.

```sh
file boot/*
boot/config-5.15.30_1:        Linux make config build file, ASCII text
boot/dtbs:                    directory
boot/initramfs-5.15.30_1.img: regular file, no read permission
boot/initrd:                  regular file, no read permission
boot/uInitrd:                 u-boot legacy uImage, Void Linux, Linux/ARM, RAMDisk Image (gzip), 48964431 bytes, Mon Mar 21 20:09:31 2022, Load Address: 00000000, Entry Point: 00000000, Header CRC: 0X254158BA, Data CRC: 0XCC2EB7BA
boot/vmlinux-5.15.30_1:       Linux kernel ARM64 boot executable Image, little-endian, 4K pages
```

I'll transfer it to my sdcard once more and check if its bootable.

Edit: Still doesn't boot. I'll keep investigating. 

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2021-10-15  5:44 [PR PATCH] " tiemenwerkman
                   ` (18 preceding siblings ...)
  2022-03-21 20:02 ` Anachron
@ 2022-03-21 20:15 ` Anachron
  2022-03-21 20:26 ` Anachron
                   ` (23 subsequent siblings)
  43 siblings, 0 replies; 83+ messages in thread
From: Anachron @ 2022-03-21 20:15 UTC (permalink / raw)
  To: ml

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

New comment by Anachron on void-packages repository

https://github.com/void-linux/void-packages/pull/33556#issuecomment-1074358467

Comment:
After digging a bit more I believe the issue is that https://github.com/void-linux/void-mklive/blob/master/mkplatformfs.sh.in#L180 is not trigger for my `platformfs` build, even though I have the tools but not the files:

```sh
ls -lisah usr/bin/{mkimage,dracut}
919096  88K -rwxr-xr-x 1 root root  85K 14. Jul 2021  usr/bin/dracut
919116 300K -rwxr-xr-x 1 root root 299K 21. Jan 01:10 usr/bin/mkimage
```

```sh
LC_ALL=C ls -lisah boot/*nitrd
ls: cannot access 'boot/*nitrd': No such file or directory
```

Probably because of https://github.com/void-linux/void-mklive/blob/master/mkplatformfs.sh.in#L182, I build for `aarch64` but it checks for `arm` in `XBPS_TARGET_ARCH`.

Edit: Yes, it builds the `initrd` now by deleting https://github.com/void-linux/void-mklive/blob/master/mkplatformfs.sh.in#L182.

```sh
file boot/*
boot/config-5.15.30_1:        Linux make config build file, ASCII text
boot/dtbs:                    directory
boot/initramfs-5.15.30_1.img: regular file, no read permission
boot/initrd:                  regular file, no read permission
boot/uInitrd:                 u-boot legacy uImage, Void Linux, Linux/ARM, RAMDisk Image (gzip), 48964431 bytes, Mon Mar 21 20:09:31 2022, Load Address: 00000000, Entry Point: 00000000, Header CRC: 0X254158BA, Data CRC: 0XCC2EB7BA
boot/vmlinux-5.15.30_1:       Linux kernel ARM64 boot executable Image, little-endian, 4K pages
```

I'll transfer it to my sdcard once more and check if its bootable.

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2021-10-15  5:44 [PR PATCH] " tiemenwerkman
                   ` (17 preceding siblings ...)
  2022-03-21 15:34 ` Anachron
@ 2022-03-21 20:02 ` Anachron
  2022-03-21 20:15 ` Anachron
                   ` (24 subsequent siblings)
  43 siblings, 0 replies; 83+ messages in thread
From: Anachron @ 2022-03-21 20:02 UTC (permalink / raw)
  To: ml

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

New comment by Anachron on void-packages repository

https://github.com/void-linux/void-packages/pull/33556#issuecomment-1074358467

Comment:
After digging a bit more I believe the issue is that https://github.com/void-linux/void-mklive/blob/master/mkplatformfs.sh.in#L180 is not trigger for my `platformfs` build, even though I have the tools but not the files:

```sh
ls -lisah usr/bin/{mkimage,dracut}
919096  88K -rwxr-xr-x 1 root root  85K 14. Jul 2021  usr/bin/dracut
919116 300K -rwxr-xr-x 1 root root 299K 21. Jan 01:10 usr/bin/mkimage
```

```sh
LC_ALL=C ls -lisah boot/*nitrd
ls: cannot access 'boot/*nitrd': No such file or directory
```

Probably because of https://github.com/void-linux/void-mklive/blob/master/mkplatformfs.sh.in#L182, I build for `aarch64` but it checks for `arm` in `XBPS_TARGET_ARCH`.

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2021-10-15  5:44 [PR PATCH] " tiemenwerkman
                   ` (16 preceding siblings ...)
  2022-03-21 13:09 ` Anachron
@ 2022-03-21 15:34 ` Anachron
  2022-03-21 20:02 ` Anachron
                   ` (25 subsequent siblings)
  43 siblings, 0 replies; 83+ messages in thread
From: Anachron @ 2022-03-21 15:34 UTC (permalink / raw)
  To: ml

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

New comment by Anachron on void-packages repository

https://github.com/void-linux/void-packages/pull/33556#issuecomment-1074049815

Comment:
More info.

Inside `Armbian/boot`:

```
Image:                          symbolic link to vmlinuz-5.15.25-rockchip64
System.map-5.15.25-rockchip64:  ASCII text
armbianEnv.txt:                 ASCII text
armbian_first_run.txt.template: ASCII text
boot.bmp:                       PC bitmap, Windows 3.x format, 320 x 240 x 4, image size 38400, cbSize 38518, bits offset 118
boot.cmd:                       ASCII text
boot.scr:                       u-boot legacy uImage, , Linux/ARM, Script File (Not compressed), 3121 bytes, Thu Aug 26 11:08:57 2021, Load Address: 00000000, Entry Point: 00000000, Header CRC: 0XBE5168B2, Data CRC: 0X7F0AB2DF
config-5.15.25-rockchip64:      Linux make config build file, ASCII text
dtb:                            symbolic link to dtb-5.15.25-rockchip64
dtb-5.15.25-rockchip64:         directory
initrd.img-5.10.60-rockchip64:  gzip compressed data, was "mkinitramfs-MAIN_6O9r8Y", last modified: Wed Mar 16 22:03:52 2022, from Unix, original size modulo 2^32 48922624
initrd.img-5.15.25-rockchip64:  gzip compressed data, was "mkinitramfs-MAIN_4e0IWN", last modified: Thu Mar 17 20:47:05 2022, from Unix, original size modulo 2^32 28397056
uInitrd:                        symbolic link to uInitrd-5.15.25-rockchip64
uInitrd-5.10.60-rockchip64:     u-boot legacy uImage, uInitrd, Linux/ARM 64-bit, RAMDisk Image (gzip), 16449299 bytes, Wed Mar 16 22:04:17 2022, Load Address: 00000000, Entry Point: 00000000, Header CRC: 0XE8719F5C, Data CRC: 0XD84B7EFC
uInitrd-5.15.25-rockchip64:     u-boot legacy uImage, uInitrd, Linux/ARM 64-bit, RAMDisk Image (gzip), 15658552 bytes, Thu Mar 17 20:47:32 2022, Load Address: 00000000, Entry Point: 00000000, Header CRC: 0XA3E0EE71, Data CRC: 0XDFFB8870
vmlinuz-5.15.25-rockchip64:     Linux kernel ARM64 boot executable Image, little-endian, 4K pages

```

Inside `Void/boot`:

```
config-5.15.30_1:        Linux make config build file, ASCII text
dtbs:                    directory
initramfs-5.15.30_1.img: regular file, no read permission
vmlinux-5.15.30_1:       Linux kernel ARM64 boot executable Image, little-endian, 4K pages
```

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2021-10-15  5:44 [PR PATCH] " tiemenwerkman
                   ` (15 preceding siblings ...)
  2022-03-18 22:38 ` tsndqst
@ 2022-03-21 13:09 ` Anachron
  2022-03-21 15:34 ` Anachron
                   ` (26 subsequent siblings)
  43 siblings, 0 replies; 83+ messages in thread
From: Anachron @ 2022-03-21 13:09 UTC (permalink / raw)
  To: ml

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

New comment by Anachron on void-packages repository

https://github.com/void-linux/void-packages/pull/33556#issuecomment-1073875562

Comment:
Thanks for your quick replies, @tsndqst , I'm still having trouble booting from my `rockpro64`.

I've generated the new platformfs:

```
./mkplatformfs.sh -b rockpro64-base -p "linux5.15 xtools" -c /home/anon/.mkvr/cache -r /home/anon/.bldr/host/binpkgs/pr-33556 -o /home/anon/.mkvr/images/void-platform-aarch64-20220320-rockpro64-de_DE.UTF-8.tar.xz rockpro64 /home/anon/.mkvr/data/rockpro64/rootfs.tar.xz
```

My sdcard is as following:

```sh
sudo LC_ALL=C sfdisk -l /dev/sdb
Disk /dev/sdb: 29.3 GiB, 31457280000 bytes, 61440000 sectors
Disk model: Mass-Storage
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x221eac7d

Device     Boot Start      End  Sectors  Size Id Type
/dev/sdb1  *     2048 61439999 61437952 29.3G 83 Linux
```

```
lsblk -f /dev/sdb
NAME   FSTYPE FSVER LABEL UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
sdb
└─sdb1 ext4   1.0   void  042932dd-f110-424b-b424-b11f72221cfe   26,6G     2% /mnt/dev/1st
```

Yet when I power on my RockPro64, the device wouldn't boot at all. My Armbian SDcard works without issues.

(Don't be confused, my void sdcard is `/dev/sdX` because I use an usb adapter to be able to mount 2 sdcards at the same time)

Maybe we can chat sometime on IRC?

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2021-10-15  5:44 [PR PATCH] " tiemenwerkman
                   ` (14 preceding siblings ...)
  2022-03-18 21:07 ` Anachron
@ 2022-03-18 22:38 ` tsndqst
  2022-03-21 13:09 ` Anachron
                   ` (27 subsequent siblings)
  43 siblings, 0 replies; 83+ messages in thread
From: tsndqst @ 2022-03-18 22:38 UTC (permalink / raw)
  To: ml

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

New comment by tsndqst on void-packages repository

https://github.com/void-linux/void-packages/pull/33556#issuecomment-1072868753

Comment:
I recall being surprised that I had to add a `linux` package too.

My `rp64_post_cmd` script has some setup stuff that I got tired of running on my three rockpro64s after install.  Half of is it prepping for installing kubernetes.

```
#!/bin/bash
chroot $1 /bin/bash <<EOT

ln -sf /etc/sv/socklog-unix /etc/runit/runsvdir/current
ln -sf /etc/sv/nanoklogd /etc/runit/runsvdir/current 

echo "Set timezone"
ln -sf /usr/share/zoneinfo/US/Central /etc/localtime

echo "Start ntpd"
ntpd -gq
ln -s /etc/sv/ntpd /etc/runit/runsvdir/current

echo "Configure dhcpcd"
sed -i -e '/^\#hostname/s/\#//' -e '/option host_name/a env force_hostname=YES\nenv hostname_fqdn=false' /etc/dhcpcd.conf 
echo 'denyinterfaces cilium*,lxc*' >> /etc/dhcpcd.conf

echo "Set up salt"
sed -i '/^#master:/s/\#//' /etc/salt/minion
ln -s /etc/sv/salt-minion /etc/runit/runsvdir/current

echo "Set up containerd"
mkdir -p /etc/containerd
containerd config default > /etc/containerd/config.toml
ln -s /etc/sv/containerd /etc/runit/runsvdir/current

echo "Set up containerd modules"
cat <<EOF > /etc/modules-load.d/containerd.conf
overlay
br_netfilter
EOF

echo "Setup required sysctl params"
mkdir -p /etc/sysctl.d
cat <<EOF > /etc/sysctl.d/99-kubernetes-cri.conf
net.bridge.bridge-nf-call-iptables  = 1
net.ipv4.ip_forward                 = 1
net.bridge.bridge-nf-call-ip6tables = 1
EOF

echo "Create /etc/crictl.yaml"
echo "runtime-endpoint: unix:///run/containerd/containerd.sock" > /etc/crictl.yaml

echo CGROUP_MODE=unified >> /etc/rc.conf

echo "Mount / as rshared"
sed -i -e '/\//s/defaults/defaults,rshared/' /etc/fstab

mkdir -p /etc/kubernetes/manifests

#
# Update kubelet config.yaml to use cgroupfs cgroupDriver
#
cat <<EOF > /etc/kubernetes/kubelet-config.yaml
apiVersion: kubelet.config.k8s.io/v1beta1
cgroupDriver: cgroupfs
serverTLSBootstrap: true
EOF

sync
EOT
```

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2021-10-15  5:44 [PR PATCH] " tiemenwerkman
                   ` (13 preceding siblings ...)
  2022-03-18 20:53 ` tsndqst
@ 2022-03-18 21:07 ` Anachron
  2022-03-18 22:38 ` tsndqst
                   ` (28 subsequent siblings)
  43 siblings, 0 replies; 83+ messages in thread
From: Anachron @ 2022-03-18 21:07 UTC (permalink / raw)
  To: ml

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

New comment by Anachron on void-packages repository

https://github.com/void-linux/void-packages/pull/33556#issuecomment-1072795901

Comment:
Okay, thanks for the quick reply, I figure I need a `linux` package but wasn't sure if that really was the case because the `mklive` adds one by it self. Will recreate the rootfs and try again another day.

Also, what's inside your `/rp64_post_cmd`?

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2021-10-15  5:44 [PR PATCH] " tiemenwerkman
                   ` (12 preceding siblings ...)
  2022-03-18 20:52 ` tsndqst
@ 2022-03-18 20:53 ` tsndqst
  2022-03-18 21:07 ` Anachron
                   ` (29 subsequent siblings)
  43 siblings, 0 replies; 83+ messages in thread
From: tsndqst @ 2022-03-18 20:53 UTC (permalink / raw)
  To: ml

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

New comment by tsndqst on void-packages repository

https://github.com/void-linux/void-packages/pull/33556#issuecomment-1072787567

Comment:
@Anachron I used the following command.   

`./mkplatformfs.sh -r "/home/tsndqst/void-packages-aarch64" -r "/home/tsndqst/void-packages-rockpro64/hostdir/binpkgs/rockpro64" -p "linux5.15 ntp git bind-utils socat containerd cri-tools conntrack-tools kubernetes-helm salt lm_sensors cni-plugins kubernetes xtools socklog-void" -k ./rp64_post_cmd rockpro64 void-aarch64-ROOTFS-20211126.tar.xz`

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2021-10-15  5:44 [PR PATCH] " tiemenwerkman
                   ` (11 preceding siblings ...)
  2022-03-18 20:24 ` Anachron
@ 2022-03-18 20:52 ` tsndqst
  2022-03-18 20:53 ` tsndqst
                   ` (30 subsequent siblings)
  43 siblings, 0 replies; 83+ messages in thread
From: tsndqst @ 2022-03-18 20:52 UTC (permalink / raw)
  To: ml

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

New comment by tsndqst on void-packages repository

https://github.com/void-linux/void-packages/pull/33556#issuecomment-1072787567

Comment:
@Anachron I used

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2021-10-15  5:44 [PR PATCH] " tiemenwerkman
                   ` (10 preceding siblings ...)
  2022-03-18 20:23 ` Anachron
@ 2022-03-18 20:24 ` Anachron
  2022-03-18 20:52 ` tsndqst
                   ` (31 subsequent siblings)
  43 siblings, 0 replies; 83+ messages in thread
From: Anachron @ 2022-03-18 20:24 UTC (permalink / raw)
  To: ml

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

New comment by Anachron on void-packages repository

https://github.com/void-linux/void-packages/pull/33556#issuecomment-1072771436

Comment:
@tiemenwerkman @tsndqst @CameronNemo please tell me on how to get a working `platformfs` for `rockpro64`.

What I did was I took the `void-aarch64-ROOTFS-20210930.tar.xz` and added the `rockpro64-base` to it:

```sh
./mkplatformfs.sh  -p rockpro64-base -c /home/anon/.mkvr/cache -r /home/anon/.bldr/host/binpkgs/pr-33556 \
 -o /home/anon/.mkvr/images/void-platform-aarch64-20220318-rockpro64-de_DE.UTF-8.tar.xz rockpro64 \
 /home/anon/.mkvr/data/rockpro64/rootfs.tar.xz
```

Surely I must be missing something here? 

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2021-10-15  5:44 [PR PATCH] " tiemenwerkman
                   ` (9 preceding siblings ...)
  2022-03-17 14:58 ` Anachron
@ 2022-03-18 20:23 ` Anachron
  2022-03-18 20:24 ` Anachron
                   ` (32 subsequent siblings)
  43 siblings, 0 replies; 83+ messages in thread
From: Anachron @ 2022-03-18 20:23 UTC (permalink / raw)
  To: ml

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

New comment by Anachron on void-packages repository

https://github.com/void-linux/void-packages/pull/33556#issuecomment-1072771436

Comment:
@tiemenwerkman @tsndqst @CameronNemo please tell me on how to get a working `platformfs` for `rockpro64`.

What I did was I took the `void-aarch64-ROOTFS-20210930.tar.xz` and added the `rockpro64-base` to it:

```sh
./mkplatformfs.sh  -p rockpro64-base -c /home/anon/.mkvr/cache -r /home/anon/.bldr/host/binpkgs/pr-33556 -o /home/anon/.mkvr/images/void-platform-aarch64-20220318-rockpro64-de_DE.UTF-8.tar.xz rockpro64 /home/anon/.mkvr/data/rockpro64/rootfs.tar.xz
```

Surely I must be missing something here? 

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2021-10-15  5:44 [PR PATCH] " tiemenwerkman
                   ` (8 preceding siblings ...)
  2022-03-17  9:52 ` Anachron
@ 2022-03-17 14:58 ` Anachron
  2022-03-18 20:23 ` Anachron
                   ` (33 subsequent siblings)
  43 siblings, 0 replies; 83+ messages in thread
From: Anachron @ 2022-03-17 14:58 UTC (permalink / raw)
  To: ml

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

New comment by Anachron on void-packages repository

https://github.com/void-linux/void-packages/pull/33556#issuecomment-1070976791

Comment:
Just a headsup:
It surely would be good to include https://github.com/tuxd3v/ats in the repo after this is merged because the fan is quite noisy by default.

It supports sysvinit so maybe we can patch it for runit. (I might even give it a try)

So far have not tried booting yet, I need to get a new microsd card before. 

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2021-10-15  5:44 [PR PATCH] " tiemenwerkman
                   ` (7 preceding siblings ...)
  2022-03-17  9:18 ` Anachron
@ 2022-03-17  9:52 ` Anachron
  2022-03-17 14:58 ` Anachron
                   ` (34 subsequent siblings)
  43 siblings, 0 replies; 83+ messages in thread
From: Anachron @ 2022-03-17  9:52 UTC (permalink / raw)
  To: ml

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

New comment by Anachron on void-packages repository

https://github.com/void-linux/void-packages/pull/33556#issuecomment-1070688302

Comment:
Since live-images are not possible I've created a platformfs and will try to boot soon:

`Successfully created /home/anon/.mkvr/images/void-platform-aarch64-20220317-rockpro64-de_DE.UTF-8.tar.xz (rockpro64)`

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2021-10-15  5:44 [PR PATCH] " tiemenwerkman
                   ` (6 preceding siblings ...)
  2022-03-17  9:14 ` Anachron
@ 2022-03-17  9:18 ` Anachron
  2022-03-17  9:52 ` Anachron
                   ` (35 subsequent siblings)
  43 siblings, 0 replies; 83+ messages in thread
From: Anachron @ 2022-03-17  9:18 UTC (permalink / raw)
  To: ml

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

New comment by Anachron on void-packages repository

https://github.com/void-linux/void-packages/pull/33556#issuecomment-1070383083

Comment:
Edit: I did a mistake when building my iso and I can't seem to build a new iso right now:

```
findutils-4.8.0_1: registered 'xargs' alternatives group
Creating 'xargs' alternatives group symlink: xargs -> /usr/bin/gxargs
Creating 'xargs' alternatives group symlink: xargs.1 -> /usr/share/man/man1/gxargs.1
diffutils-3.7_1: unpacking ...
libgcc-10.2.1pre1_3: unpacking ...
dash-0.5.11.5_1: unpacking ...
dash-0.5.11.5_1: registered 'sh' alternatives group
Creating 'sh' alternatives group symlink: sh -> /usr/bin/dash
Creating 'sh' alternatives group symlink: sh.1 -> /usr/share/man/man1/dash.1
bash-5.1.016_1: unpacking ...
ERROR: Failed to install base-system rockpro64-base
```

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2021-10-15  5:44 [PR PATCH] " tiemenwerkman
                   ` (5 preceding siblings ...)
  2022-03-17  6:56 ` Anachron
@ 2022-03-17  9:14 ` Anachron
  2022-03-17  9:18 ` Anachron
                   ` (36 subsequent siblings)
  43 siblings, 0 replies; 83+ messages in thread
From: Anachron @ 2022-03-17  9:14 UTC (permalink / raw)
  To: ml

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

New comment by Anachron on void-packages repository

https://github.com/void-linux/void-packages/pull/33556#issuecomment-1070383083

Comment:
Edit: I did a mistake when building my iso and I can't seem to build a new iso right now:

```
findutils-4.8.0_1: registered 'xargs' alternatives group
Creating 'xargs' alternatives group symlink: xargs -> /usr/bin/gxargs
Creating 'xargs' alternatives group symlink: xargs.1 -> /usr/share/man/man1/gxargs.1
diffutils-3.7_1: unpacking ...
libgcc-10.2.1pre1_3: unpacking ...
dash-0.5.11.5_1: unpacking ...
dash-0.5.11.5_1: registered 'sh' alternatives group
Creating 'sh' alternatives group symlink: sh -> /usr/bin/dash
Creating 'sh' alternatives group symlink: sh.1 -> /usr/share/man/man1/dash.1
bash-5.1.016_1: unpacking ...
ERROR: Failed to install base-system rockpro64-base
```

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2021-10-15  5:44 [PR PATCH] " tiemenwerkman
                   ` (4 preceding siblings ...)
  2022-03-17  6:55 ` Anachron
@ 2022-03-17  6:56 ` Anachron
  2022-03-17  9:14 ` Anachron
                   ` (37 subsequent siblings)
  43 siblings, 0 replies; 83+ messages in thread
From: Anachron @ 2022-03-17  6:56 UTC (permalink / raw)
  To: ml

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

New comment by Anachron on void-packages repository

https://github.com/void-linux/void-packages/pull/33556#issuecomment-1070383083

Comment:
I was able to build this as expected:

`Created /home/anon/app/dat/mkvr/images/void-live-aarch64-20220317-rockpro64-de_DE.UTF-8.iso (560M)
successfully.`

I'm going to test this on my hardware soon and report once again

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2021-10-15  5:44 [PR PATCH] " tiemenwerkman
                   ` (3 preceding siblings ...)
  2022-03-17  6:55 ` Anachron
@ 2022-03-17  6:55 ` Anachron
  2022-03-17  6:56 ` Anachron
                   ` (38 subsequent siblings)
  43 siblings, 0 replies; 83+ messages in thread
From: Anachron @ 2022-03-17  6:55 UTC (permalink / raw)
  To: ml

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

New comment by Anachron on void-packages repository

https://github.com/void-linux/void-packages/pull/33556#issuecomment-1058829681

Comment:
I'm going to buy a RockPro64 myself and test this PR... stay tuned.

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2021-10-15  5:44 [PR PATCH] " tiemenwerkman
                   ` (2 preceding siblings ...)
  2022-03-04  4:59 ` Anachron
@ 2022-03-17  6:55 ` Anachron
  2022-03-17  6:55 ` Anachron
                   ` (39 subsequent siblings)
  43 siblings, 0 replies; 83+ messages in thread
From: Anachron @ 2022-03-17  6:55 UTC (permalink / raw)
  To: ml

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

New comment by Anachron on void-packages repository

https://github.com/void-linux/void-packages/pull/33556#issuecomment-1070383083

Comment:
I was able to build this as expected:

`Created /home/anon/app/dat/mkvr/images/void-live-x86_64-20220317-rockpro64-de_DE.UTF-8.iso (560M)
successfully.`

I'm going to test this on my hardware soon and report once again

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2021-10-15  5:44 [PR PATCH] " tiemenwerkman
  2021-10-15 21:53 ` CameronNemo
  2021-10-24 13:54 ` tsndqst
@ 2022-03-04  4:59 ` Anachron
  2022-03-17  6:55 ` Anachron
                   ` (40 subsequent siblings)
  43 siblings, 0 replies; 83+ messages in thread
From: Anachron @ 2022-03-04  4:59 UTC (permalink / raw)
  To: ml

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

New comment by Anachron on void-packages repository

https://github.com/void-linux/void-packages/pull/33556#issuecomment-1058829681

Comment:
I'm going to buy a RockPro64 myself and test this PR... stay tuned.

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2021-10-15  5:44 [PR PATCH] " tiemenwerkman
  2021-10-15 21:53 ` CameronNemo
@ 2021-10-24 13:54 ` tsndqst
  2022-03-04  4:59 ` Anachron
                   ` (41 subsequent siblings)
  43 siblings, 0 replies; 83+ messages in thread
From: tsndqst @ 2021-10-24 13:54 UTC (permalink / raw)
  To: ml

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

New comment by tsndqst on void-packages repository

https://github.com/void-linux/void-packages/pull/33556#issuecomment-950329526

Comment:
I just got a few RockPro64 boards so I built these packages locally and tested with https://github.com/void-linux/void-mklive/pull/221.  I am able to boot the RockPro64 with these packages.  Is there anything else I can test to get this merged?

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

* Re: New packages: rockpro64-base and rockpro64-uboot
  2021-10-15  5:44 [PR PATCH] " tiemenwerkman
@ 2021-10-15 21:53 ` CameronNemo
  2021-10-24 13:54 ` tsndqst
                   ` (42 subsequent siblings)
  43 siblings, 0 replies; 83+ messages in thread
From: CameronNemo @ 2021-10-15 21:53 UTC (permalink / raw)
  To: ml

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

New comment by CameronNemo on void-packages repository

https://github.com/void-linux/void-packages/pull/33556#issuecomment-944723951

Comment:
Linted, built on aarch64 and aarch64-musl, reviewed templates et al. LGTM. But I do not have the RockPro64 to test with.

@Anachron

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

end of thread, other threads:[~2024-02-01  0:57 UTC | newest]

Thread overview: 83+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-30 11:34 [PR PATCH] New packages: rockpro64-base and rockpro64-uboot tsndqst
2022-03-30 12:41 ` [PR PATCH] [Updated] " tsndqst
2022-04-10  5:50 ` Anachron
2022-05-12 15:43 ` Anachron
2022-08-06 16:34 ` geekboy01
2022-08-08  7:24 ` Anachron
2022-08-08 22:03 ` geekboy01
2022-08-10  2:36 ` geekboy01
2022-11-09  2:13 ` github-actions
2022-11-13 21:41 ` geekboy01
2022-11-13 22:06 ` Anachron
2023-02-13  2:01 ` github-actions
2023-02-13  4:37 ` zen0bit
2023-02-13 14:38 ` geekboy01
2023-05-16  1:54 ` github-actions
2023-05-16  7:07 ` Anachron
2023-08-16  1:44 ` github-actions
2023-08-16  4:11 ` geekboy01
2023-11-15  1:46 ` github-actions
2023-11-15  1:55 ` geekboy01
2023-11-15  2:10 ` [PR PATCH] [Updated] " tsndqst
2023-12-03 16:24 ` tsndqst
2023-12-03 17:03 ` Anachron
2023-12-03 18:29 ` tsndqst
2023-12-03 18:32 ` tsndqst
2023-12-03 18:42 ` classabbyamp
2023-12-03 18:47 ` [PR PATCH] [Updated] " tsndqst
2023-12-03 18:48 ` tsndqst
2023-12-03 18:49 ` classabbyamp
2023-12-03 18:49 ` classabbyamp
2023-12-03 18:50 ` classabbyamp
2023-12-03 19:04 ` [PR PATCH] [Updated] " tsndqst
2023-12-03 19:24 ` tsndqst
2023-12-03 19:34 ` [PR REVIEW] " classabbyamp
2023-12-03 19:48 ` tsndqst
2023-12-03 19:50 ` [PR PATCH] [Updated] " tsndqst
2023-12-04 20:42 ` tsndqst
2023-12-04 20:45 ` tsndqst
2024-02-01  0:57 ` [PR PATCH] [Updated] " tsndqst
  -- strict thread matches above, loose matches on Subject: below --
2021-10-15  5:44 [PR PATCH] " tiemenwerkman
2021-10-15 21:53 ` CameronNemo
2021-10-24 13:54 ` tsndqst
2022-03-04  4:59 ` Anachron
2022-03-17  6:55 ` Anachron
2022-03-17  6:55 ` Anachron
2022-03-17  6:56 ` Anachron
2022-03-17  9:14 ` Anachron
2022-03-17  9:18 ` Anachron
2022-03-17  9:52 ` Anachron
2022-03-17 14:58 ` Anachron
2022-03-18 20:23 ` Anachron
2022-03-18 20:24 ` Anachron
2022-03-18 20:52 ` tsndqst
2022-03-18 20:53 ` tsndqst
2022-03-18 21:07 ` Anachron
2022-03-18 22:38 ` tsndqst
2022-03-21 13:09 ` Anachron
2022-03-21 15:34 ` Anachron
2022-03-21 20:02 ` Anachron
2022-03-21 20:15 ` Anachron
2022-03-21 20:26 ` Anachron
2022-03-21 20:34 ` Anachron
2022-03-21 20:42 ` Anachron
2022-03-21 20:43 ` Anachron
2022-03-21 20:46 ` Anachron
2022-03-21 21:01 ` Anachron
2022-03-21 21:04 ` Anachron
2022-03-22  1:17 ` tsndqst
2022-03-22  2:48 ` zen0bit
2022-03-22  6:30 ` Anachron
2022-03-22  6:31 ` Anachron
2022-03-22  7:25 ` Anachron
2022-03-22  7:40 ` Anachron
2022-03-22  7:46 ` Anachron
2022-03-22  9:12 ` Anachron
2022-03-22 20:35 ` CameronNemo
2022-03-22 20:36 ` CameronNemo
2022-03-22 21:02 ` Anachron
2022-03-23 12:22 ` Anachron
2022-03-23 17:25 ` Anachron
2022-04-10  5:45 ` Anachron
2022-04-10  5:48 ` Anachron
2022-04-10  5:53 ` Anachron
2022-07-10  2:14 ` github-actions

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).