From 4c13dee4b90aa557af96eea6bc41a4a37ab14153 Mon Sep 17 00:00:00 2001 From: Alex Denes Date: Sat, 13 May 2023 16:17:21 +0000 Subject: [PATCH] Add bananapi m2z and bump version --- ...dhci-unset-the-SDHCI_QUIRK_BROKEN_R1.patch | 39 ++++++++++ .../u-boot/0001-rockpro64-fix-boot-hang.patch | 12 +-- main/u-boot/0002-rockpro64-baudrate.patch | 10 ++- ...nly-load-CROS_EC-if-enabled-in-confi.patch | 44 +++++++++++ main/u-boot/APKBUILD | 77 ++++++++++++------- main/u-boot/fix-tools-build.patch | 14 ++-- main/u-boot/hifive-unmatched-ramdisk.patch | 19 ----- 7 files changed, 151 insertions(+), 64 deletions(-) create mode 100644 main/u-boot/0001-Revert-mmc-s5p_sdhci-unset-the-SDHCI_QUIRK_BROKEN_R1.patch create mode 100644 main/u-boot/0002-samsung-common-only-load-CROS_EC-if-enabled-in-confi.patch delete mode 100644 main/u-boot/hifive-unmatched-ramdisk.patch diff --git a/main/u-boot/0001-Revert-mmc-s5p_sdhci-unset-the-SDHCI_QUIRK_BROKEN_R1.patch b/main/u-boot/0001-Revert-mmc-s5p_sdhci-unset-the-SDHCI_QUIRK_BROKEN_R1.patch new file mode 100644 index 0000000..aa356b3 --- /dev/null +++ b/main/u-boot/0001-Revert-mmc-s5p_sdhci-unset-the-SDHCI_QUIRK_BROKEN_R1.patch @@ -0,0 +1,39 @@ +From af739c325efc5022e63131b0663fd8ecd4806ec6 Mon Sep 17 00:00:00 2001 +From: Henrik Grimler +Date: Mon, 13 Feb 2023 09:08:16 +0100 +Subject: [PATCH 1/2] Revert "mmc: s5p_sdhci: unset the SDHCI_QUIRK_BROKEN_R1B" + +This reverts commit a034ec06ff1d558bbe11d5ee05edbb4de3ee2215. + +Commit 4a3ea75de4c5 ("Revert "mmc: sdhci: set to INT_DATA_END when +there are data"") reverted the alternative fix that was added for +Exynos 4 devices, causing an error when trying to boot from an sdcard: + + <...> + Loading Environment from MMC... sdhci_send_command: Timeout for status update! + mmc fail to send stop cmd + <...> + +Re-add the quirk to allow booting from sdcards again. + +Signed-off-by: Henrik Grimler +--- + drivers/mmc/s5p_sdhci.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/mmc/s5p_sdhci.c b/drivers/mmc/s5p_sdhci.c +index dee84263c3fd..3b74feae68c7 100644 +--- a/drivers/mmc/s5p_sdhci.c ++++ b/drivers/mmc/s5p_sdhci.c +@@ -90,7 +90,7 @@ static int s5p_sdhci_core_init(struct sdhci_host *host) + host->name = S5P_NAME; + + host->quirks = SDHCI_QUIRK_NO_HISPD_BIT | SDHCI_QUIRK_BROKEN_VOLTAGE | +- SDHCI_QUIRK_32BIT_DMA_ADDR | ++ SDHCI_QUIRK_BROKEN_R1B | SDHCI_QUIRK_32BIT_DMA_ADDR | + SDHCI_QUIRK_WAIT_SEND_CMD | SDHCI_QUIRK_USE_WIDE8; + host->max_clk = 52000000; + host->voltages = MMC_VDD_32_33 | MMC_VDD_33_34 | MMC_VDD_165_195; +-- +2.30.2 + diff --git a/main/u-boot/0001-rockpro64-fix-boot-hang.patch b/main/u-boot/0001-rockpro64-fix-boot-hang.patch index b12ef31..102dde0 100644 --- a/main/u-boot/0001-rockpro64-fix-boot-hang.patch +++ b/main/u-boot/0001-rockpro64-fix-boot-hang.patch @@ -1,16 +1,18 @@ +diff --git a/configs/rockpro64-rk3399_defconfig b/configs/rockpro64-rk3399_defconfig +index 4961423681..7dff3b33a0 100644 --- a/configs/rockpro64-rk3399_defconfig +++ b/configs/rockpro64-rk3399_defconfig -@@ -14,7 +14,7 @@ - CONFIG_SPL_SPI=y +@@ -21,7 +21,7 @@ CONFIG_SYS_LOAD_ADDR=0x800800 CONFIG_DEBUG_UART=y - CONFIG_SYS_LOAD_ADDR=0x800800 + CONFIG_BOOTSTAGE=y + CONFIG_BOOTSTAGE_REPORT=y -CONFIG_USE_PREBOOT=y +CONFIG_USE_PREBOOT=n CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-rockpro64.dtb" CONFIG_DISPLAY_BOARDINFO_LATE=y CONFIG_MISC_INIT_R=y -@@ -83,6 +83,6 @@ - CONFIG_DM_VIDEO=y +@@ -104,6 +104,6 @@ CONFIG_USB_ETHER_SMSC95XX=y + CONFIG_VIDEO=y CONFIG_DISPLAY=y CONFIG_VIDEO_ROCKCHIP=y -CONFIG_DISPLAY_ROCKCHIP_HDMI=y diff --git a/main/u-boot/0002-rockpro64-baudrate.patch b/main/u-boot/0002-rockpro64-baudrate.patch index 20aa93a..d790f7b 100644 --- a/main/u-boot/0002-rockpro64-baudrate.patch +++ b/main/u-boot/0002-rockpro64-baudrate.patch @@ -1,11 +1,13 @@ +diff --git a/configs/rockpro64-rk3399_defconfig b/configs/rockpro64-rk3399_defconfig +index 4961423681..7bc5b6d766 100644 --- a/configs/rockpro64-rk3399_defconfig +++ b/configs/rockpro64-rk3399_defconfig -@@ -60,7 +60,7 @@ - CONFIG_DM_RESET=y - CONFIG_DM_RNG=y +@@ -80,7 +80,7 @@ CONFIG_DM_RNG=y CONFIG_RNG_ROCKCHIP=y + CONFIG_SCSI=y + CONFIG_DM_SCSI=y -CONFIG_BAUDRATE=1500000 +CONFIG_BAUDRATE=115200 CONFIG_DEBUG_UART_SHIFT=2 + CONFIG_SYS_NS16550_MEM32=y CONFIG_ROCKCHIP_SPI=y - CONFIG_SYSRESET=y diff --git a/main/u-boot/0002-samsung-common-only-load-CROS_EC-if-enabled-in-confi.patch b/main/u-boot/0002-samsung-common-only-load-CROS_EC-if-enabled-in-confi.patch new file mode 100644 index 0000000..2001b3f --- /dev/null +++ b/main/u-boot/0002-samsung-common-only-load-CROS_EC-if-enabled-in-confi.patch @@ -0,0 +1,44 @@ +From f6772d572d47a63462ba62bb42d17aff9025a28a Mon Sep 17 00:00:00 2001 +From: Henrik Grimler +Date: Mon, 13 Feb 2023 09:08:17 +0100 +Subject: [PATCH 2/2] samsung: common: do not reset if cros-ec uclass is + missing + +Otherwise non-ChromeOS samsung devices, like the odroid boards, are +stuck in a bootloop if CONFIG_CROS_EC is not enabled: + + <...> + MMC: SAMSUNG SDHCI: 2, EXYNOS DWMMC: 0 + Loading Environment from MMC... *** Warning - bad CRC, using default environment + + cros-ec communications failure -96 + + Please reset with Power+Refresh + + Cannot init cros-ec device + resetting ... + +Issue started after commit e44d7e73fe0d ("dm: core: Switch +uclass_*_device_err to use uclass_*_device_check"). + +Signed-off-by: Henrik Grimler +--- + board/samsung/common/board.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/board/samsung/common/board.c b/board/samsung/common/board.c +index 16ce5cb89253..663d7ca991bc 100644 +--- a/board/samsung/common/board.c ++++ b/board/samsung/common/board.c +@@ -223,7 +223,7 @@ int board_late_init(void) + char mmcbootdev_str[16]; + + ret = uclass_first_device_err(UCLASS_CROS_EC, &dev); +- if (ret && ret != -ENODEV) { ++ if (ret && ret != -ENODEV && ret != -EPFNOSUPPORT) { + /* Force console on */ + gd->flags &= ~GD_FLG_SILENT; + +-- +2.30.2 + diff --git a/main/u-boot/APKBUILD b/main/u-boot/APKBUILD index c2b19f1..3d14683 100644 --- a/main/u-boot/APKBUILD +++ b/main/u-boot/APKBUILD @@ -2,25 +2,40 @@ # Contributor: Timo Teras # Maintainer: Milan P. Stanić pkgname=u-boot -pkgver=2022.01 +pkgver=2023.04 pkgrel=0 pkgdesc="u-boot bootloader common files" url="https://www.denx.de/wiki/U-Boot/" arch="all !s390x !ppc64le" license="GPL-2.0-or-later OFL-1.1 BSD-2-Clause BSD-3-Clause eCos-2.0 IBM-pibs ISC LGPL-2.0-only LGPL-2.1-only X11" -makedepends="$depends_dev bc dtc python3-dev swig bison flex - openssl1.1-compat-dev py3-setuptools linux-headers" +options="!check" +makedepends=" + $depends_dev + bc + bison + dtc + flex + gnutls-dev + linux-headers + openssl-dev>3 + py3-elftools + py3-setuptools + python3-dev + swig + util-linux-dev +" if [ "$CARCH" = "aarch64" ]; then makedepends="$makedepends arm-trusted-firmware" fi source="https://ftp.denx.de/pub/u-boot/u-boot-${pkgver//_/-}.tar.bz2 README.txt update-u-boot - hifive-unmatched-ramdisk.patch + fix-tools-build.patch 0001-rockpro64-fix-boot-hang.patch 0002-rockpro64-baudrate.patch - fix-tools-build.patch + 0001-Revert-mmc-s5p_sdhci-unset-the-SDHCI_QUIRK_BROKEN_R1.patch + 0002-samsung-common-only-load-CROS_EC-if-enabled-in-confi.patch " builddir="$srcdir"/u-boot-${pkgver//_/-} @@ -44,19 +59,22 @@ arm*) board_configs=" raspberrypi:rpi_0_w,rpi,rpi_2,rpi_3_32b wandboard:wandboard qemu:qemu_arm - odroid:odroid-xu3 + odroid:odroid,odroid-xu3 + sunxi:LicheePi_Zero,Bananapi,Lamobo_R1,Cubieboard,Cubieboard2,orangepi_pc,bananapi_m2_berry,bananapi_m2_zero ";; aarch64) board_configs=" thunderx:thunderx_88xx - raspberrypi:rpi_3 + raspberrypi:rpi_3,rpi_arm64 odroid:odroid-c2,odroid-n2 + snapdragon:starqltechn + exynos:a3y17lte,a5y17lte,a7y17lte libretech:libretech-cc rockchip:rockpro64-rk3399 qemu:qemu_arm64 sunxi:pine64-lts,pinebook,orangepi_3,teres_i,a64-olinuxino,a64-olinuxino-emmc,nanopi_neo2 ";; riscv64) board_configs=" - qemu:qemu-riscv64 + qemu:qemu-riscv64,qemu-riscv64_smode unleashed:sifive_unleashed unmatched:sifive_unmatched ";; @@ -73,7 +91,6 @@ case "$CARCH" in esac build() { - cd "$builddir" touch include/config.h LC_ALL=C date +'#define U_BOOT_DATE "%b %d %C%y"' > include/timestamp_autogenerated.h LC_ALL=C date +'#define U_BOOT_TIME "%T"' >> include/timestamp_autogenerated.h @@ -89,14 +106,16 @@ build() { export BL31="/usr/share/arm-trusted-firmware/sun50i_a64/bl31.bin";; "orangepi_3") export BL31="/usr/share/arm-trusted-firmware/sun50i_h6/bl31.bin";; - "rockpro64-rk3399") + "rockpro64-rk3399"|"roc-pc-rk3399") export BL31="/usr/share/arm-trusted-firmware/rk3399/bl31.elf";; + "roc-cc-rk3328") + export BL31="/usr/share/arm-trusted-firmware/rk3328/bl31.elf";; esac export BUILD_DIR="$builddir"/build/$board mkdir -p "$BUILD_DIR" - make O="$BUILD_DIR" ${board}_config || return 1 - make O="$BUILD_DIR" all || return 1 + make O="$BUILD_DIR" ${board}_config + make O="$BUILD_DIR" all done done msg "Building u-boot-tools" @@ -110,8 +129,8 @@ package() { esac cd "$builddir"/build mkdir -p "$pkgdir"/usr/share/$pkgname "$pkgdir"/usr/sbin - install "$srcdir"/README.txt "$pkgdir"/usr/share/$pkgname/README.txt || return 1 - install "$srcdir"/update-u-boot "$pkgdir"/usr/sbin || return 1 + install "$srcdir"/README.txt "$pkgdir"/usr/share/$pkgname/README.txt + install "$srcdir"/update-u-boot "$pkgdir"/usr/sbin } tools() { @@ -121,14 +140,14 @@ tools() { mkdir -p $pkgdir mkdir $subpkgdir cd "$builddir" - for tool in bmp_logo dumpimage env/fw_printenv \ + for tool in dumpimage env/fw_printenv \ fit_check_sign fit_info gdb/gdbcont gdb/gdbsend gen_eth_addr img2srec \ - mkenvimage mkimage ncb proftool ubsha1 xway-swap-bytes; do + mkenvimage mkimage ncb proftool; do install -D tools/$tool \ - $subpkgdir/usr/bin/$(basename $tool) + $subpkgdir/usr/bin/"$(basename $tool)" done install -Dm644 tools/env/fw_env.config \ - "${subpkgdir}/usr/share/doc/${pkgname}/examples/fw_env.config" + "$subpkgdir/usr/share/doc/$pkgname/examples/fw_env.config" cd "$subpkgdir"/usr/bin ln -sf fw_printenv fw_setenv } @@ -151,13 +170,13 @@ _split_boards() { mkdir -p "$subpkgdir"/usr/share/$pkgname/$board export BUILD_DIR="$builddir"/build/$board - local board_images="" + board_images="" case "$board" in "sifive_unleashed"|"sifive_unmatched") board_images="u-boot.itb spl/u-boot-spl.bin --" ;; - "pine64-lts"|"pinebook"|"teres_i"|"a64-olinuxino"|"a64-olinuxino-emmc"|"orangepi_3") + "pine64-lts"|"pinebook"|"teres_i"|"a64-olinuxino"|"a64-olinuxino-emmc"|"orangepi_3"|"bananapi_m2_zero"|"bananapi_m2_berry") board_images="u-boot-sunxi-with-spl.bin --" ;; - "rockpro64-rk3399") + "rockpro64-rk3399"|"roc-pc-rk3399"|"roc-cc-rk3328") board_images="tpl/u-boot-tpl.bin spl/u-boot-spl.bin u-boot.itb --" ;; esac @@ -168,12 +187,11 @@ _split_boards() { continue fi if [ -e "$BUILD_DIR"/$image ]; then - cp "$BUILD_DIR"/$image "$subpkgdir"/usr/share/$pkgname/$board \ - || return 1 + cp "$BUILD_DIR"/$image "$subpkgdir"/usr/share/$pkgname/$board ok=yes fi done - [ "$ok" = yes ] || return 1 + [ "$ok" = yes ] || return done } @@ -184,11 +202,12 @@ for board_config in $board_configs; do done sha512sums=" -d83c62bd8f0f51664d2aca329a3ce1379cfd1dfff439dccd6cfc2cb33cfef89a2b01855c97716f591b5550bfdf99e2f3aef7efa33f2e7834c820648f9eef3825 u-boot-2022.01.tar.bz2 +31a44083af8084cd657c08233f485ff9503002bbaf95114c6135d483881fa14dc5a1b7ab42fd91f1fdd6b330556e76958d475280115018cb59c62b6ab4b508e6 u-boot-2023.04.tar.bz2 f8c9bb6e84d6f0620c976ac7ad5dd7ec7ff9dfdd4b1d03d2bf6653e7beccf80bdf2debfc92fb1f696dba92fb40287d3c45897e0078951451d0835cb61a5f16d1 README.txt b5b5960a70c0edab38c208e5a41f2130c673334e05ef77dd4c839d59365d4243590a79bf3865914397b600550f4d0f69f8145e51a7ef05aa0190420fcc7ff02d update-u-boot -1e8c95a37e7efb74f6519f66da44a0050417066aa2bd6d38e8a7e7135f501a9578dcc3701f66a170bf4cbd5c17b87d69ff80760979b1aa31d26e75be7cf7b97f hifive-unmatched-ramdisk.patch -27253e065a46a4563522fcb9551d51d68e0114ba8964c0be5067dbe2e94b0cf1b197490c17ad394d29603a21ab8c5d17daf0b3bc9bcfff704d8070e26b0b4761 0001-rockpro64-fix-boot-hang.patch -e506f06071966922db393620212cf38b0d456bf517e9a719a5f2191fa815f37c17f7a1650e78742ea29bcb05f5cd63d5e8a88fb48dbd224539ae7188efdcf823 0002-rockpro64-baudrate.patch -3b900d833ee7d82ee3bca6e8f8cb8e297359bb65c3f095a0d22377779eb8a233c5e566e5db6ce79f3076fbe6413d002941eb9cc450e3462337f46c1805472ce0 fix-tools-build.patch +83fc42c698f8236ba1f7d71383863e0bda255ada85bb885856a24b2036944d230d918a9d965d5ff90720726c9ee85ffda5e88eefc27b94ef9e7b4f456dcfb195 fix-tools-build.patch +29238add149e49acdfd891bc82295fb2bf25f467f8930d770c806e35564f373da4ed36e8e44941b479713db715401b99e00e99b3d741bd37d85ac2aeee0f335d 0001-rockpro64-fix-boot-hang.patch +56999b24f998162d58059984861077e22f47d5990d545e96b2d7d0eadac02495f9d6ca3b70029ec257bdd3613d721cc1a25facc406050979aa8be80886f6967f 0002-rockpro64-baudrate.patch +72efbc68fa98448b7cfe509c45fd934baf27810bcbde758f64bc1faa141287a0a18c54f5c60335e68438a57e3826e91c30b740c12eedd7d360ff28eb1d41c235 0001-Revert-mmc-s5p_sdhci-unset-the-SDHCI_QUIRK_BROKEN_R1.patch +fcf0b66fb7ec8868a971551bb2ae7bfe8f3cb1ba28513f7a34d13e937543fb993a78419a9f1faf890c8dadb7c5ee088e95b40f1f6522f4efa9e87a2014dfacf2 0002-samsung-common-only-load-CROS_EC-if-enabled-in-confi.patch " diff --git a/main/u-boot/fix-tools-build.patch b/main/u-boot/fix-tools-build.patch index 6f11baf..f2606d5 100644 --- a/main/u-boot/fix-tools-build.patch +++ b/main/u-boot/fix-tools-build.patch @@ -1,17 +1,17 @@ Author: Milan P. Stanić -Date: Thu Jan 143 21:33:42 2022 +0000 +Date: 2023-04-04 10:07:00.033003320 +0200 musl libc doesn't have c_ospeed and c_ispeed types so disable build of kwboot with this patch ---- a/tools/Makefile 2022-01-10 18:46:34.000000000 +0000 -+++ b/tools/Makefile 2022-01-14 20:26:13.814939412 +0000 -@@ -217,8 +217,6 @@ +--- a/tools/Makefile 2023-04-04 10:07:00.033003320 +0200 ++++ b/tools/Makefile 2023-04-04 10:07:26.345003333 +0200 +@@ -213,8 +213,6 @@ - HOSTCFLAGS_ubsha1.o := -pedantic + hostprogs-$(CONFIG_NETCONSOLE) += ncb -hostprogs-$(CONFIG_ARCH_KIRKWOOD) += kwboot -hostprogs-$(CONFIG_ARCH_MVEBU) += kwboot + hostprogs-y += proftool - hostprogs-$(CONFIG_STATIC_RELA) += relocate-rela - hostprogs-$(CONFIG_RISCV) += prelink-riscv + proftool-objs = proftool.o lib/abuf.o diff --git a/main/u-boot/hifive-unmatched-ramdisk.patch b/main/u-boot/hifive-unmatched-ramdisk.patch deleted file mode 100644 index a6a1c16..0000000 --- a/main/u-boot/hifive-unmatched-ramdisk.patch +++ /dev/null @@ -1,19 +0,0 @@ -On the HiFive1 the ramdisk is occasionally loaded to the wrong address -range, causing boot to hang during ramdisk loading. This patch fixes -this occasionally occurring issue. - -See https://lists.denx.de/pipermail/u-boot/2021-October/463798.html for -details. As per https://lists.denx.de/pipermail/u-boot/2021-October/463844.html -this patch should no longer be needed as soon as v2022.01 is released. - -diff -upr u-boot-2021.10.orig/include/configs/sifive-unmatched.h u-boot-2021.10/include/configs/sifive-unmatched.h ---- u-boot-2021.10.orig/include/configs/sifive-unmatched.h 2021-10-15 19:07:43.123472870 +0200 -+++ u-boot-2021.10/include/configs/sifive-unmatched.h 2021-10-15 19:08:27.357420781 +0200 -@@ -25,6 +25,7 @@ - - #endif - -+#define CONFIG_SYS_BOOTMAPSZ (256 << 20) - #define CONFIG_SYS_SDRAM_BASE 0x80000000 - #define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_SDRAM_BASE + SZ_2M) -