From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Thu, 25 Apr 2024 14:34:16 +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 1rzyIp-00Gj48-2x for lore@lore.pengutronix.de; Thu, 25 Apr 2024 14:34:15 +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 1rzyIp-00026O-Dg; Thu, 25 Apr 2024 14:34:15 +0200 Received: from mail.thorsis.com ([2003:a:e28:26e4::10]) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1rzyIh-000239-Pv for distrokit@pengutronix.de; Thu, 25 Apr 2024 14:34:08 +0200 Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 668021487551 for ; Thu, 25 Apr 2024 14:34:06 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=thorsis.com; s=dkim; t=1714048446; h=from:subject:date:message-id:to:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=+L4k+6dC2DRTJgchsuYdmwzy0JfwMAZF8qy1G2qGZx4=; b=iOFuF9l+SiotwYQVUiG1E9BCanNQUU0hJu2CZ0sRFgv6nkYcfnitJ0EKKSiC4N+KY5PHI5 ElSk3aKHUBNaxFZ2OPeRP1sxHTogSrp9j/aHJWxaYHn86+lSS05PB3xZJnyUG2LuEBhwvH 7a15plFRh6R8Qj0uoklVD6hC4C+w25EB8BTDnKr9jUr/tGUOfI+GLQFWeP8p00xK+W8dMj y2UEkw0DSQ3irTOBE29IDt4tcXyQP5PlRU1Xsxi5QiU5hb2VA/OY82rqlBRAw0lfd7E2Ck KK/v7l7mctHBn7C2KLr1xV+BiJORGgjAFO8/OtABU3BcIYt1EAmrsH9fFeATZg== Date: Thu, 25 Apr 2024 14:33:57 +0200 From: Alexander Dahl To: distrokit@pengutronix.de Message-ID: <20240425-unlivable-approval-c55177db2d5c@thorsis.com> Mail-Followup-To: distrokit@pengutronix.de References: <20240425080303.171897-1-ada@thorsis.com> <20240425080303.171897-7-ada@thorsis.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20240425080303.171897-7-ada@thorsis.com> User-Agent: Mutt/2.2.12 (2023-09-09) 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.9 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: Re: [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 Hei hei, Am Thu, Apr 25, 2024 at 10:02:59AM +0200 schrieb Alexander Dahl: > 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 After speaking about this in IRC … I think defining a dependency from barebox to tf-a here is in the wrong place. I mean this is the firmware-imx package. This dependency should go to something like platforms/barebox.tf-a.in right? Greets Alex > 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 > >