Github messages for voidlinux
 help / color / mirror / Atom feed
From: CameronNemo <CameronNemo@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] Pinebook Pro U-Boot: update to 2020.10, TF-A 2.3
Date: Sun, 22 Nov 2020 00:43:47 +0100	[thread overview]
Message-ID: <20201121234347.xzA_EU1l5r-WFT_eBrEebaIsyS9v3JMBaBTmYbB_4Zs@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-21199@inbox.vuxu.org>

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

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

https://github.com/CameronNemo/void-packages atf-rk3399-bl31
https://github.com/void-linux/void-packages/pull/21199

Pinebook Pro U-Boot: update to 2020.10, TF-A 2.3
@renatoaguiar care to give this a spin?

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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-atf-rk3399-bl31-21199.patch --]
[-- Type: text/x-diff, Size: 9431 bytes --]

From 94340233a68f475a2d89e608a666b1d0befe9008 Mon Sep 17 00:00:00 2001
From: Cameron Nemo <cnemo@tutanota.com>
Date: Tue, 21 Apr 2020 02:55:39 -0700
Subject: [PATCH 1/2] New Package: atf-rk3399-bl31-2.4.

---
 srcpkgs/atf-rk3399-bl31/template | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)
 create mode 100644 srcpkgs/atf-rk3399-bl31/template

diff --git a/srcpkgs/atf-rk3399-bl31/template b/srcpkgs/atf-rk3399-bl31/template
new file mode 100644
index 00000000000..9eb9330fbae
--- /dev/null
+++ b/srcpkgs/atf-rk3399-bl31/template
@@ -0,0 +1,27 @@
+# Template file for 'atf-rk3399-bl31'
+pkgname=atf-rk3399-bl31
+version=2.4
+revision=1
+archs="aarch64*"
+wrksrc="trusted-firmware-a-${version}"
+hostmakedepends="cross-arm-none-eabi"
+short_desc="ARM Trusted Firmware for Rockchip rk3399 boards (ARMv8, bl31 option)"
+maintainer="Cameron Nemo <cnemo@tutanota.com>"
+license="BSD-3-Clause"
+homepage="https://developer.trustedfirmware.org/dashboard/view/6/"
+distfiles="https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/snapshot/trusted-firmware-a-${version}.tar.gz"
+checksum=bf3eb3617a74cddd7fb0e0eacbfe38c3258ee07d4c8ed730deef7a175cc3d55b
+nostrip=yes
+
+do_build() {
+	unset CFLAGS CXXFLAGS CPPFLAGS LDFLAGS
+	if [ "$CROSS_BUILD" ]; then
+		export CROSS_COMPILE=${XBPS_CROSS_TRIPLET}-
+	fi
+	make ${makejobs} PLAT=rk3399 bl31
+}
+
+do_install() {
+	vinstall build/rk3399/release/bl31/bl31.elf 0755 usr/lib/trusted-firmware-a/rk3399
+	vlicense docs/license.rst
+}

From 5ac5bdee42763d8e87c833e8cff860b4e56d7edf Mon Sep 17 00:00:00 2001
From: Cameron Nemo <cnemo@tutanota.com>
Date: Tue, 21 Apr 2020 02:55:45 -0700
Subject: [PATCH 2/2] pinebookpro-uboot: update to 2010.10.

Switch from forked repo to upstream repo.
Also use the atf-rk3399-bl31 package for ARM trusted firmware blob.
---
 .../files/fcommon-Makefile.patch              | 20 -------
 .../patches/no-delay-autoboot.patch           | 32 +++++++++++
 .../patches/sdcard-boot.patch                 | 39 ++++++++++++++
 srcpkgs/pinebookpro-uboot/template            | 54 ++++++-------------
 4 files changed, 88 insertions(+), 57 deletions(-)
 delete mode 100644 srcpkgs/pinebookpro-uboot/files/fcommon-Makefile.patch
 create mode 100644 srcpkgs/pinebookpro-uboot/patches/no-delay-autoboot.patch
 create mode 100644 srcpkgs/pinebookpro-uboot/patches/sdcard-boot.patch

