commit: 4c612defaf1e631c8a95bf0a48a3be41ee588b76
Author: Peter Alfredsen <crabbedhaloablution <AT> icloud <DOT> com>
AuthorDate: Thu Dec 3 14:06:49 2020 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Dec 15 03:04:58 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4c612def
dev-embedded/rpi-eeprom: Bump to 10.3_p1
New firmware for the BETA channel.
My rpi4 is not burning, so I guess it's ok?
Changelog:
2020-11-24 BCM2711 xHC boot support - BETA
* Add support for booting from the BCM2711 XHCI controller which is the
USB-C socket on Pi 4B / Pi 400 and the type A sockets on Compute Module 4
IO board. The controller only supports USB 2.0 and the primary usage is
for USB-MSD support on CM 4 boards without requiring a PCIe XHCI
controller.
To use this add '5' to the BOOT_ORDER in the EEPROM config for BCM_USB_MSD
boot.
This requires the latest rpi-update firmware.
If start.elf is loaded via the BCM2711 XHCI (BOOT_ORDER 5) then the
config.txt
otg_mode setting will be set to 1 so that the OS can continue booting
using the BCM2711 XHCI. This means that the device/gadget mode is not
available
when booted in this mode and there is no support for switching back to
the DWC2 controller from the BCM2711 XHCI controller.
* Update halt behavior on Pi 400 to re-enable 'power on' button if the OS
did a reset rather than using the standard mailbox shutdown commands. This
overrides WAKE_ON_GPIO / POWER_OFF_ON_HALT settings on Pi 400 because
it has a dedicated power button.
If a button on GPIO3 really is requried then it can be re-enabled by
setting
WAKE_ON_GPIO=2 but that will consume more power.
* Fix short blink before one-shot error pattern - #251
* Validate SDRAM in recovery mode.
* XHCI protocol layer fixes for non-VLI controllers.
* Updated 'tryboot' for new version which also supports Pi3 and earlier.
Closes: https://bugs.gentoo.org/758263
Package-Manager: Portage-3.0.11, Repoman-3.0.2
Signed-off-by: Peter Alfredsen <crabbedhaloablution <AT> icloud.com>
Closes: https://github.com/gentoo/gentoo/pull/18488
Signed-off-by: Sam James <sam <AT> gentoo.org>
dev-embedded/rpi-eeprom/Manifest | 2 +
dev-embedded/rpi-eeprom/rpi-eeprom-10.3_p1.ebuild | 93 +++++++++++++++++++++++
2 files changed, 95 insertions(+)
diff --git a/dev-embedded/rpi-eeprom/Manifest b/dev-embedded/rpi-eeprom/Manifest
index e29caef5670..781173b7794 100644
--- a/dev-embedded/rpi-eeprom/Manifest
+++ b/dev-embedded/rpi-eeprom/Manifest
@@ -1,2 +1,4 @@
DIST rpi-eeprom_10.2-1.debian.tar.xz 7360 BLAKE2B
e7959c4de4f3675632f0897b6f8abc811c80daa102ad3fcca672a0e0f9ce4b4da80fd616de7aa8896f0f5fe889a10a52d32eba34627858a173186292175f3bf9
SHA512
cf401c5f761fc8c5b463630d192c8af9da2ae2e55e178857d9c09198437f162f96af23836d20adda6054243c6b613b7cc5c90a70975b96bad574dc3b328caa22
DIST rpi-eeprom_10.2.orig.tar.gz 7415652 BLAKE2B
b1f56263c0037b2ba3bac2aecd9b5736736cf599bc68a743c065c853a20f56f18984816fdfb402bb499c3aa911dbe72376cec4647d87406cce2f4328b04cc2b1
SHA512
ea76a157ed57984fb0667e9171e3fbf7dba180e014faa9352b0c1904531dca9528b0e3204645a4af2b550670a52354b6b1be6af27e190d4523d8044f3349aa73
+DIST rpi-eeprom_10.3-1.debian.tar.xz 10188 BLAKE2B
284a5465f2b5bc28c95135b8869218e83cbea9d0667b165de954f5c73549dfc190ddc838d956eec4c569c579e95ffc157054c6ed4bbd45e8ae88f786675cb164
SHA512
ead6b6c51d03493479c242e757edfc33bfdba4627f7501d90d0a181e8adc68f1503e0dac900b9b253a7286523f84d0e9afd8460d72f30b3ee8ee75b2f76811ab
+DIST rpi-eeprom_10.3.orig.tar.gz 7635402 BLAKE2B
3153eda08eada4c9e4f05d7a68ac4661413591314c4980e16ee876d49e756e2e13a101765b579adbe51e0e3b88cdfe419b71a58da858250781e0f292220dc397
SHA512
ea5a6ae47be5052b4793161d891a1e3a72dda951c95f15797d7baf68d475fcec1250638e4c43a32578ceef10563ebce052e746bc8fc60f8cf8d90780d5a7e8a7
diff --git a/dev-embedded/rpi-eeprom/rpi-eeprom-10.3_p1.ebuild
b/dev-embedded/rpi-eeprom/rpi-eeprom-10.3_p1.ebuild
new file mode 100644
index 00000000000..c34a558630a
--- /dev/null
+++ b/dev-embedded/rpi-eeprom/rpi-eeprom-10.3_p1.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8,9} )
+
+inherit python-r1 systemd
+
+DESCRIPTION="Updater for Raspberry Pi 4 bootloader and the VL805 USB
controller"
+HOMEPAGE="https://github.com/raspberrypi/rpi-eeprom/"
+MY_P="${PN}-$(ver_cut 1-2)"
+MY_BASE_URL="https://archive.raspberrypi.org/debian/pool/main/r/${PN}/${PN}_$(ver_cut
1-2)"
+SRC_URI="${MY_BASE_URL}-$(ver_cut 4).debian.tar.xz
+ ${MY_BASE_URL}.orig.tar.gz"
+S="${WORKDIR}"
+
+SLOT="0"
+LICENSE="BSD rpi-eeprom"
+KEYWORDS="~arm ~arm64"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+BDEPEND="sys-apps/help2man"
+DEPEND="${PYTHON_DEPS}"
+RDEPEND="${PYTHON_DEPS}
+ sys-apps/flashrom
+ || (
+ >=media-libs/raspberrypi-userland-0_pre20201022
+ >=media-libs/raspberrypi-userland-bin-1.20201022
+ )"
+
+src_prepare() {
+ default
+ sed -i \
+ -e
's:/etc/default/rpi-eeprom-update:/etc/conf.d/rpi-eeprom-update:' \
+ "${MY_P}/rpi-eeprom-update" || die "Failed sed on
rpi-eeprom-update"
+ sed -i \
+ -e 's:/usr/bin/rpi-eeprom-update:/usr/sbin/rpi-eeprom-update:' \
+ "debian/rpi-eeprom.rpi-eeprom-update.service" || die "Failed
sed on rpi-eeprom.rpi-eeprom-update.service"
+}
+
+src_install() {
+ pushd "${MY_P}" 1>/dev/null || die "Cannot change into directory
${MY_P}"
+
+ python_scriptinto /usr/sbin
+ python_foreach_impl python_newscript rpi-eeprom-config rpi-eeprom-config
+
+ dosbin rpi-eeprom-update
+ keepdir /var/lib/raspberrypi/bootloader/backup
+
+ for dir in critical stable beta; do
+ insinto /lib/firmware/raspberrypi/bootloader
+ doins -r firmware/${dir}
+ done
+
+ dodoc firmware/release-notes.md
+
+ help2man -N \
+ --version-string="${PV}" --help-option="-h" \
+ --name="Bootloader EEPROM configuration tool for the Raspberry
Pi 4B" \
+ --output=rpi-eeprom-config.1 ./rpi-eeprom-config || die "Failed
to create manpage for rpi-eeprom-config"
+
+ help2man -N \
+ --version-string="${PV}" --help-option="-h" \
+ --name="Checks whether the Raspberry Pi bootloader EEPROM is \
+ up-to-date and updates the EEPROM" \
+ --output=rpi-eeprom-update.1 ./rpi-eeprom-update || die
"Failed to create manpage for rpi-eeprom-update"
+
+ doman rpi-eeprom-update.1 rpi-eeprom-config.1
+
+ newconfd rpi-eeprom-update-default rpi-eeprom-update
+
+ popd 1>/dev/null || die
+
+ pushd debian 1>/dev/null || die "Cannot change into directory debian"
+
+ systemd_newunit rpi-eeprom.rpi-eeprom-update.service
rpi-eeprom-update.service
+ newdoc changelog changelog.Debian
+
+ popd 1>/dev/null || die
+
+ newinitd "${FILESDIR}/init.d_rpi-eeprom-update-1" "rpi-eeprom-update"
+}
+
+pkg_postinst() {
+ elog 'To have rpi-eeprom-update run at each startup, enable and start
either'
+ elog '/etc/init.d/rpi-eeprom-update (for openrc users)'
+ elog 'or'
+ elog 'rpi-eeprom-update.service (for systemd users)'
+ elog '/etc/conf.d/rpi-eeprom-update contains the configuration.'
+ elog 'FIRMWARE_RELEASE_STATUS="critical|stable|beta" determines'
+ elog 'which release track you get. "critical" is recommended and the
default.'
+}