From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Mon, 27 May 2024 18:15:55 +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 1sBd0t-000ib0-00 for lore@lore.pengutronix.de; Mon, 27 May 2024 18:15:55 +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 1sBd0s-00031d-CG; Mon, 27 May 2024 18:15:54 +0200 Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1sBd0q-00031L-Dq for distrokit@pengutronix.de; Mon, 27 May 2024 18:15:52 +0200 Received: from [2a0a:edc0:2:b01:1d::c5] (helo=pty.whiteo.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sBd0q-003DJg-1c for distrokit@pengutronix.de; Mon, 27 May 2024 18:15:52 +0200 Received: from rsc by pty.whiteo.stw.pengutronix.de with local (Exim 4.96) (envelope-from ) id 1sBd0p-00HAAl-39 for distrokit@pengutronix.de; Mon, 27 May 2024 18:15:51 +0200 Date: Mon, 27 May 2024 18:15:51 +0200 From: Robert Schwebel To: distrokit@pengutronix.de Message-ID: References: <20240425080303.171897-1-ada@thorsis.com> <20240425080303.171897-7-ada@thorsis.com> <20240425-unlivable-approval-c55177db2d5c@thorsis.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20240425-unlivable-approval-c55177db2d5c@thorsis.com> X-Sent-From: Pengutronix Hildesheim X-URL: http://www.pengutronix.de/ X-Accept-Language: de,en X-Accept-Content-Type: text/plain 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 On Thu, Apr 25, 2024 at 02:33:57PM +0200, Alexander Dahl wrote: > 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? I'll drop this here. > > 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 > > > > > > -- Pengutronix e.K. | Dipl.-Ing. Robert Schwebel | Steuerwalder Str. 21 | https://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-9 |