summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk5
-rw-r--r--gnu/packages/bootloaders.scm21
-rw-r--r--gnu/packages/patches/u-boot-allow-disabling-openssl.patch56
-rw-r--r--gnu/packages/patches/u-boot-fix-build-python-3.10.patch37
-rw-r--r--gnu/packages/patches/u-boot-fix-u-boot-lib-build.patch24
-rw-r--r--gnu/packages/patches/u-boot-rk3399-enable-emmc-phy.patch26
-rw-r--r--gnu/packages/patches/u-boot-rockchip-inno-usb.patch16
-rw-r--r--gnu/packages/patches/u-boot-sifive-prevent-reloc-initrd-fdt.patch16
8 files changed, 43 insertions, 158 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 0d0258d8d4..4497804e07 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -61,6 +61,7 @@
# Copyright © 2023 Andy Tai <atai@atai.org>
# Copyright © 2023 B. Wilson <elaexuotee@wilsonb.com>
# Copyright © 2023 gemmaro <gemmaro.dev@gmail.com>
+# Copyright © 2023 Herman Rimm <herman@rimm.ee>
#
# This file is part of GNU Guix.
#
@@ -2071,13 +2072,9 @@ dist_patch_DATA = \
%D%/packages/patches/tuxpaint-stamps-path.patch \
%D%/packages/patches/twinkle-bcg729.patch \
%D%/packages/patches/u-boot-allow-disabling-openssl.patch \
- %D%/packages/patches/u-boot-fix-build-python-3.10.patch \
- %D%/packages/patches/u-boot-fix-u-boot-lib-build.patch \
%D%/packages/patches/u-boot-nintendo-nes-serial.patch \
%D%/packages/patches/u-boot-patman-change-id.patch \
%D%/packages/patches/u-boot-rockchip-inno-usb.patch \
- %D%/packages/patches/u-boot-sifive-prevent-reloc-initrd-fdt.patch \
- %D%/packages/patches/u-boot-rk3399-enable-emmc-phy.patch \
%D%/packages/patches/ucx-tcp-iface-ioctl.patch \
%D%/packages/patches/ultrastar-deluxe-no-freesans.patch \
%D%/packages/patches/ungoogled-chromium-extension-search-path.patch \
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index e708641623..d0df4f62c2 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -18,6 +18,7 @@
;;; Copyright © 2022, 2023 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;; Copyright © 2021 Stefan <stefan-guix@vodafonemail.de>
;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2023 Herman Rimm <herman@rimm.ee>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -692,34 +693,19 @@ tree binary files. These are board description files used by Linux and BSD.")
;; and https://patchwork.ozlabs.org/project/uboot/patch/20210406151059.1187379-1-icenowy@aosc.io
(search-patch "u-boot-rockchip-inno-usb.patch"))
-(define %u-boot-sifive-prevent-relocating-initrd-fdt
- ;; Fix boot in 2021.07 on Hifive unmatched, see
- ;; https://bugs.launchpad.net/ubuntu/+source/u-boot/+bug/1937246
- (search-patch "u-boot-sifive-prevent-reloc-initrd-fdt.patch"))
-
(define %u-boot-allow-disabling-openssl-patch
;; Fixes build of u-boot 2021.10 without openssl
;; https://lists.denx.de/pipermail/u-boot/2021-October/462728.html
(search-patch "u-boot-allow-disabling-openssl.patch"))
-(define %u-boot-rk3399-enable-emmc-phy-patch
- ;; Fix emmc boot on rockpro64 and pinebook-pro, this was a regression
- ;; therefore should hopefully be fixed when updating u-boot.
- ;; https://lists.denx.de/pipermail/u-boot/2021-November/466329.html
- (search-patch "u-boot-rk3399-enable-emmc-phy.patch"))
-
(define u-boot
(package
(name "u-boot")
- (version "2023.07.02")
+ (version "2023.10")
(source (origin
(patches
(list %u-boot-rockchip-inno-usb-patch
%u-boot-allow-disabling-openssl-patch
- %u-boot-sifive-prevent-relocating-initrd-fdt
- %u-boot-rk3399-enable-emmc-phy-patch
- (search-patch "u-boot-fix-build-python-3.10.patch")
- (search-patch "u-boot-fix-u-boot-lib-build.patch")
(search-patch "u-boot-patman-change-id.patch")))
(method url-fetch)
(uri (string-append
@@ -727,7 +713,7 @@ tree binary files. These are board description files used by Linux and BSD.")
"u-boot-" version ".tar.bz2"))
(sha256
(base32
- "1m91w3fpywllkwm000dqsw3294j0szs1lz6qbgwv1aql3ic4hskb"))))
+ "0039rravvjq9yi41645fynycw4c869px024xfc0n212f05pnq3p0"))))
(build-system gnu-build-system)
(native-inputs
(list bison
@@ -778,6 +764,7 @@ also initializes the boards (RAM etc).")
(modify-inputs (package-native-inputs u-boot)
(append fontconfig
python-sphinx
+ python-sphinx-prompt
texinfo
which)))
(synopsis "U-Boot documentation")
diff --git a/gnu/packages/patches/u-boot-allow-disabling-openssl.patch b/gnu/packages/patches/u-boot-allow-disabling-openssl.patch
index 5195a7a6f8..708ed81e93 100644
--- a/gnu/packages/patches/u-boot-allow-disabling-openssl.patch
+++ b/gnu/packages/patches/u-boot-allow-disabling-openssl.patch
@@ -8,8 +8,10 @@ This reverts commit b4f3cc2c42d97967a3a3c8796c340f6b07ecccac.
Addendum 2022-12-08, Ricardo Wurmus: This patch has been updated to introduce
CONFIG_FIT_PRELOAD to remove fit_pre_load_data, which depends on openssl.
+Addendum 2023-10-17, Herman Rimm: Update patch for u-boot v2023.10.
+
diff --git a/tools/kwbimage.c b/tools/kwbimage.c
-index 94b7685392..eec599b0ee 100644
+index 4dce495ff0..976174ae77 100644
--- a/tools/kwbimage.c
+++ b/tools/kwbimage.c
@@ -19,6 +19,7 @@
@@ -38,7 +40,7 @@ index 94b7685392..eec599b0ee 100644
struct boot_mode {
unsigned int id;
-@@ -278,6 +282,8 @@ image_count_options(unsigned int optiontype)
+@@ -281,6 +285,8 @@ image_count_options(unsigned int optiontype)
return count;
}
@@ -47,7 +49,7 @@ index 94b7685392..eec599b0ee 100644
static int image_get_csk_index(void)
{
struct image_cfg_element *e;
-@@ -288,6 +294,7 @@ static int image_get_csk_index(void)
+@@ -291,6 +297,7 @@ static int image_get_csk_index(void)
return e->csk_idx;
}
@@ -55,7 +57,7 @@ index 94b7685392..eec599b0ee 100644
static bool image_get_spezialized_img(void)
{
-@@ -432,6 +439,7 @@ static uint8_t baudrate_to_option(unsigned int baudrate)
+@@ -435,6 +442,7 @@ static uint8_t baudrate_to_option(unsigned int baudrate)
}
}
@@ -63,29 +65,31 @@ index 94b7685392..eec599b0ee 100644
static void kwb_msg(const char *fmt, ...)
{
if (verbose_mode) {
-@@ -926,6 +934,7 @@ static int kwb_dump_fuse_cmds(struct secure_hdr_v1 *sec_hdr)
+@@ -929,6 +937,7 @@ static int kwb_dump_fuse_cmds(struct secure_hdr_v1 *sec_hdr)
done:
return ret;
}
+#endif
- static size_t image_headersz_align(size_t headersz, uint8_t blockid)
+ static int image_fill_xip_header(void *image, struct image_tool_params *params)
{
-@@ -1079,11 +1088,13 @@ static size_t image_headersz_v1(int *hasext)
- */
- headersz = sizeof(struct main_hdr_v1);
+@@ -1149,13 +1158,13 @@ static size_t image_headersz_v1(int *hasext)
+ int ret;
+ headersz = sizeof(struct main_hdr_v1);
+-
+#if defined(CONFIG_KWB_SECURE)
if (image_get_csk_index() >= 0) {
headersz += sizeof(struct secure_hdr_v1);
if (hasext)
*hasext = 1;
}
+-
+#endif
-
cpu_sheeva = image_is_cpu_sheeva();
-@@ -1270,6 +1281,7 @@ err_close:
+ count = 0;
+@@ -1351,6 +1360,7 @@ err_close:
return -1;
}
@@ -93,7 +97,7 @@ index 94b7685392..eec599b0ee 100644
static int export_pub_kak_hash(RSA *kak, struct secure_hdr_v1 *secure_hdr)
{
FILE *hashf;
-@@ -1382,6 +1394,7 @@ static int add_secure_header_v1(struct image_tool_params *params, uint8_t *ptr,
+@@ -1458,6 +1468,7 @@ static int add_secure_header_v1(struct image_tool_params *params, uint8_t *image
return 0;
}
@@ -101,9 +105,9 @@ index 94b7685392..eec599b0ee 100644
static void finish_register_set_header_v1(uint8_t **cur, uint8_t **next_ext,
struct register_set_hdr_v1 *register_set_hdr,
-@@ -1406,7 +1419,9 @@ static void *image_create_v1(size_t *imagesz, struct image_tool_params *params,
+@@ -1481,7 +1492,9 @@ static void *image_create_v1(size_t *dataoff, struct image_tool_params *params,
+ struct image_cfg_element *e;
struct main_hdr_v1 *main_hdr;
- struct opt_hdr_v1 *ohdr;
struct register_set_hdr_v1 *register_set_hdr;
+#if defined(CONFIG_KWB_SECURE)
struct secure_hdr_v1 *secure_hdr = NULL;
@@ -111,15 +115,16 @@ index 94b7685392..eec599b0ee 100644
size_t headersz;
uint8_t *image, *cur;
int hasext = 0;
-@@ -1491,6 +1506,7 @@ static void *image_create_v1(size_t *imagesz, struct image_tool_params *params,
- if (main_hdr->blockid == IBR_HDR_PEX_ID)
- main_hdr->srcaddr = cpu_to_le32(0xFFFFFFFF);
-
+@@ -1562,7 +1575,7 @@ static void *image_create_v1(size_t *dataoff, struct image_tool_params *params,
+ }
+ *dataoff = le32_to_cpu(main_hdr->srcaddr);
+ }
+-
+#if defined(CONFIG_KWB_SECURE)
if (image_get_csk_index() >= 0) {
/*
* only reserve the space here; we fill the header later since
-@@ -1501,7 +1517,7 @@ static void *image_create_v1(size_t *imagesz, struct image_tool_params *params,
+@@ -1573,7 +1586,7 @@ static void *image_create_v1(size_t *dataoff, struct image_tool_params *params,
*next_ext = 1;
next_ext = &secure_hdr->next;
}
@@ -128,7 +133,7 @@ index 94b7685392..eec599b0ee 100644
datai = 0;
for (cfgi = 0; cfgi < cfgn; cfgi++) {
e = &image_cfg[cfgi];
-@@ -1624,10 +1640,12 @@ static void *image_create_v1(size_t *dataoff, struct image_tool_params *params,
+@@ -1624,9 +1637,11 @@ static void *image_create_v1(size_t *dataoff, struct image_tool_params *params,
&datai, delay);
}
@@ -140,7 +145,6 @@ index 94b7685392..eec599b0ee 100644
/* Calculate and set the header checksum */
main_hdr->checksum = image_checksum8(main_hdr, headersz);
-
--- a/tools/image-host.c
+++ b/tools/image-host.c
@@ -14,8 +14,10 @@
@@ -154,7 +158,7 @@ index 94b7685392..eec599b0ee 100644
/**
* fit_set_hash_value - set hash value in requested has node
-@@ -1116,6 +1118,7 @@
+@@ -1119,6 +1121,7 @@ static int fit_config_add_verification_data(const char *keydir,
return 0;
}
@@ -162,7 +166,7 @@ index 94b7685392..eec599b0ee 100644
/*
* 0) open file (open)
* 1) read certificate (PEM_read_X509)
-@@ -1224,6 +1227,7 @@
+@@ -1227,6 +1230,7 @@ int fit_pre_load_data(const char *keydir, void *keydest, void *fit)
out:
return ret;
}
@@ -172,7 +176,7 @@ index 94b7685392..eec599b0ee 100644
const char *comment, int require_keys,
--- a/tools/fit_image.c
+++ b/tools/fit_image.c
-@@ -59,9 +59,10 @@
+@@ -61,9 +61,10 @@ static int fit_add_file_data(struct image_tool_params *params, size_t size_inc,
ret = fit_set_timestamp(ptr, 0, time);
}
@@ -186,7 +190,7 @@ index 94b7685392..eec599b0ee 100644
params->comment,
--- a/include/image.h
+++ b/include/image.h
-@@ -1090,6 +1090,7 @@
+@@ -1182,6 +1182,7 @@ int fit_image_hash_get_value(const void *fit, int noffset, uint8_t **value,
int fit_set_timestamp(void *fit, int noffset, time_t timestamp);
@@ -194,7 +198,7 @@ index 94b7685392..eec599b0ee 100644
/**
* fit_pre_load_data() - add public key to fdt blob
*
-@@ -1104,6 +1105,7 @@
+@@ -1196,6 +1197,7 @@ int fit_set_timestamp(void *fit, int noffset, time_t timestamp);
* < 0, on failure
*/
int fit_pre_load_data(const char *keydir, void *keydest, void *fit);
diff --git a/gnu/packages/patches/u-boot-fix-build-python-3.10.patch b/gnu/packages/patches/u-boot-fix-build-python-3.10.patch
deleted file mode 100644
index 7e5d6ba656..0000000000
--- a/gnu/packages/patches/u-boot-fix-build-python-3.10.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-This patch is backported from U-Boot 2023.01; remove when updating.
-
-From 7d01bb1c5a1daef0187c9ea276bde19a8d0e7fde Mon Sep 17 00:00:00 2001
-From: Michal Suchanek <msuchanek@suse.de>
-Date: Thu, 13 Oct 2022 22:43:41 +0200
-Subject: [PATCH] libfdt: Fix build with python 3.10
-
-Python 3.10 requires defining PY_SSIZE_T_CLEAN. This will be fixed in
-swig 4.10 but it is not clear when it will be released. There was a
-warning since python 3.8.
-
-Link: https://github.com/swig/swig/pull/2277
-
-Signed-off-by: Michal Suchanek <msuchanek@suse.de>
-Reviewed-by: Simon Glass <sjg@chromium.org>
----
- scripts/dtc/pylibfdt/libfdt.i_shipped | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/scripts/dtc/pylibfdt/libfdt.i_shipped b/scripts/dtc/pylibfdt/libfdt.i_shipped
-index 27c29ea260..56cc5d48f4 100644
---- a/scripts/dtc/pylibfdt/libfdt.i_shipped
-+++ b/scripts/dtc/pylibfdt/libfdt.i_shipped
-@@ -7,6 +7,10 @@
-
- %module libfdt
-
-+%begin %{
-+#define PY_SSIZE_T_CLEAN
-+%}
-+
- %include <stdint.i>
-
- %{
---
-GitLab
-
diff --git a/gnu/packages/patches/u-boot-fix-u-boot-lib-build.patch b/gnu/packages/patches/u-boot-fix-u-boot-lib-build.patch
deleted file mode 100644
index 233c437de6..0000000000
--- a/gnu/packages/patches/u-boot-fix-u-boot-lib-build.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Submitted upstream (see:
-https://lists.denx.de/pipermail/u-boot/2023-July/521984.html)
-
-diff --git a/tools/u_boot_pylib/pyproject.toml b/tools/u_boot_pylib/pyproject.toml
-index 3f33caf6f8..037c5d629e 100644
---- a/tools/u_boot_pylib/pyproject.toml
-+++ b/tools/u_boot_pylib/pyproject.toml
-@@ -9,7 +9,7 @@ authors = [
- { name="Simon Glass", email="sjg@chromium.org" },
- ]
- description = "U-Boot python library"
--readme = "README.md"
-+readme = "README.rst"
- requires-python = ">=3.7"
- classifiers = [
- "Programming Language :: Python :: 3",
-@@ -20,3 +20,7 @@ classifiers = [
- [project.urls]
- "Homepage" = "https://u-boot.readthedocs.io"
- "Bug Tracker" = "https://source.denx.de/groups/u-boot/-/issues"
-+
-+[tool.setuptools.packages.find]
-+where = [".."]
-+include = ["u_boot_pylib*"]
diff --git a/gnu/packages/patches/u-boot-rk3399-enable-emmc-phy.patch b/gnu/packages/patches/u-boot-rk3399-enable-emmc-phy.patch
deleted file mode 100644
index f14a9ce104..0000000000
--- a/gnu/packages/patches/u-boot-rk3399-enable-emmc-phy.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-adapting commit ac804143cf ("mmc: rockchip_sdhci: add phy and clock
-config for rk3399") to fix the issue "Not found emmc phy device".
-
-Signed-off-by: Yifeng Zhao <yifeng.zhao@rock-chips.com>
----
-
- arch/arm/dts/rk3399-u-boot.dtsi | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/arch/arm/dts/rk3399-u-boot.dtsi b/arch/arm/dts/rk3399-u-boot.dtsi
-index 73922c328a..716b9a433a 100644
---- a/arch/arm/dts/rk3399-u-boot.dtsi
-+++ b/arch/arm/dts/rk3399-u-boot.dtsi
-@@ -88,6 +88,10 @@
- u-boot,dm-pre-reloc;
- };
-
-+&emmc_phy {
-+ u-boot,dm-pre-reloc;
-+};
-+
- &grf {
- u-boot,dm-pre-reloc;
- };
---
-2.17.1
diff --git a/gnu/packages/patches/u-boot-rockchip-inno-usb.patch b/gnu/packages/patches/u-boot-rockchip-inno-usb.patch
index 58f04b2c78..eeb25f4b89 100644
--- a/gnu/packages/patches/u-boot-rockchip-inno-usb.patch
+++ b/gnu/packages/patches/u-boot-rockchip-inno-usb.patch
@@ -170,10 +170,10 @@ Tested-by: Peter Robinson <pbrobinson@gmail.com>
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
+index 70e61eccb7..ce36db94a7 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 {
+@@ -64,6 +64,8 @@ struct rockchip_usb2phy {
void *reg_base;
struct clk phyclk;
const struct rockchip_usb2phy_cfg *phy_cfg;
@@ -182,7 +182,7 @@ index 62b8ba3a4a..be9cc99d90 100644
};
static inline int property_enable(void *reg_base,
-@@ -92,6 +94,10 @@ static int rockchip_usb2phy_power_on(struct phy *phy)
+@@ -106,6 +108,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);
@@ -193,7 +193,7 @@ index 62b8ba3a4a..be9cc99d90 100644
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)
+@@ -120,6 +126,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);
@@ -204,7 +204,7 @@ index 62b8ba3a4a..be9cc99d90 100644
property_enable(priv->reg_base, &port_cfg->phy_sus, true);
return 0;
-@@ -118,6 +128,10 @@ static int rockchip_usb2phy_init(struct phy *phy)
+@@ -132,6 +142,10 @@ static int rockchip_usb2phy_init(struct phy *phy)
const struct rockchip_usb2phy_port_cfg *port_cfg = us2phy_get_port(phy);
int ret;
@@ -213,9 +213,9 @@ index 62b8ba3a4a..be9cc99d90 100644
+ return 0;
+
ret = clk_enable(&priv->phyclk);
- if (ret) {
+ if (ret && ret != -ENOSYS) {
dev_err(phy->dev, "failed to enable phyclk (ret=%d)\n", ret);
-@@ -140,6 +154,10 @@ static int rockchip_usb2phy_exit(struct phy *phy)
+@@ -154,6 +168,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);
@@ -226,7 +226,7 @@ index 62b8ba3a4a..be9cc99d90 100644
clk_disable(&priv->phyclk);
return 0;
-@@ -212,6 +230,9 @@ static int rockchip_usb2phy_probe(struct udevice *dev)
+@@ -294,6 +312,9 @@ static int rockchip_usb2phy_probe(struct udevice *dev)
return ret;
}
diff --git a/gnu/packages/patches/u-boot-sifive-prevent-reloc-initrd-fdt.patch b/gnu/packages/patches/u-boot-sifive-prevent-reloc-initrd-fdt.patch
deleted file mode 100644
index 858f42efe7..0000000000
--- a/gnu/packages/patches/u-boot-sifive-prevent-reloc-initrd-fdt.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Description: prevent relocating initrd & fdt, that results in failure to boot
-Author: Heinrich Schuchardt (xypron)
-Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/u-boot/+bug/1937246
-Index: u-boot-2021.07~rc4+dfsg/include/configs/sifive-unmatched.h
-===================================================================
---- u-boot-2021.07~rc4+dfsg.orig/include/configs/sifive-unmatched.h
-+++ u-boot-2021.07~rc4+dfsg/include/configs/sifive-unmatched.h
-@@ -55,6 +55,8 @@
- "name=system,size=-,bootable,type=${type_guid_gpt_system};"
-
- #define CFG_EXTRA_ENV_SETTINGS \
-+ "fdt_high=0xffffffffffffffff\0" \
-+ "initrd_high=0xffffffffffffffff\0" \
- "kernel_addr_r=0x84000000\0" \
- "kernel_comp_addr_r=0x88000000\0" \
- "kernel_comp_size=0x4000000\0" \