diff options
-rw-r--r-- | gnu/local.mk | 5 | ||||
-rw-r--r-- | gnu/packages/bootloaders.scm | 21 | ||||
-rw-r--r-- | gnu/packages/patches/u-boot-allow-disabling-openssl.patch | 56 | ||||
-rw-r--r-- | gnu/packages/patches/u-boot-fix-build-python-3.10.patch | 37 | ||||
-rw-r--r-- | gnu/packages/patches/u-boot-fix-u-boot-lib-build.patch | 24 | ||||
-rw-r--r-- | gnu/packages/patches/u-boot-rk3399-enable-emmc-phy.patch | 26 | ||||
-rw-r--r-- | gnu/packages/patches/u-boot-rockchip-inno-usb.patch | 16 | ||||
-rw-r--r-- | gnu/packages/patches/u-boot-sifive-prevent-reloc-initrd-fdt.patch | 16 |
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" \ |