From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Thu, 25 Apr 2024 10:03:18 +0200 Received: from metis.whiteo.stw.pengutronix.de ([2a0a:edc0:2:b01:1d::104]) by lore.white.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1rzu4c-00GKDZ-06 for lore@lore.pengutronix.de; Thu, 25 Apr 2024 10:03:18 +0200 Received: from localhost ([127.0.0.1] helo=metis.whiteo.stw.pengutronix.de) by metis.whiteo.stw.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1rzu4a-0001Ga-UQ; Thu, 25 Apr 2024 10:03:16 +0200 Received: from mail.thorsis.com ([217.92.40.78]) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1rzu4V-00018Q-MV for distrokit@pengutronix.de; Thu, 25 Apr 2024 10:03:13 +0200 Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 8C472148DA0B for ; Thu, 25 Apr 2024 10:03:10 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=thorsis.com; s=dkim; t=1714032190; h=from:subject:date:message-id:to:mime-version: content-transfer-encoding:in-reply-to:references; bh=xaXeNMaA9Xgg3GQlaM61ruNwgOemajMcA9anjZTGs6c=; b=Qa4jJFylNNEARON1hhd6wxcAisxi3I8M0L8e11Q7rzHbi0t2pHk+17FF2WIsmro0PU/KNr EIfZGi88h73J6l6MvjFgIvLIoB8/fnBMNv3O9vUjxeKeiP6pul6ZOVcJCmbaZJ5Is25wB5 UdxD0rlpaHH6Zg9sZ98PoyYdIeL4Ga4f7/C8L65pYdn6+iNcVguf3xn1NffmpnMau8dwAP oee0vsWL9ZLxjFfs0iy8otKelLdRHO8eSYs5BBJvA9YuPha/TMJFEiaM7KG938WtD9B/tJ HVaxGhb5Ryi2XLuIRsRjFhoLWmLKF+KanQ33djq+IbLiOpf9eYsuN60unyDQUA== From: Alexander Dahl To: distrokit@pengutronix.de Date: Thu, 25 Apr 2024 10:02:59 +0200 Message-Id: <20240425080303.171897-7-ada@thorsis.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240425080303.171897-1-ada@thorsis.com> References: <20240425080303.171897-1-ada@thorsis.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Last-TLS-Session-Version: TLSv1.3 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on metis.whiteo.stw.pengutronix.de X-Spam-Level: X-Spam-Status: No, score=-2.8 required=4.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Subject: [DistroKit] [PATCH 6/9] platform: v8a: firmware-imx: Move barebox injects to separate package X-BeenThere: distrokit@pengutronix.de X-Mailman-Version: 2.1.29 Precedence: list List-Id: DistroKit Mailinglist List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "DistroKit" X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: distrokit-bounces@pengutronix.de X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false This is what 'barebox_firmware' was invented for. Done to avoid cluttering the firmware-imx package even more. Before duplicating the firmware-imx package files in an upper layer and adding more such stuff for a different bootloader, we rather move this stuff to multiple barebox_firmware packages (which can also sit in other layers) and inject files from there. The same approach can then be followed by other bootloaders depending on firmware-imx package. This way we can depend on firmware-imx from one, the other, or both bootloaders, respectively their firmware packages, without the need to touch the firmware-imx package itself. Approach inspired by the patch series which introduced that infrastructure in ptxdist. Link: https://lore.ptxdist.org/ptxdist/20220129070330.2601433-6-michael.riesch@wolfvision.net/ Signed-off-by: Alexander Dahl --- configs/platform-v8a/platformconfig | 1 + configs/platform-v8a/platforms/barebox.imx.in | 12 +++++++++ .../platform-v8a/platforms/firmware-imx.in | 2 -- configs/platform-v8a/rules/barebox.imx.make | 26 +++++++++++++++++++ configs/platform-v8a/rules/firmware-imx.make | 20 -------------- 5 files changed, 39 insertions(+), 22 deletions(-) create mode 100644 configs/platform-v8a/platforms/barebox.imx.in create mode 100644 configs/platform-v8a/rules/barebox.imx.make diff --git a/configs/platform-v8a/platformconfig b/configs/platform-v8a/platformconfig index 65c767a..ba33191 100644 --- a/configs/platform-v8a/platformconfig +++ b/configs/platform-v8a/platformconfig @@ -183,6 +183,7 @@ PTXCONF_BAREBOX_BUILDSYSTEM_VERSION="${PTXDIST_VCS_VERSION}" PTXCONF_BAREBOX_MD5="dcb443c48b64662b52974502c502427e" PTXCONF_BAREBOX_CONFIG="barebox.config" PTXCONF_BAREBOX_FIRMWARE=y +PTXCONF_BAREBOX_NEEDS_FIRMWARE_IMX=y PTXCONF_BAREBOX_EXTRA_ENV=y PTXCONF_BAREBOX_EXTRA_ENV_PATH="barebox-common-defaultenv" # PTXCONF_BAREBOX_BAREBOXENV is not set diff --git a/configs/platform-v8a/platforms/barebox.imx.in b/configs/platform-v8a/platforms/barebox.imx.in new file mode 100644 index 0000000..971fc9b --- /dev/null +++ b/configs/platform-v8a/platforms/barebox.imx.in @@ -0,0 +1,12 @@ +## SECTION=barebox_firmware + +config BAREBOX_NEEDS_FIRMWARE_IMX + bool + prompt "barebox needs firmware-imx" + help + Select this if barebox needs the non-free IMX firmware blobs. + +config BAREBOX_DEPENDENCIES + tristate + select FIRMWARE_IMX if BAREBOX_NEEDS_FIRMWARE_IMX + select FIRMWARE_IMX_BOOTIMAGE_IMX8 if BAREBOX_NEEDS_FIRMWARE_IMX diff --git a/configs/platform-v8a/platforms/firmware-imx.in b/configs/platform-v8a/platforms/firmware-imx.in index c93e9f8..a08afbe 100644 --- a/configs/platform-v8a/platforms/firmware-imx.in +++ b/configs/platform-v8a/platforms/firmware-imx.in @@ -56,6 +56,4 @@ endif config BAREBOX_DEPENDENCIES tristate - select FIRMWARE_IMX - select FIRMWARE_IMX_BOOTIMAGE_IMX8 select TF_A diff --git a/configs/platform-v8a/rules/barebox.imx.make b/configs/platform-v8a/rules/barebox.imx.make new file mode 100644 index 0000000..4c6404c --- /dev/null +++ b/configs/platform-v8a/rules/barebox.imx.make @@ -0,0 +1,26 @@ +# -*-makefile-*- +# +# Copyright (C) 2024 by Alexander Dahl +# +# For further information about the PTXdist project and license conditions +# see the README file. +# + +ifdef PTXCONF_FIRMWARE_IMX +BAREBOX_INJECT_FILES += imx8mm-bl31.bin:firmware/imx8mm-bl31.bin +BAREBOX_INJECT_FILES += imx8mn-bl31.bin:firmware/imx8mn-bl31.bin +BAREBOX_INJECT_FILES += imx8mp-bl31.bin:firmware/imx8mp-bl31.bin +BAREBOX_INJECT_FILES += imx8mq-bl31.bin:firmware/imx8mq-bl31.bin +ifdef PTXCONF_FIRMWARE_IMX_BOOTIMAGE_IMX8 +BAREBOX_INJECT_FILES += ddr/synopsys/lpddr4_pmu_train_1d_dmem.bin:firmware/lpddr4_pmu_train_1d_dmem.bin +BAREBOX_INJECT_FILES += ddr/synopsys/lpddr4_pmu_train_1d_imem.bin:firmware/lpddr4_pmu_train_1d_imem.bin +BAREBOX_INJECT_FILES += ddr/synopsys/lpddr4_pmu_train_2d_dmem.bin:firmware/lpddr4_pmu_train_2d_dmem.bin +BAREBOX_INJECT_FILES += ddr/synopsys/lpddr4_pmu_train_2d_imem.bin:firmware/lpddr4_pmu_train_2d_imem.bin +BAREBOX_INJECT_FILES += ddr/synopsys/ddr4_dmem_1d.bin:firmware/ddr4_dmem_1d.bin +BAREBOX_INJECT_FILES += ddr/synopsys/ddr4_dmem_2d.bin:firmware/ddr4_dmem_2d.bin +BAREBOX_INJECT_FILES += ddr/synopsys/ddr4_imem_1d.bin:firmware/ddr4_imem_1d.bin +BAREBOX_INJECT_FILES += ddr/synopsys/ddr4_imem_2d.bin:firmware/ddr4_imem_2d.bin +endif +endif + +# vim: syntax=make diff --git a/configs/platform-v8a/rules/firmware-imx.make b/configs/platform-v8a/rules/firmware-imx.make index 1cdc3ee..906691c 100644 --- a/configs/platform-v8a/rules/firmware-imx.make +++ b/configs/platform-v8a/rules/firmware-imx.make @@ -26,26 +26,6 @@ FIRMWARE_IMX_LICENSE := NXP-Software-License-Agreement FIRMWARE_IMX_LICENSE_FILES := \ file://COPYING;md5=44a8052c384584ba09077e85a3d1654f -# -# Firmware blobs for barebox -# -ifdef PTXCONF_FIRMWARE_IMX -BAREBOX_INJECT_FILES += imx8mm-bl31.bin:firmware/imx8mm-bl31.bin -BAREBOX_INJECT_FILES += imx8mn-bl31.bin:firmware/imx8mn-bl31.bin -BAREBOX_INJECT_FILES += imx8mp-bl31.bin:firmware/imx8mp-bl31.bin -BAREBOX_INJECT_FILES += imx8mq-bl31.bin:firmware/imx8mq-bl31.bin -ifdef PTXCONF_FIRMWARE_IMX_BOOTIMAGE_IMX8 -BAREBOX_INJECT_FILES += ddr/synopsys/lpddr4_pmu_train_1d_dmem.bin:firmware/lpddr4_pmu_train_1d_dmem.bin -BAREBOX_INJECT_FILES += ddr/synopsys/lpddr4_pmu_train_1d_imem.bin:firmware/lpddr4_pmu_train_1d_imem.bin -BAREBOX_INJECT_FILES += ddr/synopsys/lpddr4_pmu_train_2d_dmem.bin:firmware/lpddr4_pmu_train_2d_dmem.bin -BAREBOX_INJECT_FILES += ddr/synopsys/lpddr4_pmu_train_2d_imem.bin:firmware/lpddr4_pmu_train_2d_imem.bin -BAREBOX_INJECT_FILES += ddr/synopsys/ddr4_dmem_1d.bin:firmware/ddr4_dmem_1d.bin -BAREBOX_INJECT_FILES += ddr/synopsys/ddr4_dmem_2d.bin:firmware/ddr4_dmem_2d.bin -BAREBOX_INJECT_FILES += ddr/synopsys/ddr4_imem_1d.bin:firmware/ddr4_imem_1d.bin -BAREBOX_INJECT_FILES += ddr/synopsys/ddr4_imem_2d.bin:firmware/ddr4_imem_2d.bin -endif -endif - # ---------------------------------------------------------------------------- # Extract # ---------------------------------------------------------------------------- -- 2.39.2