diff --git a/srcpkgs/pinebookpro-uboot/files/fcommon-Makefile.patch b/srcpkgs/pinebookpro-uboot/files/fcommon-Makefile.patch
deleted file mode 100644
index d303e90352a..00000000000
--- a/srcpkgs/pinebookpro-uboot/files/fcommon-Makefile.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- pbp-uboot/Makefileg	2020-09-12 15:05:30.139856893 +0200
-+++ pbp-uboot/Makefile	2020-09-12 15:06:45.963853869 +0200
-@@ -273,7 +273,7 @@
- 
- HOSTCC       = cc
- HOSTCXX      = c++
--HOSTCFLAGS   = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer \
-+HOSTCFLAGS   = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fcommon \
- 		$(if $(CONFIG_TOOLS_DEBUG),-g)
- HOSTCXXFLAGS = -O2
- 
-@@ -413,7 +413,7 @@
- KBUILD_CPPFLAGS := -D__KERNEL__ -D__UBOOT__
- 
- KBUILD_CFLAGS   := -Wall -Wstrict-prototypes \
--		   -Wno-format-security \
-+		   -Wno-format-security -fcommon \
- 		   -fno-builtin -ffreestanding $(CSTD_FLAG)
- KBUILD_CFLAGS	+= -fshort-wchar -fno-strict-aliasing
- KBUILD_AFLAGS   := -D__ASSEMBLY__
diff --git a/srcpkgs/pinebookpro-uboot/patches/no-delay-autoboot.patch b/srcpkgs/pinebookpro-uboot/patches/no-delay-autoboot.patch
new file mode 100644
index 00000000000..8b7d262e3e6
--- /dev/null
+++ b/srcpkgs/pinebookpro-uboot/patches/no-delay-autoboot.patch
@@ -0,0 +1,32 @@
+commit e061f5477ee8e8d14267c4ab98dd451d7ce137be
+Author: Cameron Nemo <cnemo@tutanota.com>
+Date:   Mon Sep 7 09:14:07 2020 -0700
+
+    rockchip: Pinebook Pro: do not delay autoboot
+    
+    Use a key combo for preventing autoboot rather than delaying boot speed.
+    Delaying boot speed on an end user portable device can lead to bad UX.
+    
+    Signed-off-by: Cameron Nemo <cnemo@tutanota.com>
+
+diff --git configs/pinebook-pro-rk3399_defconfig configs/pinebook-pro-rk3399_defconfig
+index 9a7487b04f..e9605a0ffd 100644
+--- configs/pinebook-pro-rk3399_defconfig
++++ configs/pinebook-pro-rk3399_defconfig
+@@ -11,7 +11,7 @@ CONFIG_SPL_SPI_FLASH_SUPPORT=y
+ CONFIG_SPL_SPI_SUPPORT=y
+ CONFIG_DEFAULT_DEVICE_TREE="rk3399-pinebook-pro"
+ CONFIG_DEBUG_UART=y
+-CONFIG_BOOTDELAY=3
++CONFIG_BOOTDELAY=0
+ CONFIG_USE_PREBOOT=y
+ CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-pinebook-pro.dtb"
+ CONFIG_MISC_INIT_R=y
+@@ -87,3 +87,7 @@ CONFIG_VIDEO_ROCKCHIP=y
+ CONFIG_DISPLAY_ROCKCHIP_EDP=y
+ CONFIG_SPL_TINY_MEMSET=y
+ CONFIG_ERRNO_STR=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/pinebookpro-uboot/patches/sdcard-boot.patch b/srcpkgs/pinebookpro-uboot/patches/sdcard-boot.patch
new file mode 100644
index 00000000000..ea4a85eb248
--- /dev/null
+++ b/srcpkgs/pinebookpro-uboot/patches/sdcard-boot.patch
@@ -0,0 +1,39 @@
+commit 265376282a58c71f1ec9215653e98c602524b91c
+Author: Cameron Nemo <cnemo@tutanota.com>
+Date:   Mon Sep 7 08:37:24 2020 -0700
+
+    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
+    
+    Signed-off-by: Cameron Nemo <cnemo@tutanota.com>
+
+diff --git include/configs/pinebook-pro-rk3399.h include/configs/pinebook-pro-rk3399.h
+index d478b19917..59780bfb0b 100644
+--- include/configs/pinebook-pro-rk3399.h
++++ include/configs/pinebook-pro-rk3399.h
+@@ -14,6 +14,14 @@
+ 
+ #include <configs/rk3399_common.h>
+ 
++/* On Pinebook Pro, 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)
+ 
+ #define CONFIG_USB_OHCI_NEW
diff --git a/srcpkgs/pinebookpro-uboot/template b/srcpkgs/pinebookpro-uboot/template
index 4aff7de9e65..f0cfc075006 100644
--- a/srcpkgs/pinebookpro-uboot/template
+++ b/srcpkgs/pinebookpro-uboot/template
@@ -1,39 +1,22 @@
 # Template file for 'pinebookpro-uboot'
 pkgname=pinebookpro-uboot
 reverts="20200212_1 20200212_2"
-version=0.0.20200212
-revision=3
-_commit_uboot=365495a329c8e92ca4c134562d091df71b75845e
-_commit_atf=22d12c4148c373932a7a81e5d1c59a767e143ac2
+version=2020.10
+revision=1
 archs="aarch64*"
-hostmakedepends="git flex cross-arm-none-eabi dtc python3 bc"
-depends="u-boot-tools"
+wrksrc="u-boot-${version}"
+hostmakedepends="flex bc dtc python3"
+makedepends="atf-rk3399-bl31"
 short_desc="U-Boot for Pinebook Pro"
 maintainer="Renato Aguiar <renato@renatoaguiar.net>"
 license="GPL-2.0-only, BSD-3-Clause"
-homepage="https://git.eno.space/pbp-uboot"
-
-do_fetch() {
-	mkdir -p "${wrksrc}"
-
-	cd "${wrksrc}"
-	git clone https://git.eno.space/pbp-uboot.git
-	cd pbp-uboot
-	git reset --hard ${_commit_uboot}
-
-	cd "${wrksrc}"
-	git clone https://github.com/ARM-software/arm-trusted-firmware.git
-	cd arm-trusted-firmware
-	git reset --hard ${_commit_atf}
-}
+homepage="https://www.denx.de/wiki/U-Boot/"
+distfiles="https://ftp.denx.de/pub/u-boot/u-boot-${version}.tar.bz2"
+checksum=0d481bbdc05c0ee74908ec2f56a6daa53166cc6a78a0e4fac2ac5d025770a622
 
 do_configure() {
 	unset CFLAGS CXXFLAGS CPPFLAGS LDFLAGS
-
-	cd pbp-uboot
-	patch -Np1 -i ${FILESDIR}/fcommon-Makefile.patch
-	make ${makejobs} pinebook_pro-rk3399_defconfig
-	echo 'CONFIG_IDENT_STRING=" Voidlinux"' >> .config
+	make ${makejobs} pinebook-pro-rk3399_defconfig
 }
 
 do_build() {
@@ -41,22 +24,19 @@ do_build() {
 	if [ "$CROSS_BUILD" ]; then
 		export CROSS_COMPILE=${XBPS_CROSS_TRIPLET}-
 	fi
-
-	cd arm-trusted-firmware
-	make ${makejobs} PLAT=rk3399
-
-	cd ../pbp-uboot
 	make ${makejobs} EXTRAVERSION=-${revision} \
-	     BL31=../arm-trusted-firmware/build/rk3399/release/bl31/bl31.elf
+	     BL31="${XBPS_CROSS_BASE}/usr/lib/trusted-firmware-a/rk3399/bl31.elf"
 }
 
 do_install() {
-	cd pbp-uboot
-	vmkdir boot
-	vinstall idbloader.img 0644 boot
-	vinstall u-boot.itb 0644 boot
+	vinstall idbloader.img 0644 usr/lib/pinebookpro-uboot
+	vinstall u-boot.itb 0644 usr/lib/pinebookpro-uboot
+	# FWIW this file is not at all specific to the PBP and will overwrite any custom
+	# u-boot boot.scr files that a user installs into /boot.
+	# I would like to remove it, but it could cause breakage for existing setups.
+	# It would also require some changes to void-mklive to configure u-boot suitably.
 	vinstall "${FILESDIR}/kernel.d/uboot" 750 \
-		 etc/kernel.d/post-install 60-uboot
+		etc/kernel.d/post-install 60-uboot
 
 	vlicense Licenses/Exceptions
 	vlicense Licenses/OFL.txt

  parent reply	other threads:[~2020-11-21 23:43 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-21  9:57 [PR PATCH] Pinebook Pro U-Boot: use newer ARM Trusted Firmware CameronNemo
2020-09-07  6:10 ` [PR PATCH] [Updated] " CameronNemo
2020-09-11 15:55 ` [PR REVIEW] " sgn
2020-09-11 19:36 ` CameronNemo
2020-09-11 19:37 ` CameronNemo
2020-10-06  3:43 ` [PR PATCH] [Updated] " CameronNemo
2020-10-06  3:58 ` [PR REVIEW] " CameronNemo
2020-10-06  4:00 ` CameronNemo
2020-10-06 10:30 ` [PR REVIEW] Pinebook Pro U-Boot: update to 2020.10, TF-A 2.3 pullmoll
2020-10-27  3:05 ` [PR PATCH] [Updated] " CameronNemo
2020-11-21 23:43 ` CameronNemo [this message]
2020-11-22 19:42 ` CameronNemo
2021-02-16  5:46 ` ericonr
2021-02-16  7:15 ` CameronNemo
2021-02-16  7:16 ` CameronNemo
2021-03-14 20:04 ` Johnnynator
2021-03-15 18:41 ` [PR PATCH] [Closed]: " Johnnynator

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201121234347.xzA_EU1l5r-WFT_eBrEebaIsyS9v3JMBaBTmYbB_4Zs@z \
    --to=cameronnemo@users.noreply.github.com \
    --cc=ml@inbox.vuxu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).