The package rpms/uboot-tools.git has added or updated architecture specific content in its spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s): https://src.fedoraproject.org/cgit/rpms/uboot-tools.git/commit/?id=060f78f39....
Change: +%ifarch aarch64 %{arm}
Thanks.
Full change: ============
commit 060f78f396f1608e21a4cc3b9ae192d96596b52a Author: Peter Robinson pbrobinson@gmail.com Date: Mon Apr 19 14:07:58 2021 +0100
2021.04 GA, DTB load fix, add Turris Omnia, rockchip fixes
diff --git a/0001-efi_loader-fix-memory-type-for-memory-reservation-bl.patch b/0001-efi_loader-fix-memory-type-for-memory-reservation-bl.patch deleted file mode 100644 index 4ca9f5d..0000000 --- a/0001-efi_loader-fix-memory-type-for-memory-reservation-bl.patch +++ /dev/null @@ -1,38 +0,0 @@ -From ca1e8231dcf89b78c6860239281bbe36e7a63341 Mon Sep 17 00:00:00 2001 -From: Mark Kettenis kettenis@openbsd.org -Date: Sun, 14 Mar 2021 20:04:24 +0100 -Subject: [PATCH] efi_loader: fix memory type for memory reservation block - -The devicetree specification clearly states that: - - As with the /reserved-memory node, when booting via UEFI - entries in the Memory Reservation Block must also be listed - in the system memory map obtained via the GetMemoryMap() toi - protect against allocations by UEFI applications. The memory - reservation block entries should be listed with type - EfiReservedMemoryType. - -This restores the behaviour that was changed by commit 4cbb2930bd8c -("efi_loader: consider no-map property of reserved memory"). - -Signed-off-by: Mark Kettenis kettenis@openbsd.org ---- - lib/efi_loader/efi_dt_fixup.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lib/efi_loader/efi_dt_fixup.c b/lib/efi_loader/efi_dt_fixup.c -index a4529ee3ef..b6fe5d2e5a 100644 ---- a/lib/efi_loader/efi_dt_fixup.c -+++ b/lib/efi_loader/efi_dt_fixup.c -@@ -61,7 +61,7 @@ void efi_carve_out_dt_rsv(void *fdt) - for (i = 0; i < nr_rsv; i++) { - if (fdt_get_mem_rsv(fdt, i, &addr, &size) != 0) - continue; -- efi_reserve_memory(addr, size, false); -+ efi_reserve_memory(addr, size, true); - } - - /* process reserved-memory */ --- -2.30.2 - diff --git a/aarch64-boards b/aarch64-boards index 1d81436..15abee1 100644 --- a/aarch64-boards +++ b/aarch64-boards @@ -5,7 +5,6 @@ bananapi_m64 beelink_gs1 dragonboard410c dragonboard820c -espresso7420 evb-rk3328 evb-rk3399 ficus-rk3399 diff --git a/arm-boards b/arm-boards index a2c8d89..63ab288 100644 --- a/arm-boards +++ b/arm-boards @@ -57,7 +57,6 @@ inet_q972 Itead_Ibox_A20 jesurun_q5 jetson-tk1 -kc1 Lamobo_R1 libretech_all_h3_cc_h2_plus Linksprite_pcDuino @@ -128,6 +127,7 @@ tbs_a711 tinker-rk3288 tinker-s-rk3288 trimslice +turris_omnia udoo udoo_neo usbarmory diff --git a/phy-rockchip-inno-usb2-fix-hang-when-multiple-controllers-exit.patch b/phy-rockchip-inno-usb2-fix-hang-when-multiple-controllers-exit.patch new file mode 100644 index 0000000..81f1cdb --- /dev/null +++ b/phy-rockchip-inno-usb2-fix-hang-when-multiple-controllers-exit.patch @@ -0,0 +1,233 @@ +From patchwork Tue Apr 6 15:10:59 2021 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: Icenowy Zheng icenowy@aosc.io +X-Patchwork-Id: 1462876 +Return-Path: u-boot-bounces@lists.denx.de +X-Original-To: incoming@patchwork.ozlabs.org +Delivered-To: patchwork-incoming@bilbo.ozlabs.org +Authentication-Results: ozlabs.org; + spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de + (client-ip=85.214.62.61; helo=phobos.denx.de; + envelope-from=u-boot-bounces@lists.denx.de; receiver=<UNKNOWN>) +Authentication-Results: ozlabs.org; + dkim=fail reason="signature verification failed" (1024-bit key; + unprotected) header.d=mymailcheap.com header.i=@mymailcheap.com + header.a=rsa-sha256 header.s=default header.b=unszVtqT; + dkim=fail reason="signature verification failed" (1024-bit key; + unprotected) header.d=aosc.io header.i=@aosc.io header.a=rsa-sha256 + header.s=default header.b=mWwYCh9A; + dkim-atps=neutral +Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) + (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) + key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest + SHA256) + (No client certificate requested) + by ozlabs.org (Postfix) with ESMTPS id 4FF9wc3GdNz9sW1 + for incoming@patchwork.ozlabs.org; Wed, 7 Apr 2021 01:11:42 +1000 (AEST) +Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) + by phobos.denx.de (Postfix) with ESMTP id C1F9C8040A; + Tue, 6 Apr 2021 17:11:32 +0200 (CEST) +Authentication-Results: phobos.denx.de; + dmarc=none (p=none dis=none) header.from=aosc.io +Authentication-Results: phobos.denx.de; + spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de +Authentication-Results: phobos.denx.de; + dkim=fail reason="signature verification failed" (1024-bit key; + unprotected) header.d=mymailcheap.com header.i=@mymailcheap.com + header.b="unszVtqT"; + dkim=fail reason="signature verification failed" (1024-bit key; + unprotected) header.d=aosc.io header.i=@aosc.io header.b="mWwYCh9A"; + dkim-atps=neutral +Received: by phobos.denx.de (Postfix, from userid 109) + id E4F22805B4; Tue, 6 Apr 2021 17:11:30 +0200 (CEST) +X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de +X-Spam-Level: +X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, + DKIM_VALID,DKIM_VALID_AU,SPF_HELO_NONE autolearn=ham + autolearn_force=no version=3.4.2 +Received: from relay3.mymailcheap.com (relay3.mymailcheap.com + [217.182.66.161]) + (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) + (No client certificate requested) + by phobos.denx.de (Postfix) with ESMTPS id 2FC4A8039D + for u-boot@lists.denx.de; Tue, 6 Apr 2021 17:11:27 +0200 (CEST) +Authentication-Results: phobos.denx.de; + dmarc=none (p=none dis=none) header.from=aosc.io +Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=icenowy@aosc.io +Received: from filter2.mymailcheap.com (filter2.mymailcheap.com + [91.134.140.82]) + by relay3.mymailcheap.com (Postfix) with ESMTPS id A6AC13ECDF; + Tue, 6 Apr 2021 17:11:26 +0200 (CEST) +Received: from localhost (localhost [127.0.0.1]) + by filter2.mymailcheap.com (Postfix) with ESMTP id 88D512A915; + Tue, 6 Apr 2021 17:11:26 +0200 (CEST) +DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=mymailcheap.com; + s=default; t=1617721886; + bh=qb5gt5o7M9qjdJd67A3WHGZp/76w4s4FS6+u1VuEh/o=; + h=From:To:Cc:Subject:Date:From; + b=unszVtqTnO9MGZVbgLH5H0cMo3VfQ+g5377blmOUcrtzMSqNbDD5SM25MUhlTUKiB + hTFq4L53gszBYfRPfh7Z5XgNVERULL5Zx0+WnVjZ7kUIp/wS3IQqxe81ChoFEsLTr8 + 22UB9NN3OSVkuN/jRAzX+lKpugVGBHwOCjZBZukQ= +Received: from filter2.mymailcheap.com ([127.0.0.1]) + by localhost (filter2.mymailcheap.com [127.0.0.1]) (amavisd-new, port 10024) + with ESMTP id V9lVOgo6gApH; Tue, 6 Apr 2021 17:11:25 +0200 (CEST) +Received: from mail20.mymailcheap.com (mail20.mymailcheap.com [51.83.111.147]) + (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) + (No client certificate requested) + by filter2.mymailcheap.com (Postfix) with ESMTPS; + Tue, 6 Apr 2021 17:11:25 +0200 (CEST) +Received: from [213.133.102.83] (ml.mymailcheap.com [213.133.102.83]) + by mail20.mymailcheap.com (Postfix) with ESMTP id C9EA3400B6; + Tue, 6 Apr 2021 15:11:24 +0000 (UTC) +Authentication-Results: mail20.mymailcheap.com; dkim=pass (1024-bit key; + unprotected) header.d=aosc.io header.i=@aosc.io header.b="mWwYCh9A"; + dkim-atps=neutral +AI-Spam-Status: Not processed +Received: from ice-e5v2.lan (unknown [59.41.163.135]) + (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) + key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest + SHA256) (No client certificate requested) + by mail20.mymailcheap.com (Postfix) with ESMTPSA id 251F840C16; + Tue, 6 Apr 2021 15:11:10 +0000 (UTC) +DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=aosc.io; s=default; + t=1617721874; bh=qb5gt5o7M9qjdJd67A3WHGZp/76w4s4FS6+u1VuEh/o=; + h=From:To:Cc:Subject:Date:From; + b=mWwYCh9AM8eRWm9hiEqirytotj/G/C1p9r2fd0zUxPhS0UQH+kw6L3RWZnsfmXAYq + HmYFiM3ktIfwevqQw89tOi8c2ktb49iYOyHXkfi8hTZl1dNsJDS94uyzBiHYY+U7x5 + P0aTRRaL5C8ua2c1GedoPx06nrARO/KMEFy39rxI= +From: Icenowy Zheng icenowy@aosc.io +To: Simon Glass sjg@chromium.org, Kever Yang kever.yang@rock-chips.com, + Frank Wang frank.wang@rock-chips.com, + Jagan Teki jagan@amarulasolutions.com +Cc: u-boot@lists.denx.de, + Icenowy Zheng icenowy@aosc.io +Subject: [PATCH] phy: rockchip: inno-usb2: fix hang when multiple controllers + exit +Date: Tue, 6 Apr 2021 23:10:59 +0800 +Message-Id: 20210406151059.1187379-1-icenowy@aosc.io +X-Mailer: git-send-email 2.30.2 +MIME-Version: 1.0 +X-Rspamd-Server: mail20.mymailcheap.com +X-Spamd-Result: default: False [4.90 / 20.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; + ARC_NA(0.00)[]; R_DKIM_ALLOW(0.00)[aosc.io:s=default]; + RECEIVED_SPAMHAUS_PBL(0.00)[59.41.163.135:received]; + FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; + R_MISSING_CHARSET(2.50)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; + MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[aosc.io]; + BROKEN_CONTENT_TYPE(1.50)[]; R_SPF_SOFTFAIL(0.00)[~all]; + RCPT_COUNT_FIVE(0.00)[6]; ML_SERVERS(-3.10)[213.133.102.83]; + DKIM_TRACE(0.00)[aosc.io:+]; MID_CONTAINS_FROM(1.00)[]; + RCVD_NO_TLS_LAST(0.10)[]; FROM_EQ_ENVFROM(0.00)[]; + MIME_TRACE(0.00)[0:+]; + ASN(0.00)[asn:24940, ipnet:213.133.96.0/19, country:DE]; + RCVD_COUNT_TWO(0.00)[2]; + HFILTER_HELO_BAREIP(3.00)[213.133.102.83,1] +X-Rspamd-Queue-Id: C9EA3400B6 +X-BeenThere: u-boot@lists.denx.de +X-Mailman-Version: 2.1.34 +Precedence: list +List-Id: U-Boot discussion <u-boot.lists.denx.de> +List-Unsubscribe: https://lists.denx.de/options/u-boot, + mailto:u-boot-request@lists.denx.de?subject=unsubscribe +List-Archive: https://lists.denx.de/pipermail/u-boot/ +List-Post: mailto:u-boot@lists.denx.de +List-Help: mailto:u-boot-request@lists.denx.de?subject=help +List-Subscribe: https://lists.denx.de/listinfo/u-boot, + mailto:u-boot-request@lists.denx.de?subject=subscribe +Errors-To: u-boot-bounces@lists.denx.de +Sender: "U-Boot" u-boot-bounces@lists.denx.de +X-Virus-Scanned: clamav-milter 0.102.4 at phobos.denx.de +X-Virus-Status: Clean + +The OHCI and EHCI controllers are both bound to the same PHY. They will +both do init and power_on operations when the controller is brought up +and both do power_off and exit when the controller is stopped. However, +the PHY uclass of U-Boot is not as sane as we thought -- they won't +maintain a status mark for PHYs, and thus the functions of the PHYs +could be called for multiple times. Calling init/power_on for multiple +times have no severe problems, however calling power_off/exit for +multiple times have a problem -- the first exit call will stop the PHY +clock, and power_off/exit calls after it still trying to write to PHY +registers. The write operation to PHY registers will fail because clock +is already stopped. + +Adapt the count mechanism from phy-sun4i-usb to both init/exit and +power_on/power_off functions to phy-rockchip-inno-usb2 to fix this +problem. With this stopping USB controllers (manually or before booting +a kernel) will work. + +Signed-off-by: Icenowy Zheng icenowy@aosc.io +Fixes: ac97a9ece14e ("phy: rockchip: Add Rockchip USB2PHY driver") +--- + drivers/phy/rockchip/phy-rockchip-inno-usb2.c | 21 +++++++++++++++++++ + 1 file changed, 21 insertions(+) + +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/rockchip-fix-mmc-numbering.patch b/rockchip-fix-mmc-numbering.patch new file mode 100644 index 0000000..b8569be --- /dev/null +++ b/rockchip-fix-mmc-numbering.patch @@ -0,0 +1,57 @@ +From 76162abd0252cc431abb19421436f34dd9703abe Mon Sep 17 00:00:00 2001 +From: Peter Robinson pbrobinson@gmail.com +Date: Mon, 19 Apr 2021 00:09:11 +0100 +Subject: [PATCH] arm: rockchip: fix mmc numbering + +Signed-off-by: Peter Robinson pbrobinson@gmail.com +--- + arch/arm/dts/rk3328.dtsi | 3 +++ + arch/arm/dts/rk3368.dtsi | 3 +++ + arch/arm/dts/rk3399.dtsi | 3 +++ + 3 files changed, 9 insertions(+) + +diff --git a/arch/arm/dts/rk3328.dtsi b/arch/arm/dts/rk3328.dtsi +index 945387e579..77a556d06f 100644 +--- a/arch/arm/dts/rk3328.dtsi ++++ b/arch/arm/dts/rk3328.dtsi +@@ -27,6 +27,9 @@ + i2c1 = &i2c1; + i2c2 = &i2c2; + i2c3 = &i2c3; ++ mmc0 = &sdmmc; ++ mmc1 = &sdio; ++ mmc2 = &emmc; + ethernet0 = &gmac2io; + ethernet1 = &gmac2phy; + }; +diff --git a/arch/arm/dts/rk3368.dtsi b/arch/arm/dts/rk3368.dtsi +index b4f4f6139d..55b5f6b2a7 100644 +--- a/arch/arm/dts/rk3368.dtsi ++++ b/arch/arm/dts/rk3368.dtsi +@@ -62,6 +62,9 @@ + i2c3 = &i2c3; + i2c4 = &i2c4; + i2c5 = &i2c5; ++ mmc0 = &sdmmc; ++ mmc1 = &sdio0; ++ mmc2 = &emmc; + serial0 = &uart0; + serial1 = &uart1; + serial2 = &uart2; +diff --git a/arch/arm/dts/rk3399.dtsi b/arch/arm/dts/rk3399.dtsi +index 74f2c3d490..5997c29bc8 100644 +--- a/arch/arm/dts/rk3399.dtsi ++++ b/arch/arm/dts/rk3399.dtsi +@@ -29,6 +29,9 @@ + i2c6 = &i2c6; + i2c7 = &i2c7; + i2c8 = &i2c8; ++ mmc0 = &sdmmc; ++ mmc1 = &sdio0; ++ mmc2 = &sdhci; + serial0 = &uart0; + serial1 = &uart1; + serial2 = &uart2; +-- +2.31.1 + diff --git a/rockchip-spl-u-boot-itb-offset.patch b/rockchip-spl-u-boot-itb-offset.patch deleted file mode 100644 index d78c2f2..0000000 --- a/rockchip-spl-u-boot-itb-offset.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- u-boot-2020.10/common/spl/Kconfig.orig 2020-10-07 12:08:54.972632715 +0100 -+++ u-boot-2020.10/common/spl/Kconfig 2020-10-07 12:08:59.100672506 +0100 -@@ -324,7 +324,7 @@ - default 0x200 if ARCH_SOCFPGA || ARCH_AT91 - default 0x300 if ARCH_ZYNQ || ARCH_KEYSTONE || OMAP34XX || OMAP44XX || \ - OMAP54XX || AM33XX || AM43XX || ARCH_K3 -- default 0x4000 if ARCH_ROCKCHIP -+ default 0x200 if ARCH_ROCKCHIP - default 0x822 if TARGET_SIFIVE_FU540 - help - Address on the MMC to load U-Boot from, when the MMC is being used diff --git a/sources b/sources index 7d286d7..0be2497 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (u-boot-2021.04-rc4.tar.bz2) = 522f9e7886a357ad573088fbbb4be17b91efedf5651808d7cbe53f4b3c4da236a96d5e781b8464d17bc6f961bd65cf3fb58d707bc7f10ce1df002800045cfd23 +SHA512 (u-boot-2021.04.tar.bz2) = c24835a520bfd528032614576ca552e55e6de129372e72e22e80e0d45dc5c1c75aa4aad80e856d5bbd7146ec092cac52a6f352253cf3fdf9fe536f5e87782803 diff --git a/uboot-tools.spec b/uboot-tools.spec index 28d5afb..8369af9 100644 --- a/uboot-tools.spec +++ b/uboot-tools.spec @@ -1,8 +1,8 @@ -%global candidate rc4 +#global candidate rc1
Name: uboot-tools Version: 2021.04 -Release: 0.6%{?candidate:.%{candidate}}%{?dist} +Release: 1%{?candidate:.%{candidate}}%{?dist} Summary: U-Boot utilities License: GPLv2+ BSD LGPL-2.1+ LGPL-2.0+ URL: http://www.denx.de/wiki/U-Boot @@ -22,16 +22,17 @@ Patch2: uefi-use-Fedora-specific-path-name.patch Patch3: rpi-Enable-using-the-DT-provided-by-the-Raspberry-Pi.patch
# Board fixes and enablement -Patch9: 0001-efi_loader-fix-memory-type-for-memory-reservation-bl.patch # AllWinner improvements Patch10: AllWinner-PineTab.patch # TI fixes Patch11: 0001-Fix-BeagleAI-detection.patch # Rockchips improvements Patch12: rk3399-Pinebook-pro-EDP-support.patch +Patch13: phy-rockchip-inno-usb2-fix-hang-when-multiple-controllers-exit.patch +Patch14: rockchip-fix-mmc-numbering.patch # Fixes for Allwinner network issues -Patch13: 0001-arm-dts-allwinner-sync-from-linux-for-RGMII-RX-TX-de.patch -Patch14: sunxi-support-asymmetric-dual-rank-DRAM-on-A64.patch +Patch15: 0001-arm-dts-allwinner-sync-from-linux-for-RGMII-RX-TX-de.patch +Patch16: sunxi-support-asymmetric-dual-rank-DRAM-on-A64.patch
BuildRequires: bc BuildRequires: dtc @@ -97,11 +98,15 @@ mkdir builds %{?enable_devtoolset7:%{enable_devtoolset7}} %endif
+%make_build HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE="" tools-only_defconfig O=builds/ +%make_build HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE="" tools-all O=builds/ + %ifarch aarch64 %{arm} for board in $(cat %{_arch}-boards) do echo "Building board: $board" mkdir builds/$(echo $board)/ + # ATF selection, needs improving, suggestions of ATF SoC to Board matrix welcome sun50i=(a64-olinuxino amarula_a64_relic bananapi_m2_plus_h5 bananapi_m64 libretech_all_h3_cc_h5 nanopi_a64 nanopi_neo2 nanopi_neo_plus2 orangepi_pc2 orangepi_prime orangepi_win orangepi_zero_plus orangepi_zero_plus2 pine64-lts pine64_plus pinebook pinephone pinetab sopine_baseboard teres_i) if [[ " ${sun50i[*]} " == *" $board "* ]]; then @@ -124,10 +129,18 @@ do cp /usr/share/arm-trusted-firmware/rk3399/* builds/$(echo $board)/ fi # End ATF + make $(echo $board)_defconfig O=builds/$(echo $board)/ %make_build HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE="" O=builds/$(echo $board)/ + + # build spi images for rockchip boards with SPI flash + rkspi=(evb-rk3399 khadas-edge-captain-rk3399 khadas-edge-rk3399 khadas-edge-v-rk3399 nanopc-t4-rk3399 pinebook-pro-rk3399 rockpro64-rk3399) + if [[ " ${rkspi[*]} " == *" $board "* ]]; then + echo "Board: $board with SPI flash" + builds/$(echo $board)/tools/mkimage -n rk3399 -T rkspi -d builds/$(echo $board)/tpl/u-boot-tpl.bin:builds/$(echo $board)/spl/u-boot-spl.bin builds/$(echo $board)/idbloader.spi + fi # build spi, and uart images for mvebu boards - mvebu=(clearfog helios4) + mvebu=(clearfog helios4 turris_omnia) if [[ " ${mvebu[*]} " == *" $board "* ]]; then for target in spi uart do @@ -142,9 +155,6 @@ done
%endif
-%make_build HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE="" tools-only_defconfig O=builds/ -%make_build HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE="" tools-all O=builds/ - %install mkdir -p %{buildroot}%{_bindir} mkdir -p %{buildroot}%{_mandir}/man1 @@ -154,7 +164,7 @@ mkdir -p %{buildroot}%{_datadir}/uboot/ for board in $(ls builds) do mkdir -p %{buildroot}%{_datadir}/uboot/$(echo $board)/ - for file in u-boot.bin u-boot.dtb u-boot.img u-boot-dtb.img u-boot.itb u-boot-sunxi-with-spl.bin u-boot-rockchip.bin idbloader.img spl/boot.bin spl/sunxi-spl.bin + for file in u-boot.bin u-boot.dtb u-boot.img u-boot-dtb.img u-boot.itb u-boot-sunxi-with-spl.bin u-boot-rockchip.bin idbloader.img idbloader.spi spl/boot.bin spl/sunxi-spl.bin do if [ -f builds/$(echo $board)/$(echo $file) ]; then install -p -m 0644 builds/$(echo $board)/$(echo $file) %{buildroot}%{_datadir}/uboot/$(echo $board)/ @@ -173,14 +183,16 @@ do install -p -m 0644 builds/$(echo $board)/$(echo $file) %{buildroot}%{_datadir}/uboot/$(echo $board)/ fi done - done +%endif
# Bit of a hack to remove binaries we don't use as they're large +%ifarch aarch64 %{arm} for board in $(ls builds) do + rm -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot.dtb if [ -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot-sunxi-with-spl.bin ]; then - rm -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot.* + rm -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot{,-dtb}.* fi if [ -f %{buildroot}%{_datadir}/uboot/$(echo $board)/MLO ]; then rm -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot.bin @@ -195,6 +207,10 @@ do rm -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot.* rm -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot-spl.bin fi + if [ -f %{buildroot}%{_datadir}/uboot/$(echo $board)/idbloader.img ]; then + rm -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot.bin + rm -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot{,-dtb}.img + fi done %endif
@@ -243,6 +259,13 @@ cp -p board/warp7/README builds/docs/README.warp7 %endif
%changelog +* Sun Apr 18 2021 Peter Robinson pbrobinson@fedoraproject.org - 2021.04-1 +- Update to 2021.04 GA +- Fix DTB load check (rhbz 1946278) +- Build Rockchip SPI support as idbloader.spi +- Fixes for Rockchip devices +- Build Turris Omnia for MMC/SPI/UART + * Wed Mar 17 2021 Peter Robinson pbrobinson@fedoraproject.org - 2021.04-0.6.rc4 - Update to 2021.04 RC4 - Move to upstream fix for SMP on RPi3B and RPi3B+ diff --git a/uefi-distro-load-FDT-from-any-partition-on-boot-device.patch b/uefi-distro-load-FDT-from-any-partition-on-boot-device.patch index 39d6c20..c28fdb0 100644 --- a/uefi-distro-load-FDT-from-any-partition-on-boot-device.patch +++ b/uefi-distro-load-FDT-from-any-partition-on-boot-device.patch @@ -1,7 +1,7 @@ -From cc3700b5c65494547308df395fe63166ff48a1e3 Mon Sep 17 00:00:00 2001 +From fd3434c754b3b8dddb345352a2434b6b8445343a Mon Sep 17 00:00:00 2001 From: Peter Robinson pbrobinson@gmail.com -Date: Tue, 24 Nov 2020 10:35:48 +0000 -Subject: [PATCH 1/2] distro: load FDT from any partition on boot device +Date: Sun, 18 Apr 2021 14:05:45 +0100 +Subject: [PATCH] distro: load FDT from any partition on boot device
In the EFI_LOADER boot path, we were only checking the FAT partition containing the EFI payload for dtb files. But this is somewhat of a @@ -22,17 +22,19 @@ knows) and SoC/board specific ${fdtfile} (which grub does not know). Signed-off-by: Rob Clark robdclark@gmail.com Signed-off-by: Peter Robinson pbrobinson@gmail.com --- - include/config_distro_bootcmd.h | 33 +++++++++++++++++++++++---------- - 1 file changed, 23 insertions(+), 10 deletions(-) + include/config_distro_bootcmd.h | 35 ++++++++++++++++++++++----------- + 1 file changed, 23 insertions(+), 12 deletions(-)
diff --git a/include/config_distro_bootcmd.h b/include/config_distro_bootcmd.h -index ff29ef5a905..769477cd80e 100644 +index 2627c2a6a5..eadd1080b3 100644 --- a/include/config_distro_bootcmd.h +++ b/include/config_distro_bootcmd.h -@@ -142,24 +142,37 @@ +@@ -148,26 +148,37 @@ + "fi\0" \ + \ "load_efi_dtb=" \ - "load ${devtype} ${devnum}:${distro_bootpart} " \ - "${fdt_addr_r} ${prefix}${efi_fdtfile}\0" \ +- "load ${devtype} ${devnum}:${distro_bootpart} " \ +- "${fdt_addr_r} ${prefix}${efi_fdtfile}\0" \ + "load ${devtype} ${devnum}:${dtb_devp} " \ + "${fdt_addr_r} ${prefix}${efi_fdtfile} && " \ + "run boot_efi_binary\0" \ @@ -78,5 +80,5 @@ index ff29ef5a905..769477cd80e 100644 "fi; " \ "setenv efi_fdtfile\0" -- -2.29.2 +2.31.1
commit 610279571ca60f430935dcd52c59e88fa8b3aa7d Author: Peter Robinson pbrobinson@gmail.com Date: Wed Mar 17 09:10:48 2021 +0000
2021.04 RC4, upstream rpi3 smp fix
diff --git a/0001-Revert-efi_loader-consider-no-map-property-of-reserv.patch b/0001-Revert-efi_loader-consider-no-map-property-of-reserv.patch deleted file mode 100644 index 485f966..0000000 --- a/0001-Revert-efi_loader-consider-no-map-property-of-reserv.patch +++ /dev/null @@ -1,82 +0,0 @@ -From 62f3f85e50692b2685d1056a041d1dbb9e16f2a4 Mon Sep 17 00:00:00 2001 -From: Peter Robinson pbrobinson@gmail.com -Date: Sat, 13 Mar 2021 14:42:29 +0000 -Subject: [PATCH] Revert: efi_loader: consider no-map property of reserved - memory - -This basically reverts 4cbb2930bd8c, but not directly as it's moved -about since. The patch breaks SMP on the Raspberry Pi 3 (original 3B -and 3B+) so on Linux only one CPU core comes online. I'm not exactly -sure why but a bisect idendified the patch and sure enough a revert -fixes the issue. - -Signed-off-by: Peter Robinson pbrobinson@gmail.com ---- - lib/efi_loader/efi_dt_fixup.c | 33 ++++++--------------------------- - 1 file changed, 6 insertions(+), 27 deletions(-) - -diff --git a/lib/efi_loader/efi_dt_fixup.c b/lib/efi_loader/efi_dt_fixup.c -index a4529ee3ef..87630f7857 100644 ---- a/lib/efi_loader/efi_dt_fixup.c -+++ b/lib/efi_loader/efi_dt_fixup.c -@@ -13,29 +13,13 @@ - - const efi_guid_t efi_guid_dt_fixup_protocol = EFI_DT_FIXUP_PROTOCOL_GUID; - --/** -- * efi_reserve_memory() - add reserved memory to memory map -- * -- * @addr: start address of the reserved memory range -- * @size: size of the reserved memory range -- * @nomap: indicates that the memory range shall not be accessed by the -- * UEFI payload -- */ --static void efi_reserve_memory(u64 addr, u64 size, bool nomap) -+static void efi_reserve_memory(u64 addr, u64 size) - { -- int type; -- efi_uintn_t ret; -- - /* Convert from sandbox address space. */ - addr = (uintptr_t)map_sysmem(addr, 0); -+ if (efi_add_memory_map(addr, size, -+ EFI_RESERVED_MEMORY_TYPE) != EFI_SUCCESS) - -- if (nomap) -- type = EFI_RESERVED_MEMORY_TYPE; -- else -- type = EFI_BOOT_SERVICES_DATA; -- -- ret = efi_add_memory_map(addr, size, type); -- if (ret != EFI_SUCCESS) - log_err("Reserved memory mapping failed addr %llx size %llx\n", - addr, size); - } -@@ -61,7 +45,7 @@ void efi_carve_out_dt_rsv(void *fdt) - for (i = 0; i < nr_rsv; i++) { - if (fdt_get_mem_rsv(fdt, i, &addr, &size) != 0) - continue; -- efi_reserve_memory(addr, size, false); -+ efi_reserve_memory(addr, size); - } - - /* process reserved-memory */ -@@ -81,13 +65,8 @@ void efi_carve_out_dt_rsv(void *fdt) - * a size instead of a reg property. - */ - if (fdt_addr != FDT_ADDR_T_NONE && -- fdtdec_get_is_enabled(fdt, subnode)) { -- bool nomap; -- -- nomap = !!fdt_getprop(fdt, subnode, "no-map", -- NULL); -- efi_reserve_memory(fdt_addr, fdt_size, nomap); -- } -+ fdtdec_get_is_enabled(fdt, subnode)) -+ efi_reserve_memory(fdt_addr, fdt_size); - subnode = fdt_next_subnode(fdt, subnode); - } - } --- -2.30.2 - diff --git a/0001-efi_loader-fix-memory-type-for-memory-reservation-bl.patch b/0001-efi_loader-fix-memory-type-for-memory-reservation-bl.patch new file mode 100644 index 0000000..4ca9f5d --- /dev/null +++ b/0001-efi_loader-fix-memory-type-for-memory-reservation-bl.patch @@ -0,0 +1,38 @@ +From ca1e8231dcf89b78c6860239281bbe36e7a63341 Mon Sep 17 00:00:00 2001 +From: Mark Kettenis kettenis@openbsd.org +Date: Sun, 14 Mar 2021 20:04:24 +0100 +Subject: [PATCH] efi_loader: fix memory type for memory reservation block + +The devicetree specification clearly states that: + + As with the /reserved-memory node, when booting via UEFI + entries in the Memory Reservation Block must also be listed + in the system memory map obtained via the GetMemoryMap() toi + protect against allocations by UEFI applications. The memory + reservation block entries should be listed with type + EfiReservedMemoryType. + +This restores the behaviour that was changed by commit 4cbb2930bd8c +("efi_loader: consider no-map property of reserved memory"). + +Signed-off-by: Mark Kettenis kettenis@openbsd.org +--- + lib/efi_loader/efi_dt_fixup.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/efi_loader/efi_dt_fixup.c b/lib/efi_loader/efi_dt_fixup.c +index a4529ee3ef..b6fe5d2e5a 100644 +--- a/lib/efi_loader/efi_dt_fixup.c ++++ b/lib/efi_loader/efi_dt_fixup.c +@@ -61,7 +61,7 @@ void efi_carve_out_dt_rsv(void *fdt) + for (i = 0; i < nr_rsv; i++) { + if (fdt_get_mem_rsv(fdt, i, &addr, &size) != 0) + continue; +- efi_reserve_memory(addr, size, false); ++ efi_reserve_memory(addr, size, true); + } + + /* process reserved-memory */ +-- +2.30.2 + diff --git a/sources b/sources index 6a0feed..7d286d7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (u-boot-2021.04-rc3.tar.bz2) = 0d6b46b791475ce21320fbc2b361235d09588a5b912d40b32a11d937adc7c0e7b75b893ba4e8dc55156cfd99f684fc56839c17d0b9c021f5cfaaf5e5997f93ba +SHA512 (u-boot-2021.04-rc4.tar.bz2) = 522f9e7886a357ad573088fbbb4be17b91efedf5651808d7cbe53f4b3c4da236a96d5e781b8464d17bc6f961bd65cf3fb58d707bc7f10ce1df002800045cfd23 diff --git a/uboot-tools.spec b/uboot-tools.spec index 5660be2..28d5afb 100644 --- a/uboot-tools.spec +++ b/uboot-tools.spec @@ -1,8 +1,8 @@ -%global candidate rc3 +%global candidate rc4
Name: uboot-tools Version: 2021.04 -Release: 0.5%{?candidate:.%{candidate}}%{?dist} +Release: 0.6%{?candidate:.%{candidate}}%{?dist} Summary: U-Boot utilities License: GPLv2+ BSD LGPL-2.1+ LGPL-2.0+ URL: http://www.denx.de/wiki/U-Boot @@ -22,7 +22,7 @@ Patch2: uefi-use-Fedora-specific-path-name.patch Patch3: rpi-Enable-using-the-DT-provided-by-the-Raspberry-Pi.patch
# Board fixes and enablement -Patch9: 0001-Revert-efi_loader-consider-no-map-property-of-reserv.patch +Patch9: 0001-efi_loader-fix-memory-type-for-memory-reservation-bl.patch # AllWinner improvements Patch10: AllWinner-PineTab.patch # TI fixes @@ -243,6 +243,10 @@ cp -p board/warp7/README builds/docs/README.warp7 %endif
%changelog +* Wed Mar 17 2021 Peter Robinson pbrobinson@fedoraproject.org - 2021.04-0.6.rc4 +- Update to 2021.04 RC4 +- Move to upstream fix for SMP on RPi3B and RPi3B+ + * Sat Mar 13 2021 Peter Robinson pbrobinson@fedoraproject.org - 2021.04-0.5.rc3 - Fix for SMP on RPi3B and RPi3B+ - Initial support for Pinephone 3Gb edition
arch-excludes@lists.fedoraproject.org