From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7319440801196408832 X-Received: by 2002:ad4:5c65:0:b0:680:b44c:140d with SMTP id i5-20020ad45c65000000b00680b44c140dmr4146000qvh.91.1704190114350; Tue, 02 Jan 2024 02:08:34 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:ad4:5c6a:0:b0:67f:74d3:afb5 with SMTP id i10-20020ad45c6a000000b0067f74d3afb5ls26485qvh.1.-pod-prod-01-us; Tue, 02 Jan 2024 02:08:33 -0800 (PST) X-Google-Smtp-Source: AGHT+IGInDnLAuAJXbL8g6hNfemc+Nx6Jc8xXw3gjMX/cp9ko1VdUOlS7xSTxR0N0pdAF30TSTlP X-Received: by 2002:a05:6122:2011:b0:4b6:e778:77e with SMTP id l17-20020a056122201100b004b6e778077emr4047962vkd.9.1704190113395; Tue, 02 Jan 2024 02:08:33 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1704190113; cv=none; d=google.com; s=arc-20160816; b=PrEwrg0Xlz7tnfUQ8BdABxvdGarrM+noZhbsRma1Bg9ZtNk9+cn6YE1tJRAFnzDYPZ dJfQIOlGQKiTHCdO2bGOi4NtBcIlvlfHBrUcBnddB07bdGg52ric0aTwfgZo7FN7Oyzr H7HnF78R90PM6Pg/JvUlEZ8VJ9DAvCUS95u4A3CQxMwzvkknO6vLt1nz6LToHjE9da6O NDld9Emhb0A4EWDGZYz1bozy5NsQAHalZpgNUygAYJ7FhDdwoed/icZiQ+Fz3WYN25Cc kwW2ppURv2cOBL6lgxoZRapKAOQ7FwtwXCkKI0O1glSxKFAfCQl5kuBp8QLcktue4cMA tDuQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=feedback-id:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature; bh=whX3ebLF0KsQg+nAPU8R8d4LP74hTyJLlDvDPkAPbH8=; fh=xxo2rOAPT4f31TY31yIWVuVlno6QMa2Pdllc3KKolm0=; b=u9xFFfu0ZIr1rfpGkms23BBbNAkA/Xt2ckEie6a9ae5CPa8ydk9wmXo2Y9C9rS15Yi E0u9Hi1GKuEwT4TB/9ID3T21ZmqPcApj4hmPG09w3IpQtkQIEWtWrDiIy6aNYmvrD+PZ +ljhDQXt3X6s6k+3Im1lpweLV/ToEgIKYl+6I/t/8myQrcj3nZn+oV904MiDCoLqaRg/ I7G2/5sjEzvi2pUZxUhJ/CKt7Efn70gJl2hX0fZMnIqNaY2oIwHUEB9I9m+mRCFVPrm9 1Ux1BarBd1ecwXlucgDbTlGJ0U6UksoRQK9Y1eot1wm67TOEP2UssOkEyFKbT9kPb8Vk OXjg== ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=RF6YBrK7; spf=pass (google.com: domain of fm-294854-20240102100831f9ad083881b783fd4b-elxjcf@rts-flowmailer.siemens.com designates 185.136.65.227 as permitted sender) smtp.mailfrom=fm-294854-20240102100831f9ad083881b783fd4b-elXjcF@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Return-Path: Received: from mta-65-227.siemens.flowmailer.net (mta-65-227.siemens.flowmailer.net. [185.136.65.227]) by gmr-mx.google.com with ESMTPS id ay27-20020a056122181b00b004b6cfa3a59esi2788261vkb.5.2024.01.02.02.08.33 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jan 2024 02:08:33 -0800 (PST) Received-SPF: pass (google.com: domain of fm-294854-20240102100831f9ad083881b783fd4b-elxjcf@rts-flowmailer.siemens.com designates 185.136.65.227 as permitted sender) client-ip=185.136.65.227; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=RF6YBrK7; spf=pass (google.com: domain of fm-294854-20240102100831f9ad083881b783fd4b-elxjcf@rts-flowmailer.siemens.com designates 185.136.65.227 as permitted sender) smtp.mailfrom=fm-294854-20240102100831f9ad083881b783fd4b-elXjcF@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: by mta-65-227.siemens.flowmailer.net with ESMTPSA id 20240102100831f9ad083881b783fd4b for ; Tue, 02 Jan 2024 11:08:31 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=jan.kiszka@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=whX3ebLF0KsQg+nAPU8R8d4LP74hTyJLlDvDPkAPbH8=; b=RF6YBrK7k/jEQugxHDwU0jYSDhXPzxzIDzwnW0QisuhsmT55AAmCQmqn++jl6leW0yiAbz KlqVI4kL02kKfZOE4eS2OSVK9hormU5+t9HTrHW2xdMJjbdYrU1VtuAV7M8Qv6WRWuVsLzGj cJztQ97m7hfRxGJzAVCfvF5ZfsD44=; From: Jan Kiszka To: isar-users Cc: Felix Moessbauer Subject: [PATCH 6/9] meta-isar: starfive-visionfive2: Switch to upstream U-Boot Date: Tue, 2 Jan 2024 11:08:26 +0100 Message-Id: In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-294854:519-21489:flowmailer X-TUID: 3WZ6DFr59aS8 From: Jan Kiszka There are no more reasons to use the vendor tree, U-Boot 2023.10 sufficiently supports the board. Moving upstream allows for significant simplifications in the build. We are now building OpenSBI first and are then using U-Boot to finish all artifacts needed for the image. The wks file is updated accordingly, switching the GUID of the U-Boot partition to the one upstream is recommending. Unneeded options for the first two partitions are dropped at this chance. Signed-off-by: Jan Kiszka --- .../conf/machine/starfive-visionfive2.conf | 10 ++---- .../opensbi/files/starfive-visionfive2-rules | 12 +++++++ .../files/starfive-visionfive2-rules.tmpl | 17 --------- ...ensbi-starfive-visionfive2_1.2+20230310.bb | 11 ++---- .../files/starfive-visionfive2-rules.tmpl | 35 +++++++++++++++++++ ...-starfive-visionfive2_2021.10+VF2-3.0.4.bb | 31 ---------------- .../u-boot-starfive-visionfive2_2023.10.bb | 29 +++++++++++++++ .../canned-wks/starfive-visionfive2.wks.in | 4 +-- 8 files changed, 82 insertions(+), 67 deletions(-) create mode 100644 meta-isar/recipes-bsp/opensbi/files/starfive-visionfive2-rules delete mode 100644 meta-isar/recipes-bsp/opensbi/files/starfive-visionfive2-rules.tmpl create mode 100755 meta-isar/recipes-bsp/u-boot/files/starfive-visionfive2-rules.tmpl delete mode 100644 meta-isar/recipes-bsp/u-boot/u-boot-starfive-visionfive2_2021.10+VF2-3.0.4.bb create mode 100644 meta-isar/recipes-bsp/u-boot/u-boot-starfive-visionfive2_2023.10.bb diff --git a/meta-isar/conf/machine/starfive-visionfive2.conf b/meta-isar/conf/machine/starfive-visionfive2.conf index 806d914c..c7f72bb3 100644 --- a/meta-isar/conf/machine/starfive-visionfive2.conf +++ b/meta-isar/conf/machine/starfive-visionfive2.conf @@ -8,18 +8,12 @@ DISTRO_ARCH = "riscv64" KERNEL_NAME ?= "starfive" IMAGE_FSTYPES ?= "wic" - WKS_FILE ?= "starfive-visionfive2.wks.in" IMAGER_INSTALL:wic += " \ - jh7110-u-boot-spl-image \ - visionfive2-u-boot-firmware \ + u-boot-starfive-visionfive2 \ ${SYSTEMD_BOOTLOADER_INSTALL}" -IMAGER_BUILD_DEPS += " \ - jh7110-u-boot-spl-image \ - visionfive2-u-boot-firmware" +IMAGER_BUILD_DEPS += "u-boot-starfive-visionfive2" -# DTB file for OpenSBI -DTB_UBOOT_JH7110_VF2 = "starfive_visionfive2.dtb" # DTB file for booting DTB_VISIONFIVE2 = "jh7110-visionfive-v2.dtb" DTB_FILES = "starfive/${DTB_VISIONFIVE2}" diff --git a/meta-isar/recipes-bsp/opensbi/files/starfive-visionfive2-rules b/meta-isar/recipes-bsp/opensbi/files/starfive-visionfive2-rules new file mode 100644 index 00000000..452ff356 --- /dev/null +++ b/meta-isar/recipes-bsp/opensbi/files/starfive-visionfive2-rules @@ -0,0 +1,12 @@ +#!/usr/bin/make -f + +ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) +export CROSS_COMPILE=$(DEB_HOST_GNU_TYPE)- +endif + +override_dh_auto_build: + CFLAGS= LDFLAGS= $(MAKE) $(PARALLEL_MAKE) \ + PLATFORM=generic FW_TEXT_START=0x40000000 FW_OPTIONS=0 + +%: + dh $@ diff --git a/meta-isar/recipes-bsp/opensbi/files/starfive-visionfive2-rules.tmpl b/meta-isar/recipes-bsp/opensbi/files/starfive-visionfive2-rules.tmpl deleted file mode 100644 index 5f35c1c2..00000000 --- a/meta-isar/recipes-bsp/opensbi/files/starfive-visionfive2-rules.tmpl +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/make -f - -ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) -export CROSS_COMPILE=$(DEB_HOST_GNU_TYPE)- -endif - -UBOOT_DTB_FILE := /usr/share/u-boot/starfive-visionfive2/${DTB_UBOOT_JH7110_VF2} -FW_TEXT_START := 0x40000000 - -override_dh_auto_build: - CFLAGS= LDFLAGS= $(MAKE) $(PARALLEL_MAKE) PLATFORM=generic \ - FW_PAYLOAD_PATH=/usr/lib/u-boot/starfive-visionfive2/u-boot.bin \ - FW_FDT_PATH=$(UBOOT_DTB_FILE) \ - FW_TEXT_START=$(FW_TEXT_START) - -%: - dh $@ diff --git a/meta-isar/recipes-bsp/opensbi/opensbi-starfive-visionfive2_1.2+20230310.bb b/meta-isar/recipes-bsp/opensbi/opensbi-starfive-visionfive2_1.2+20230310.bb index f6d6905a..afbba0f3 100644 --- a/meta-isar/recipes-bsp/opensbi/opensbi-starfive-visionfive2_1.2+20230310.bb +++ b/meta-isar/recipes-bsp/opensbi/opensbi-starfive-visionfive2_1.2+20230310.bb @@ -9,25 +9,18 @@ DESCRIPTION = "OpenSBI firmware for StarFive VisionFive 2" SRC_URI = " \ git://github.com/riscv-software-src/opensbi.git;destsuffix=opensbi-${PV};protocol=https;branch=master \ - file://starfive-visionfive2-rules.tmpl" + file://starfive-visionfive2-rules" # required patches are not yet part of a release, but will be in 1.3 SRCREV = "2868f26131308ff345382084681ea89c5b0159f1" S = "${WORKDIR}/opensbi-${PV}" -TEMPLATE_FILES += "starfive-visionfive2-rules.tmpl" -TEMPLATE_VARS += "DTB_UBOOT_JH7110_VF2" - -DEPENDS = "u-boot-starfive-visionfive2" -DEBIAN_BUILD_DEPENDS = " \ - u-boot-starfive-visionfive2, \ - u-boot-starfive-visionfive2-dev" do_prepare_build[cleandirs] += "${S}/debian" do_prepare_build() { cp ${WORKDIR}/starfive-visionfive2-rules ${WORKDIR}/rules deb_debianize - echo "build/platform/generic/firmware/fw_payload.bin /usr/lib/opensbi/starfive-visionfive2/" > ${S}/debian/install + echo "build/platform/generic/firmware/fw_dynamic.bin /usr/lib/opensbi/starfive-visionfive2/" > ${S}/debian/install } COMPATIBLE_MACHINE = "starfive-visionfive2" diff --git a/meta-isar/recipes-bsp/u-boot/files/starfive-visionfive2-rules.tmpl b/meta-isar/recipes-bsp/u-boot/files/starfive-visionfive2-rules.tmpl new file mode 100755 index 00000000..01bb9156 --- /dev/null +++ b/meta-isar/recipes-bsp/u-boot/files/starfive-visionfive2-rules.tmpl @@ -0,0 +1,35 @@ +#!/usr/bin/make -f + +# Debian rules for custom U-Boot build +# +# This software is a part of ISAR. +# Copyright (c) Siemens AG, 2018-2021 +# +# SPDX-License-Identifier: MIT + +ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) +export CROSS_COMPILE=$(DEB_HOST_GNU_TYPE)- +SET_CROSS_BUILD_TOOLS=CROSS_BUILD_TOOLS=y +endif + +override_dh_auto_build: + $(MAKE) $(PARALLEL_MAKE) ${U_BOOT_CONFIG} + $(MAKE) $(PARALLEL_MAKE) flash.bin OPENSBI=/usr/lib/opensbi/starfive-visionfive2/fw_dynamic.bin + spl_tool -c -f spl/u-boot-spl.bin + $(MAKE) -n u-boot-initial-env >/dev/null 2>&1; if [ $$? -ne 2 ]; then \ + $(MAKE) $(PARALLEL_MAKE) u-boot-initial-env; \ + else \ + ./scripts/get_default_envs.sh >u-boot-initial-env; \ + fi + $(MAKE) $(PARALLEL_MAKE) $(SET_CROSS_BUILD_TOOLS) NO_SDL=1 tools-only envtools + +override_dh_auto_install: + mv tools/env/lib.a tools/env/libubootenv.a + +override_dh_auto_test: + +override_dh_strip: + dh_strip -X libubootenv.a + +%: + dh $@ --parallel diff --git a/meta-isar/recipes-bsp/u-boot/u-boot-starfive-visionfive2_2021.10+VF2-3.0.4.bb b/meta-isar/recipes-bsp/u-boot/u-boot-starfive-visionfive2_2021.10+VF2-3.0.4.bb deleted file mode 100644 index 9e1b7251..00000000 --- a/meta-isar/recipes-bsp/u-boot/u-boot-starfive-visionfive2_2021.10+VF2-3.0.4.bb +++ /dev/null @@ -1,31 +0,0 @@ -# -# Copyright (c) Siemens AG, 2023 -# -# SPDX-License-Identifier: MIT - -require recipes-bsp/u-boot/u-boot-custom.inc - -SRC_URI += "git://github.com/starfive-tech/u-boot.git;nobranch=1;protocol=https;destsuffix=u-boot-${PV}" -SRCREV = "b6e2b0e85c774a18ae668223a6e5f7d335895243" - -DEBIAN_BUILD_DEPENDS .= ", libssl-dev, libssl-dev:native" - -U_BOOT_CONFIG = "starfive_visionfive2_defconfig" -U_BOOT_BIN = "u-boot.bin" -U_BOOT_SPL_BIN = "spl/u-boot-spl.bin" - -S = "${WORKDIR}/u-boot-${PV}" - -# install dtb files for opensbi -do_prepare_build[cleandirs] += "${S}/debian" -do_prepare_build:append() { - # also build and install spl component - sed -i 's|${U_BOOT_BIN}|${U_BOOT_BIN} ${U_BOOT_SPL_BIN}|g' ${S}/debian/rules - echo "${U_BOOT_SPL_BIN} usr/lib/u-boot/${MACHINE}/" \ - >> ${S}/debian/u-boot-${MACHINE}.install - # install device tree - echo "arch/riscv/dts/*.dtb usr/share/u-boot/${MACHINE}/" \ - >> ${S}/debian/u-boot-${MACHINE}-dev.install -} - -COMPATIBLE_MACHINE = "starfive-visionfive2" diff --git a/meta-isar/recipes-bsp/u-boot/u-boot-starfive-visionfive2_2023.10.bb b/meta-isar/recipes-bsp/u-boot/u-boot-starfive-visionfive2_2023.10.bb new file mode 100644 index 00000000..5428080a --- /dev/null +++ b/meta-isar/recipes-bsp/u-boot/u-boot-starfive-visionfive2_2023.10.bb @@ -0,0 +1,29 @@ +# +# Copyright (c) Siemens AG, 2023 +# +# SPDX-License-Identifier: MIT + +require recipes-bsp/u-boot/u-boot-custom.inc + +COMPATIBLE_MACHINE = "starfive-visionfive2" + +SRC_URI += "https://ftp.denx.de/pub/u-boot/u-boot-${PV}.tar.bz2 \ + file://starfive-visionfive2-rules.tmpl" +SRC_URI[sha256sum] = "e00e6c6f014e046101739d08d06f328811cebcf5ae101348f409cbbd55ce6900" + +DEPENDS += "opensbi-starfive-visionfive2 jh7110-u-boot-spl-tool-native" +DEBIAN_BUILD_DEPENDS .= ", opensbi-starfive-visionfive2, \ + jh7110-u-boot-spl-tool:native, \ + swig, python3-dev:native, python3-setuptools, \ + libssl-dev:${DISTRO_ARCH}, libssl-dev:native" + +U_BOOT_CONFIG = "starfive_visionfive2_defconfig" +U_BOOT_BIN = "u-boot.itb spl/u-boot-spl.bin.normal.out" + +TEMPLATE_FILES += "starfive-visionfive2-rules.tmpl" + +S = "${WORKDIR}/u-boot-${PV}" + +do_prepare_build:append() { + cp ${WORKDIR}/starfive-visionfive2-rules ${S}/debian/rules +} diff --git a/meta-isar/scripts/lib/wic/canned-wks/starfive-visionfive2.wks.in b/meta-isar/scripts/lib/wic/canned-wks/starfive-visionfive2.wks.in index 99156f81..ed8a3b71 100644 --- a/meta-isar/scripts/lib/wic/canned-wks/starfive-visionfive2.wks.in +++ b/meta-isar/scripts/lib/wic/canned-wks/starfive-visionfive2.wks.in @@ -12,9 +12,9 @@ # This is required to boot efi with the correct device tree, which is included in the fit image. # SPL -part --source rawcopy --sourceparams "file=/usr/share/jh7110-uboot-spl-image/u-boot-spl.bin.normal.out" --ondisk mmcblk1 --fixed-size 2M --offset 2M --part-type 2E54B353-1271-4842-806F-E436D6AF6985 +part --source rawcopy --sourceparams "file=/usr/lib/u-boot/starfive-visionfive2/u-boot-spl.bin.normal.out" --fixed-size 2M --part-type 2E54B353-1271-4842-806F-E436D6AF6985 # U-Boot FIT -part --source rawcopy --sourceparams "file=/usr/share/visionfive2-u-boot-firmware/visionfive2_fw_payload.img" --ondisk mmcblk1 --fixed-size 4M --offset 4M --part-type 5B193300-FC78-40CD-8002-E86C45580B47 +part --source rawcopy --sourceparams "file=/usr/lib/u-boot/starfive-visionfive2/u-boot.itb" --fixed-size 4M --part-type BC13C2FF-59E6-4262-A352-B275FD6F7172 # EFI part /boot --source bootimg-efi-isar --sourceparams "loader=systemd-boot,dtb=${DTB_VISIONFIVE2}" --use-uuid --label efi --part-type EF00 --align 1024 # rootfs -- 2.35.3