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