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=060f78....
Change:
+%ifarch aarch64 %{arm}
Thanks.
Full change:
============
commit 060f78f396f1608e21a4cc3b9ae192d96596b52a
Author: Peter Robinson <pbrobinson(a)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(a)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(a)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(a)aosc.io>
+X-Patchwork-Id: 1462876
+Return-Path: <u-boot-bounces(a)lists.denx.de>
+X-Original-To: incoming(a)patchwork.ozlabs.org
+Delivered-To: patchwork-incoming(a)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(a)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=(a)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=(a)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(a)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(a)lists.denx.de
+Authentication-Results: phobos.denx.de;
+ dkim=fail reason="signature verification failed" (1024-bit key;
+ unprotected)
header.d=mymailcheap.com header.i=(a)mymailcheap.com
+ header.b="unszVtqT";
+ dkim=fail reason="signature verification failed" (1024-bit key;
+ unprotected) header.d=aosc.io header.i=(a)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(a)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(a)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=(a)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(a)aosc.io>
+To: Simon Glass <sjg(a)chromium.org>, Kever Yang <kever.yang(a)rock-chips.com>,
+ Frank Wang <frank.wang(a)rock-chips.com>,
+ Jagan Teki <jagan(a)amarulasolutions.com>
+Cc: u-boot(a)lists.denx.de,
+ Icenowy Zheng <icenowy(a)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(a)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(a)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(a)lists.denx.de
+Sender: "U-Boot" <u-boot-bounces(a)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(a)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(a)gmail.com>
+Date: Mon, 19 Apr 2021 00:09:11 +0100
+Subject: [PATCH] arm: rockchip: fix mmc numbering
+
+Signed-off-by: Peter Robinson <pbrobinson(a)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(a)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(a)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(a)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(a)gmail.com>
Signed-off-by: Peter Robinson <pbrobinson(a)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(a)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(a)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(a)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(a)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(a)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(a)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(a)fedoraproject.org> - 2021.04-0.5.rc3
- Fix for SMP on RPi3B and RPi3B+
- Initial support for Pinephone 3Gb edition