add sys-boot/u-boot
This commit is contained in:
parent
b785a09bb0
commit
1125f78e4b
3 changed files with 152 additions and 0 deletions
|
@ -0,0 +1,38 @@
|
||||||
|
From e622965b31e1d08c2b7c6b3a8d683c59f37b2733 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Nadia Holmquist Pedersen <nadia@nhp.sh>
|
||||||
|
Date: Sat, 20 Jun 2020 01:47:52 +0200
|
||||||
|
Subject: [PATCH 2/3] Correct boot order to be USB -> SD -> eMMC
|
||||||
|
|
||||||
|
---
|
||||||
|
include/configs/rockchip-common.h | 6 +++---
|
||||||
|
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/include/configs/rockchip-common.h b/include/configs/rockchip-common.h
|
||||||
|
index 0b9e24d1db..9e217fad2a 100644
|
||||||
|
--- a/include/configs/rockchip-common.h
|
||||||
|
+++ b/include/configs/rockchip-common.h
|
||||||
|
@@ -17,8 +17,8 @@
|
||||||
|
/* First try to boot from SD (index 0), then eMMC (index 1) */
|
||||||
|
#if CONFIG_IS_ENABLED(CMD_MMC)
|
||||||
|
#define BOOT_TARGET_MMC(func) \
|
||||||
|
- func(MMC, mmc, 0) \
|
||||||
|
- func(MMC, mmc, 1)
|
||||||
|
+ func(MMC, mmc, 1) \
|
||||||
|
+ func(MMC, mmc, 0)
|
||||||
|
#else
|
||||||
|
#define BOOT_TARGET_MMC(func)
|
||||||
|
#endif
|
||||||
|
@@ -55,9 +55,9 @@
|
||||||
|
|
||||||
|
#ifdef CONFIG_ROCKCHIP_RK3399
|
||||||
|
#define BOOT_TARGET_DEVICES(func) \
|
||||||
|
+ BOOT_TARGET_USB(func) \
|
||||||
|
BOOT_TARGET_MMC(func) \
|
||||||
|
BOOT_TARGET_NVME(func) \
|
||||||
|
- BOOT_TARGET_USB(func) \
|
||||||
|
BOOT_TARGET_PXE(func) \
|
||||||
|
BOOT_TARGET_DHCP(func) \
|
||||||
|
BOOT_TARGET_SF(func)
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
|
@ -0,0 +1,50 @@
|
||||||
|
From 08e8ace48b5c3a31b44661ef22a8b8a459906d7e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Nadia Holmquist Pedersen <nadia@nhp.sh>
|
||||||
|
Date: Sat, 20 Jun 2020 01:49:49 +0200
|
||||||
|
Subject: [PATCH 3/3] Enable the power LED during early startup
|
||||||
|
|
||||||
|
---
|
||||||
|
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 4fda93b152..e24b39486d 100644
|
||||||
|
--- a/arch/arm/mach-rockchip/rk3399/rk3399.c
|
||||||
|
+++ b/arch/arm/mach-rockchip/rk3399/rk3399.c
|
||||||
|
@@ -19,6 +19,8 @@
|
||||||
|
#include <asm/arch-rockchip/hardware.h>
|
||||||
|
#include <linux/bitops.h>
|
||||||
|
#include <power/regulator.h>
|
||||||
|
+#include <dt-bindings/gpio/gpio.h>
|
||||||
|
+#include <dt-bindings/pinctrl/rockchip.h>
|
||||||
|
|
||||||
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
|
@@ -119,8 +121,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 */
|
||||||
|
@@ -153,6 +155,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,
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
64
sys-boot/u-boot/u-boot-2021.04.ebuild
Normal file
64
sys-boot/u-boot/u-boot-2021.04.ebuild
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
# Copyright 2021 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=7
|
||||||
|
MY_PV=$(ver_rs 2 -)
|
||||||
|
MY_P="${PN}-v${MY_PV}"
|
||||||
|
|
||||||
|
DESCRIPTION="U-boot for the Pinebook Pro"
|
||||||
|
HOMEPAGE="https://www.denx.de/wiki/U-Boot"
|
||||||
|
SRC_URI="https://gitlab.denx.de/${PN}/${PN}/-/archive/v${MY_PV}/${PN}-v${MY_PV}.tar.gz -> ${P}.tar.gz"
|
||||||
|
|
||||||
|
LICENSE="GPL-2"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="-* arm64"
|
||||||
|
|
||||||
|
UBOOT_ALL_DEFCONFIGS=( pinebook-pro-rk3399 )
|
||||||
|
IUSE="${UBOOT_ALL_DEFCONFIGS[@]/#/uboot_defconfigs_}"
|
||||||
|
REQUIRED_USE="^^ ( ${IUSE} )"
|
||||||
|
|
||||||
|
DEPEND="
|
||||||
|
sys-apps/dtc
|
||||||
|
sys-firmware/trusted-firmware-a[tfa_platforms_rk3399]
|
||||||
|
"
|
||||||
|
RDEPEND="${DEPEND}"
|
||||||
|
BDEPEND=""
|
||||||
|
S="${WORKDIR}/${MY_P}"
|
||||||
|
PATCHES=(
|
||||||
|
"${FILESDIR}/0002-Correct-boot-order-to-be-USB-SD-eMMC.patch"
|
||||||
|
"${FILESDIR}/0003-Enable-the-power-LED-during-early-startup.patch"
|
||||||
|
)
|
||||||
|
|
||||||
|
uboot_get_defconfig() {
|
||||||
|
local cfg
|
||||||
|
for cfg in "${UBOOT_ALL_DEFCONFIGS[@]}"; do
|
||||||
|
if use "uboot_defconfigs_${cfg}"; then
|
||||||
|
echo ${cfg}_defconfig
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
die "no uboot_defconfigs_ set"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
emake $(uboot_get_defconfig)
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
emake BL31=/usr/share/trusted-firmware-a/rk3399/bl31.elf
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
insinto /usr/share/u-boot
|
||||||
|
doins idbloader.img
|
||||||
|
doins u-boot.itb
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
elog "To install U-boot:"
|
||||||
|
elog "Determine your device, then"
|
||||||
|
elog "if=/usr/share/u-boot/idbloader.img of=/dev/... seek=64 conv=notrunc"
|
||||||
|
elog "if=/usr/share/u-boot/u-boot.itb of=/dev/... seek=16384 conv=notrunc"
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue