DistroKit Mailinglist
 help / color / mirror / Atom feed
* [DistroKit] [PATCH 0/9] platform: v8a: firmware: Rework for upper layers with different boards
@ 2024-04-25  8:02 Alexander Dahl
  2024-04-25  8:02 ` [DistroKit] [PATCH 1/9] platform: v8a: firmware-imx: Fix dependencies Alexander Dahl
                   ` (9 more replies)
  0 siblings, 10 replies; 24+ messages in thread
From: Alexander Dahl @ 2024-04-25  8:02 UTC (permalink / raw)
  To: distrokit

Using DistroKit as a base layer people (like me) use other bootloaders
than barebox, but require the same external firmware blobs for modern
ARM boards.

This series collects changes to the firmware packages for i.MX
platforms, made to successfully build U-Boot for Ka-Ro QSXP-ML81 (i.MX8)
and Ka-Ro QS93-5210 (i.MX93).  The series also has some additional
cleanup of the firmware-rockchip package for uniformity.

Due to lack of hardware I did not test on any v8a board supported by
DistroKit mainline, so please test carefully.

Note: the necessary changes to the U-Boot package are not part of this
series, but the extension for ptxdist to inject firmware blobs into
other directories than the source tree was sent to ptxdist mailinglist
already.

Bonus question: why do those firmware packages reside in DistroKit, and
are not part of ptxdist?

Greets
Alex

Link: https://lore.ptxdist.org/ptxdist/20240424143109.277373-1-ada@thorsis.com/T/#t

Alexander Dahl (9):
  platform: v8a: firmware-imx: Fix dependencies
  platform: v8a: firmware-imx: Rework extract, install, and
    targetinstall
  platform: v8a: firmware-imx: Version bump 8.8 -> 8.23
  platform: v8a: firmware-imx: Install more files for U-Boot
  platform: v8a: firmware-imx: Install more files for i.MX93
  platform: v8a: firmware-imx: Move barebox injects to separate package
  platform: v8a: firmware-rockchip: Move barebox injects to separate
    package
  platform: v8a: barebox: Remove extra host prog
  platform: v8a: firmware-sentinel: Add new package

 configs/platform-v8a/platformconfig           |   4 +
 configs/platform-v8a/platforms/barebox.imx.in |  12 ++
 .../platforms/barebox.rockchip.in             |  14 +++
 .../platform-v8a/platforms/firmware-imx.in    |   9 +-
 .../platforms/firmware-rockchip.in            |   5 -
 .../platforms/firmware-sentinel.in            |   5 +
 configs/platform-v8a/rules/barebox.imx.make   |  26 ++++
 .../platform-v8a/rules/barebox.rockchip.make  |  21 +++-
 configs/platform-v8a/rules/firmware-imx.make  | 117 ++++++++++--------
 .../platform-v8a/rules/firmware-rockchip.make |  10 --
 .../platform-v8a/rules/firmware-sentinel.make |  69 +++++++++++
 11 files changed, 223 insertions(+), 69 deletions(-)
 create mode 100644 configs/platform-v8a/platforms/barebox.imx.in
 create mode 100644 configs/platform-v8a/platforms/barebox.rockchip.in
 create mode 100644 configs/platform-v8a/platforms/firmware-sentinel.in
 create mode 100644 configs/platform-v8a/rules/barebox.imx.make
 create mode 100644 configs/platform-v8a/rules/firmware-sentinel.make


base-commit: 3e11c53d98c0bd3283b0adc4489ffb45f7c8c68f
-- 
2.39.2




^ permalink raw reply	[flat|nested] 24+ messages in thread

* [DistroKit] [PATCH 1/9] platform: v8a: firmware-imx: Fix dependencies
  2024-04-25  8:02 [DistroKit] [PATCH 0/9] platform: v8a: firmware: Rework for upper layers with different boards Alexander Dahl
@ 2024-04-25  8:02 ` Alexander Dahl
  2024-05-27 16:13   ` Robert Schwebel
  2024-04-25  8:02 ` [DistroKit] [PATCH 2/9] platform: v8a: firmware-imx: Rework extract, install, and targetinstall Alexander Dahl
                   ` (8 subsequent siblings)
  9 siblings, 1 reply; 24+ messages in thread
From: Alexander Dahl @ 2024-04-25  8:02 UTC (permalink / raw)
  To: distrokit

This dependency was fixed already with commit cb9e16dd1aa0 ("v8a:
barebox-imx8m: fix firmware-imx dependencies") but after commit
7a176f41a826 ("v8a: barebox: switch to upstream rule") and 8e9db9c88725
("v8a: barebox: remove left-over SoC-specific rules") the file carrying
the dependency is gone.  So now if FIRMWARE_IMX_BOOTIMAGE_IMX8 was
disabled barebox.prepare failed like this:

    -----------------------
    target: barebox.prepare
    -----------------------

    Inject file DistroKit/platform-v8a/sysroot-target/usr/lib/firmware/imx8mm-bl31.bin into DistroKit/platform-v8a/build-target/barebox-2024.03.0/firmware/imx8mm-bl31.bin...

    Inject file DistroKit/platform-v8a/sysroot-target/usr/lib/firmware/imx8mn-bl31.bin into DistroKit/platform-v8a/build-target/barebox-2024.03.0/firmware/imx8mn-bl31.bin...

    Inject file DistroKit/platform-v8a/sysroot-target/usr/lib/firmware/imx8mp-bl31.bin into DistroKit/platform-v8a/build-target/barebox-2024.03.0/firmware/imx8mp-bl31.bin...

    Inject file DistroKit/platform-v8a/sysroot-target/usr/lib/firmware/imx8mq-bl31.bin into DistroKit/platform-v8a/build-target/barebox-2024.03.0/firmware/imx8mq-bl31.bin...

    ptxdist: error: Blob 'ddr/synopsys/lpddr4_pmu_train_1d_dmem.bin' not found in '/mnt/data/adahl/src/DistroKit/platform-v8a/sysroot-target/usr/lib/firmware'.

    make: *** [/usr/local/lib/ptxdist-2024.03.0/rules/barebox.make:83: /mnt/data/adahl/src/DistroKit/platform-v8a/state/barebox.prepare] Error 1

Signed-off-by: Alexander Dahl <ada@thorsis.com>
---
 configs/platform-v8a/platforms/firmware-imx.in | 1 +
 configs/platform-v8a/rules/firmware-imx.make   | 2 ++
 2 files changed, 3 insertions(+)

diff --git a/configs/platform-v8a/platforms/firmware-imx.in b/configs/platform-v8a/platforms/firmware-imx.in
index 19d89ac..fc89001 100644
--- a/configs/platform-v8a/platforms/firmware-imx.in
+++ b/configs/platform-v8a/platforms/firmware-imx.in
@@ -50,5 +50,6 @@ endif
 config BAREBOX_DEPENDENCIES
 	tristate
 	select FIRMWARE_IMX
+	select FIRMWARE_IMX_BOOTIMAGE_IMX8
 	select TF_A
 
diff --git a/configs/platform-v8a/rules/firmware-imx.make b/configs/platform-v8a/rules/firmware-imx.make
index bd49885..b640db6 100644
--- a/configs/platform-v8a/rules/firmware-imx.make
+++ b/configs/platform-v8a/rules/firmware-imx.make
@@ -33,6 +33,7 @@ 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
@@ -42,6 +43,7 @@ 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




^ permalink raw reply	[flat|nested] 24+ messages in thread

* [DistroKit] [PATCH 2/9] platform: v8a: firmware-imx: Rework extract, install, and targetinstall
  2024-04-25  8:02 [DistroKit] [PATCH 0/9] platform: v8a: firmware: Rework for upper layers with different boards Alexander Dahl
  2024-04-25  8:02 ` [DistroKit] [PATCH 1/9] platform: v8a: firmware-imx: Fix dependencies Alexander Dahl
@ 2024-04-25  8:02 ` Alexander Dahl
  2024-05-27 16:13   ` Robert Schwebel
  2024-04-25  8:02 ` [DistroKit] [PATCH 3/9] platform: v8a: firmware-imx: Version bump 8.8 -> 8.23 Alexander Dahl
                   ` (7 subsequent siblings)
  9 siblings, 1 reply; 24+ messages in thread
From: Alexander Dahl @ 2024-04-25  8:02 UTC (permalink / raw)
  To: distrokit

Usually in ptxdist stages work like this: in extract stage files are put
into BUILDDIR.  From there `make install` or something similar in
install stage copies build artifacts to PKGDIR.  The install.post stage
copies everything from PKDIR to SYSROOT_TARGET.  Finally targetinstall
stage uses the files from PKGDIR to populate root.

Here everything was extracted to PKGDIR.  Some files where manually
copied from PKGDIR to $(SYSROOT_TARGET)/usr/lib/firmware, before
install.post copied those files again to $(SYSROOT_TARGET)/firmware …

Now the usual cycle as described above is followed, hopefully leading to
much less confusion, and avoiding duplicate files in sysroot-target.

This gives us predictable paths in SYSROOT_TARGET and allows to use
files in $(SYSROOT_TARGET) to be used by other packages like U-Boot by
directly pointing at them, or pointing to the folder they are in (most
likely '$(SYSROOT_TARGET)/usr/lib/firmware').

(barebox does not point at those files, but copies them to its own
sourcedir through the inject mechanism.)

Signed-off-by: Alexander Dahl <ada@thorsis.com>
---
 configs/platform-v8a/rules/firmware-imx.make | 81 +++++++++++++-------
 1 file changed, 52 insertions(+), 29 deletions(-)

diff --git a/configs/platform-v8a/rules/firmware-imx.make b/configs/platform-v8a/rules/firmware-imx.make
index b640db6..57a10c3 100644
--- a/configs/platform-v8a/rules/firmware-imx.make
+++ b/configs/platform-v8a/rules/firmware-imx.make
@@ -20,10 +20,11 @@ FIRMWARE_IMX_SKIP	:= 38918
 FIRMWARE_IMX		:= firmware-imx-$(FIRMWARE_IMX_VERSION)
 FIRMWARE_IMX_SUFFIX	:= bin
 FIRMWARE_IMX_URL	:= http://www.nxp.com/lgfiles/NMG/MAD/YOCTO/$(FIRMWARE_IMX).$(FIRMWARE_IMX_SUFFIX)
+FIRMWARE_IMX_SOURCE	:= $(SRCDIR)/$(FIRMWARE_IMX).$(FIRMWARE_IMX_SUFFIX)
+FIRMWARE_IMX_DIR	:= $(BUILDDIR)/$(FIRMWARE_IMX)
 FIRMWARE_IMX_LICENSE	:= NXP-Software-License-Agreement
 FIRMWARE_IMX_LICENSE_FILES := \
-	file://$(FIRMWARE_IMX_PKGDIR)/COPYING;md5=228c72f2a91452b8a03c4cab30f30ef9
-FIRMWARE_IMX_SOURCE	:= $(SRCDIR)/$(FIRMWARE_IMX).$(FIRMWARE_IMX_SUFFIX)
+	file://COPYING;md5=228c72f2a91452b8a03c4cab30f30ef9
 
 #
 # Firmware blobs for barebox
@@ -51,38 +52,31 @@ endif
 
 $(STATEDIR)/firmware-imx.extract:
 	@$(call targetinfo)
-	@mkdir -p "$(PKGDIR)"
-	@dd if=$(FIRMWARE_IMX_SOURCE) bs=$(FIRMWARE_IMX_SKIP) skip=1 | tar xj -C $(PKGDIR)
+	@$(call clean, $(FIRMWARE_IMX_DIR))
+	@mkdir -p "$(FIRMWARE_IMX_DIR)"
+	@dd if="$(FIRMWARE_IMX_SOURCE)" bs=$(FIRMWARE_IMX_SKIP) skip=1 \
+		| tar -xj --strip-components=2 -C "$(FIRMWARE_IMX_DIR)"
+	@$(call patchin, FIRMWARE_IMX)
+	@$(call touch)
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+FIRMWARE_IMX_CONF_TOOL	:= NO
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/firmware-imx.compile:
+	@$(call targetinfo)
 	@$(call touch)
 
 # ----------------------------------------------------------------------------
 # Install
 # ----------------------------------------------------------------------------
 
-$(STATEDIR)/firmware-imx.install:
-	@$(call targetinfo)
-
-ifdef PTXCONF_FIRMWARE_IMX_BOOTIMAGE_IMX8
-	@$(foreach f, lpddr4_pmu_train_1d_dmem.bin lpddr4_pmu_train_1d_imem.bin \
-	              lpddr4_pmu_train_2d_dmem.bin lpddr4_pmu_train_2d_imem.bin, \
-		install -v -D -m644 $(FIRMWARE_IMX_PKGDIR)/firmware/ddr/synopsys/$(f) \
-		$(PTXCONF_SYSROOT_TARGET)/usr/lib/firmware/ddr/synopsys/$(f)$(ptx/nl))
-
-	@$(foreach f, ddr4_dmem_1d.bin ddr4_dmem_2d.bin \
-	              ddr4_imem_1d.bin ddr4_imem_2d.bin, \
-		install -v -D -m644 $(FIRMWARE_IMX_PKGDIR)/firmware/ddr/synopsys/$(f) \
-		$(PTXCONF_SYSROOT_TARGET)/usr/lib/firmware/ddr/synopsys/$(f)$(ptx/nl))
-
-	@$(foreach f, signed_dp_imx8m.bin signed_hdmi_imx8m.bin, \
-		install -v -D -m644 $(FIRMWARE_IMX_PKGDIR)/firmware/hdmi/cadence/$(f) \
-		$(PTXCONF_SYSROOT_TARGET)/usr/lib/firmware/hdmi/cadence/$(f)$(ptx/nl))
-endif
-
-	@$(call touch)
-# ----------------------------------------------------------------------------
-# Target-Install
-# ----------------------------------------------------------------------------
-
 FIRMWARE_IMX_INSTALL-y					:=
 FIRMWARE_IMX_INSTALL-$(PTXCONF_FIRMWARE_IMX_VPU_IMX27)	+= vpu_fw_imx27_TO2.bin
 FIRMWARE_IMX_INSTALL-$(PTXCONF_FIRMWARE_IMX_VPU_IMX6Q)	+= vpu_fw_imx6q.bin
@@ -90,6 +84,35 @@ FIRMWARE_IMX_INSTALL-$(PTXCONF_FIRMWARE_IMX_VPU_IMX6DL)	+= vpu_fw_imx6d.bin
 FIRMWARE_IMX_INSTALL-$(PTXCONF_FIRMWARE_IMX_VPU_IMX53)	+= vpu_fw_imx53.bin
 FIRMWARE_IMX_INSTALL-$(PTXCONF_FIRMWARE_IMX_VPU_IMX51)	+= vpu_fw_imx51.bin
 
+$(STATEDIR)/firmware-imx.install:
+	@$(call targetinfo)
+
+	@$(foreach f,$(FIRMWARE_IMX_INSTALL-y), \
+		install -v -D -m644 $(FIRMWARE_IMX_DIR)/firmware/vpu/$(f) \
+		$(FIRMWARE_IMX_PKGDIR)/usr/lib/firmware/vpu/$(f)$(ptx/nl))
+
+ifdef PTXCONF_FIRMWARE_IMX_BOOTIMAGE_IMX8
+	@$(foreach f, lpddr4_pmu_train_1d_dmem.bin lpddr4_pmu_train_1d_imem.bin \
+	              lpddr4_pmu_train_2d_dmem.bin lpddr4_pmu_train_2d_imem.bin, \
+		install -v -D -m644 $(FIRMWARE_IMX_DIR)/firmware/ddr/synopsys/$(f) \
+		$(FIRMWARE_IMX_PKGDIR)/usr/lib/firmware/ddr/synopsys/$(f)$(ptx/nl))
+
+	@$(foreach f, ddr4_dmem_1d.bin ddr4_dmem_2d.bin \
+	              ddr4_imem_1d.bin ddr4_imem_2d.bin, \
+		install -v -D -m644 $(FIRMWARE_IMX_DIR)/firmware/ddr/synopsys/$(f) \
+		$(FIRMWARE_IMX_PKGDIR)/usr/lib/firmware/ddr/synopsys/$(f)$(ptx/nl))
+
+	@$(foreach f, signed_dp_imx8m.bin signed_hdmi_imx8m.bin, \
+		install -v -D -m644 $(FIRMWARE_IMX_DIR)/firmware/hdmi/cadence/$(f) \
+		$(FIRMWARE_IMX_PKGDIR)/usr/lib/firmware/hdmi/cadence/$(f)$(ptx/nl))
+endif
+
+	@$(call touch)
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
 $(STATEDIR)/firmware-imx.targetinstall:
 	@$(call targetinfo)
 
@@ -100,7 +123,7 @@ $(STATEDIR)/firmware-imx.targetinstall:
 	@$(call install_fixup, firmware-imx,DESCRIPTION,missing)
 	@$(foreach f,$(FIRMWARE_IMX_INSTALL-y), \
 		$(call install_copy, firmware-imx, 0, 0, 0644, \
-			$(FIRMWARE_IMX_PKGDIR)/firmware/vpu/$(f), \
+			$(FIRMWARE_IMX_PKGDIR)/usr/lib/firmware/vpu/$(f), \
 			/usr/lib/firmware/$(f))$(ptx/nl))
 	@$(call install_finish, firmware-imx)
 
-- 
2.39.2




^ permalink raw reply	[flat|nested] 24+ messages in thread

* [DistroKit] [PATCH 3/9] platform: v8a: firmware-imx: Version bump 8.8 -> 8.23
  2024-04-25  8:02 [DistroKit] [PATCH 0/9] platform: v8a: firmware: Rework for upper layers with different boards Alexander Dahl
  2024-04-25  8:02 ` [DistroKit] [PATCH 1/9] platform: v8a: firmware-imx: Fix dependencies Alexander Dahl
  2024-04-25  8:02 ` [DistroKit] [PATCH 2/9] platform: v8a: firmware-imx: Rework extract, install, and targetinstall Alexander Dahl
@ 2024-04-25  8:02 ` Alexander Dahl
  2024-05-27 16:13   ` Robert Schwebel
  2024-04-25  8:02 ` [DistroKit] [PATCH 4/9] platform: v8a: firmware-imx: Install more files for U-Boot Alexander Dahl
                   ` (6 subsequent siblings)
  9 siblings, 1 reply; 24+ messages in thread
From: Alexander Dahl @ 2024-04-25  8:02 UTC (permalink / raw)
  To: distrokit

Contains some new files required by U-Boot for certain boards (not
used/installed yet).

Checksums of firmware files in 'ddr/synopsys' are the same.
Files in 'hdmi/cadence' changed.

Signed-off-by: Alexander Dahl <ada@thorsis.com>
---
 configs/platform-v8a/rules/firmware-imx.make | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/configs/platform-v8a/rules/firmware-imx.make b/configs/platform-v8a/rules/firmware-imx.make
index 57a10c3..7c4801e 100644
--- a/configs/platform-v8a/rules/firmware-imx.make
+++ b/configs/platform-v8a/rules/firmware-imx.make
@@ -14,9 +14,9 @@ PACKAGES-$(PTXCONF_FIRMWARE_IMX) += firmware-imx
 #
 # Paths and names
 #
-FIRMWARE_IMX_VERSION	:= 8.8
-FIRMWARE_IMX_MD5	:= eabb27d28bba375a9f14d6306c07af5f
-FIRMWARE_IMX_SKIP	:= 38918
+FIRMWARE_IMX_VERSION	:= 8.23
+FIRMWARE_IMX_MD5	:= eb03efb3a8fb98d99ed1df88537e72f4
+FIRMWARE_IMX_SKIP	:= 48479
 FIRMWARE_IMX		:= firmware-imx-$(FIRMWARE_IMX_VERSION)
 FIRMWARE_IMX_SUFFIX	:= bin
 FIRMWARE_IMX_URL	:= http://www.nxp.com/lgfiles/NMG/MAD/YOCTO/$(FIRMWARE_IMX).$(FIRMWARE_IMX_SUFFIX)
@@ -24,7 +24,7 @@ FIRMWARE_IMX_SOURCE	:= $(SRCDIR)/$(FIRMWARE_IMX).$(FIRMWARE_IMX_SUFFIX)
 FIRMWARE_IMX_DIR	:= $(BUILDDIR)/$(FIRMWARE_IMX)
 FIRMWARE_IMX_LICENSE	:= NXP-Software-License-Agreement
 FIRMWARE_IMX_LICENSE_FILES := \
-	file://COPYING;md5=228c72f2a91452b8a03c4cab30f30ef9
+	file://COPYING;md5=44a8052c384584ba09077e85a3d1654f
 
 #
 # Firmware blobs for barebox
-- 
2.39.2




^ permalink raw reply	[flat|nested] 24+ messages in thread

* [DistroKit] [PATCH 4/9] platform: v8a: firmware-imx: Install more files for U-Boot
  2024-04-25  8:02 [DistroKit] [PATCH 0/9] platform: v8a: firmware: Rework for upper layers with different boards Alexander Dahl
                   ` (2 preceding siblings ...)
  2024-04-25  8:02 ` [DistroKit] [PATCH 3/9] platform: v8a: firmware-imx: Version bump 8.8 -> 8.23 Alexander Dahl
@ 2024-04-25  8:02 ` Alexander Dahl
  2024-05-27 16:14   ` Robert Schwebel
  2024-04-25  8:02 ` [DistroKit] [PATCH 5/9] platform: v8a: firmware-imx: Install more files for i.MX93 Alexander Dahl
                   ` (5 subsequent siblings)
  9 siblings, 1 reply; 24+ messages in thread
From: Alexander Dahl @ 2024-04-25  8:02 UTC (permalink / raw)
  To: distrokit

U-Boot builds for some i.MX8 boards (like Ka-Ro QSXP-ML81 SoM) require
different files than barebox.

Signed-off-by: Alexander Dahl <ada@thorsis.com>
---
 configs/platform-v8a/rules/firmware-imx.make | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/configs/platform-v8a/rules/firmware-imx.make b/configs/platform-v8a/rules/firmware-imx.make
index 7c4801e..20f102e 100644
--- a/configs/platform-v8a/rules/firmware-imx.make
+++ b/configs/platform-v8a/rules/firmware-imx.make
@@ -92,6 +92,11 @@ $(STATEDIR)/firmware-imx.install:
 		$(FIRMWARE_IMX_PKGDIR)/usr/lib/firmware/vpu/$(f)$(ptx/nl))
 
 ifdef PTXCONF_FIRMWARE_IMX_BOOTIMAGE_IMX8
+	@$(foreach f, lpddr4_pmu_train_1d_imem_202006.bin lpddr4_pmu_train_1d_dmem_202006.bin \
+	              lpddr4_pmu_train_2d_imem_202006.bin lpddr4_pmu_train_2d_dmem_202006.bin, \
+		install -v -D -m644 $(FIRMWARE_IMX_DIR)/firmware/ddr/synopsys/$(f) \
+		$(FIRMWARE_IMX_PKGDIR)/usr/lib/firmware/ddr/synopsys/$(f)$(ptx/nl))
+
 	@$(foreach f, lpddr4_pmu_train_1d_dmem.bin lpddr4_pmu_train_1d_imem.bin \
 	              lpddr4_pmu_train_2d_dmem.bin lpddr4_pmu_train_2d_imem.bin, \
 		install -v -D -m644 $(FIRMWARE_IMX_DIR)/firmware/ddr/synopsys/$(f) \
-- 
2.39.2




^ permalink raw reply	[flat|nested] 24+ messages in thread

* [DistroKit] [PATCH 5/9] platform: v8a: firmware-imx: Install more files for i.MX93
  2024-04-25  8:02 [DistroKit] [PATCH 0/9] platform: v8a: firmware: Rework for upper layers with different boards Alexander Dahl
                   ` (3 preceding siblings ...)
  2024-04-25  8:02 ` [DistroKit] [PATCH 4/9] platform: v8a: firmware-imx: Install more files for U-Boot Alexander Dahl
@ 2024-04-25  8:02 ` Alexander Dahl
  2024-05-27 16:15   ` Robert Schwebel
  2024-04-25  8:02 ` [DistroKit] [PATCH 6/9] platform: v8a: firmware-imx: Move barebox injects to separate package Alexander Dahl
                   ` (4 subsequent siblings)
  9 siblings, 1 reply; 24+ messages in thread
From: Alexander Dahl @ 2024-04-25  8:02 UTC (permalink / raw)
  To: distrokit

U-Boot builds for some i.MX93 boards (like Ka-Ro QS93-5210 SoM) require
different files than barebox.

Signed-off-by: Alexander Dahl <ada@thorsis.com>
---
 configs/platform-v8a/platformconfig            | 1 +
 configs/platform-v8a/platforms/firmware-imx.in | 8 +++++++-
 configs/platform-v8a/rules/firmware-imx.make   | 7 +++++++
 3 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/configs/platform-v8a/platformconfig b/configs/platform-v8a/platformconfig
index 664ed1b..65c767a 100644
--- a/configs/platform-v8a/platformconfig
+++ b/configs/platform-v8a/platformconfig
@@ -356,6 +356,7 @@ PTXCONF_FIRMWARE_IMX=y
 # PTXCONF_FIRMWARE_IMX_VPU_IMX6DL is not set
 # PTXCONF_FIRMWARE_IMX_VPU_IMX6Q is not set
 PTXCONF_FIRMWARE_IMX_BOOTIMAGE_IMX8=y
+# PTXCONF_FIRMWARE_IMX_BOOTIMAGE_IMX9 is not set
 PTXCONF_FIRMWARE_ROCKCHIP=y
 # PTXCONF_FIRMWARE_ROCKCHIP_RK3566_SDRAM is not set
 PTXCONF_FIRMWARE_ROCKCHIP_RK3568_SDRAM=y
diff --git a/configs/platform-v8a/platforms/firmware-imx.in b/configs/platform-v8a/platforms/firmware-imx.in
index fc89001..c93e9f8 100644
--- a/configs/platform-v8a/platforms/firmware-imx.in
+++ b/configs/platform-v8a/platforms/firmware-imx.in
@@ -45,6 +45,13 @@ config FIRMWARE_IMX_BOOTIMAGE_IMX8
 	  Install the Synopsis DDR PHY controller and Cadence HDMI TX
 	  firmware used to build a boot image.
 
+config FIRMWARE_IMX_BOOTIMAGE_IMX9
+	bool
+	prompt "Install i.MX9 DDR PHY firmware"
+	help
+	  Install the Synopsis DDR PHY controller firmware used to build
+	  a boot image.
+
 endif
 
 config BAREBOX_DEPENDENCIES
@@ -52,4 +59,3 @@ config BAREBOX_DEPENDENCIES
 	select FIRMWARE_IMX
 	select FIRMWARE_IMX_BOOTIMAGE_IMX8
 	select TF_A
-
diff --git a/configs/platform-v8a/rules/firmware-imx.make b/configs/platform-v8a/rules/firmware-imx.make
index 20f102e..1cdc3ee 100644
--- a/configs/platform-v8a/rules/firmware-imx.make
+++ b/configs/platform-v8a/rules/firmware-imx.make
@@ -112,6 +112,13 @@ ifdef PTXCONF_FIRMWARE_IMX_BOOTIMAGE_IMX8
 		$(FIRMWARE_IMX_PKGDIR)/usr/lib/firmware/hdmi/cadence/$(f)$(ptx/nl))
 endif
 
+ifdef PTXCONF_FIRMWARE_IMX_BOOTIMAGE_IMX9
+	@$(foreach f, lpddr4_imem_1d_v202201.bin lpddr4_dmem_1d_v202201.bin \
+	              lpddr4_imem_2d_v202201.bin lpddr4_dmem_2d_v202201.bin, \
+		install -v -D -m644 $(FIRMWARE_IMX_DIR)/firmware/ddr/synopsys/$(f) \
+		$(FIRMWARE_IMX_PKGDIR)/usr/lib/firmware/ddr/synopsys/$(f)$(ptx/nl))
+endif
+
 	@$(call touch)
 
 # ----------------------------------------------------------------------------
-- 
2.39.2




^ permalink raw reply	[flat|nested] 24+ messages in thread

* [DistroKit] [PATCH 6/9] platform: v8a: firmware-imx: Move barebox injects to separate package
  2024-04-25  8:02 [DistroKit] [PATCH 0/9] platform: v8a: firmware: Rework for upper layers with different boards Alexander Dahl
                   ` (4 preceding siblings ...)
  2024-04-25  8:02 ` [DistroKit] [PATCH 5/9] platform: v8a: firmware-imx: Install more files for i.MX93 Alexander Dahl
@ 2024-04-25  8:02 ` Alexander Dahl
  2024-04-25 12:33   ` Alexander Dahl
  2024-04-25  8:03 ` [DistroKit] [PATCH 7/9] platform: v8a: firmware-rockchip: " Alexander Dahl
                   ` (3 subsequent siblings)
  9 siblings, 1 reply; 24+ messages in thread
From: Alexander Dahl @ 2024-04-25  8:02 UTC (permalink / raw)
  To: distrokit

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 <ada@thorsis.com>
---
 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 <ada@thorsis.com>
+#
+# 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




^ permalink raw reply	[flat|nested] 24+ messages in thread

* [DistroKit] [PATCH 7/9] platform: v8a: firmware-rockchip: Move barebox injects to separate package
  2024-04-25  8:02 [DistroKit] [PATCH 0/9] platform: v8a: firmware: Rework for upper layers with different boards Alexander Dahl
                   ` (5 preceding siblings ...)
  2024-04-25  8:02 ` [DistroKit] [PATCH 6/9] platform: v8a: firmware-imx: Move barebox injects to separate package Alexander Dahl
@ 2024-04-25  8:03 ` Alexander Dahl
  2024-05-27 16:16   ` Robert Schwebel
  2024-04-25  8:03 ` [DistroKit] [PATCH 8/9] platform: v8a: barebox: Remove extra host prog Alexander Dahl
                   ` (2 subsequent siblings)
  9 siblings, 1 reply; 24+ messages in thread
From: Alexander Dahl @ 2024-04-25  8:03 UTC (permalink / raw)
  To: distrokit

This is what 'barebox_firmware' was invented for.  Done to avoid
cluttering the firmware-rockchip package with bootloader specific stuff.

Approach inspired by the patch series which introduced that
infrastructure in ptxdist.  Same as with firmware-imx package.

Link: https://lore.ptxdist.org/ptxdist/20220129070330.2601433-6-michael.riesch@wolfvision.net/
Signed-off-by: Alexander Dahl <ada@thorsis.com>
---
 configs/platform-v8a/platformconfig           |  1 +
 .../platforms/barebox.rockchip.in             | 14 +++++++++++++
 .../platforms/firmware-rockchip.in            |  5 -----
 .../platform-v8a/rules/barebox.rockchip.make  | 20 +++++++++++++++++++
 .../platform-v8a/rules/firmware-rockchip.make | 10 ----------
 5 files changed, 35 insertions(+), 15 deletions(-)
 create mode 100644 configs/platform-v8a/platforms/barebox.rockchip.in

diff --git a/configs/platform-v8a/platformconfig b/configs/platform-v8a/platformconfig
index ba33191..342aa11 100644
--- a/configs/platform-v8a/platformconfig
+++ b/configs/platform-v8a/platformconfig
@@ -184,6 +184,7 @@ PTXCONF_BAREBOX_MD5="dcb443c48b64662b52974502c502427e"
 PTXCONF_BAREBOX_CONFIG="barebox.config"
 PTXCONF_BAREBOX_FIRMWARE=y
 PTXCONF_BAREBOX_NEEDS_FIRMWARE_IMX=y
+PTXCONF_BAREBOX_NEEDS_FIRMWARE_ROCKCHIP=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.rockchip.in b/configs/platform-v8a/platforms/barebox.rockchip.in
new file mode 100644
index 0000000..3291085
--- /dev/null
+++ b/configs/platform-v8a/platforms/barebox.rockchip.in
@@ -0,0 +1,14 @@
+## SECTION=barebox_firmware
+
+config BAREBOX_NEEDS_FIRMWARE_ROCKCHIP
+	bool
+	prompt "barebox needs firmware-rockchip"
+	help
+	  Select this if barebox needs the non-free Rockchip firmware blobs.
+
+config BAREBOX_DEPENDENCIES
+	tristate
+	select FIRMWARE_ROCKCHIP if BAREBOX_NEEDS_FIRMWARE_ROCKCHIP
+	select FIRMWARE_ROCKCHIP_RK3568_SDRAM if BAREBOX_NEEDS_FIRMWARE_ROCKCHIP
+	select FIRMWARE_ROCKCHIP_RK356x_BL31 if BAREBOX_NEEDS_FIRMWARE_ROCKCHIP
+	select FIRMWARE_ROCKCHIP_RK356x_BL32 if BAREBOX_NEEDS_FIRMWARE_ROCKCHIP
diff --git a/configs/platform-v8a/platforms/firmware-rockchip.in b/configs/platform-v8a/platforms/firmware-rockchip.in
index 87a1490..aa70241 100644
--- a/configs/platform-v8a/platforms/firmware-rockchip.in
+++ b/configs/platform-v8a/platforms/firmware-rockchip.in
@@ -39,8 +39,3 @@ config FIRMWARE_ROCKCHIP_RK356x_BL32
 	  and the Rockchip RK3568 EVB1 board.
 
 endif
-
-config BAREBOX_DEPENDENCIES
-	tristate
-	select FIRMWARE_ROCKCHIP
-
diff --git a/configs/platform-v8a/rules/barebox.rockchip.make b/configs/platform-v8a/rules/barebox.rockchip.make
index 17092a9..fad39c9 100644
--- a/configs/platform-v8a/rules/barebox.rockchip.make
+++ b/configs/platform-v8a/rules/barebox.rockchip.make
@@ -9,4 +9,24 @@
 # TODO: remove this when it is added in PTXdist upstream
 BAREBOX_PROGS_HOST += rk-usb-loader
 
+#
+# Firmware blobs for barebox
+#
+ifdef PTXCONF_FIRMWARE_ROCKCHIP
+
+ifdef PTXCONF_FIRMWARE_ROCKCHIP_RK356x_BL31
+BAREBOX_INJECT_FILES += rk3568_bl31_v1.24.elf:firmware/rk3568-bl31.bin
+endif
+
+ifdef PTXCONF_FIRMWARE_ROCKCHIP_RK356x_BL32
+BAREBOX_INJECT_FILES += rk3568_bl32_v1.05.bin:firmware/rk3568-op-tee.bin
+endif
+
+ifdef PTXCONF_FIRMWARE_ROCKCHIP_RK3568_SDRAM
+BAREBOX_INJECT_FILES += rk3568_ddr_1560MHz_v1.08.bin:arch/arm/boards/rockchip-rk3568-evb/sdram-init.bin
+BAREBOX_INJECT_FILES += rk3568_ddr_1560MHz_v1.08.bin:arch/arm/boards/radxa-rock3/sdram-init.bin
+endif
+
+endif
+
 # vim: syntax=make
diff --git a/configs/platform-v8a/rules/firmware-rockchip.make b/configs/platform-v8a/rules/firmware-rockchip.make
index 6949148..dd50c86 100644
--- a/configs/platform-v8a/rules/firmware-rockchip.make
+++ b/configs/platform-v8a/rules/firmware-rockchip.make
@@ -20,16 +20,6 @@ FIRMWARE_ROCKCHIP_SOURCE	:= $(SRCDIR)/$(FIRMWARE_ROCKCHIP).$(FIRMWARE_ROCKCHIP_S
 FIRMWARE_ROCKCHIP_DIR		:= $(BUILDDIR)/$(FIRMWARE_ROCKCHIP)
 FIRMWARE_ROCKCHIP_LICENSE	:= proprietary
 
-#
-# Firmware blobs for barebox
-#
-ifdef PTXCONF_FIRMWARE_ROCKCHIP
-BAREBOX_INJECT_FILES		+= rk3568_bl31_v1.24.elf:firmware/rk3568-bl31.bin
-BAREBOX_INJECT_FILES		+= rk3568_bl32_v1.05.bin:firmware/rk3568-op-tee.bin
-BAREBOX_INJECT_FILES		+= rk3568_ddr_1560MHz_v1.08.bin:arch/arm/boards/rockchip-rk3568-evb/sdram-init.bin
-BAREBOX_INJECT_FILES		+= rk3568_ddr_1560MHz_v1.08.bin:arch/arm/boards/radxa-rock3/sdram-init.bin
-endif
-
 # ----------------------------------------------------------------------------
 # Prepare
 # ----------------------------------------------------------------------------
-- 
2.39.2




^ permalink raw reply	[flat|nested] 24+ messages in thread

* [DistroKit] [PATCH 8/9] platform: v8a: barebox: Remove extra host prog
  2024-04-25  8:02 [DistroKit] [PATCH 0/9] platform: v8a: firmware: Rework for upper layers with different boards Alexander Dahl
                   ` (6 preceding siblings ...)
  2024-04-25  8:03 ` [DistroKit] [PATCH 7/9] platform: v8a: firmware-rockchip: " Alexander Dahl
@ 2024-04-25  8:03 ` Alexander Dahl
  2024-05-27 16:16   ` Robert Schwebel
  2024-04-25  8:03 ` [DistroKit] [PATCH 8/8] platform: v8a: firmware-sentinel: Add new package Alexander Dahl
  2024-04-25  8:03 ` [DistroKit] [PATCH 9/9] " Alexander Dahl
  9 siblings, 1 reply; 24+ messages in thread
From: Alexander Dahl @ 2024-04-25  8:03 UTC (permalink / raw)
  To: distrokit

Added to ptxdist-2023.07.0 and thus TODO completed.

Before removal BAREBOX_PROGS_HOST had this twice:

    % p print BAREBOX_PROGS_HOST
    bareboxenv kernel-install bareboxcrc32 bareboximd setupmbr/setupmbr imx/imx-usb-loader rk-usb-loader rk-usb-loader

Fixes: cd9e439e789e ("ptxdist: version bump 2023.06.0 -> 2023.07.1")
Signed-off-by: Alexander Dahl <ada@thorsis.com>
---
 configs/platform-v8a/rules/barebox.rockchip.make | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/configs/platform-v8a/rules/barebox.rockchip.make b/configs/platform-v8a/rules/barebox.rockchip.make
index fad39c9..c0789c6 100644
--- a/configs/platform-v8a/rules/barebox.rockchip.make
+++ b/configs/platform-v8a/rules/barebox.rockchip.make
@@ -6,9 +6,6 @@
 # see the README file.
 #
 
-# TODO: remove this when it is added in PTXdist upstream
-BAREBOX_PROGS_HOST += rk-usb-loader
-
 #
 # Firmware blobs for barebox
 #
-- 
2.39.2




^ permalink raw reply	[flat|nested] 24+ messages in thread

* [DistroKit] [PATCH 8/8] platform: v8a: firmware-sentinel: Add new package
  2024-04-25  8:02 [DistroKit] [PATCH 0/9] platform: v8a: firmware: Rework for upper layers with different boards Alexander Dahl
                   ` (7 preceding siblings ...)
  2024-04-25  8:03 ` [DistroKit] [PATCH 8/9] platform: v8a: barebox: Remove extra host prog Alexander Dahl
@ 2024-04-25  8:03 ` Alexander Dahl
  2024-04-25  8:03 ` [DistroKit] [PATCH 9/9] " Alexander Dahl
  9 siblings, 0 replies; 24+ messages in thread
From: Alexander Dahl @ 2024-04-25  8:03 UTC (permalink / raw)
  To: distrokit

U-Boot for i.MX93 on Ka-Ro QS93-5210 SoM requires this additional firmware.

Signed-off-by: Alexander Dahl <ada@thorsis.com>
---
 configs/platform-v8a/platformconfig           |  1 +
 .../platforms/firmware-sentinel.in            |  5 ++
 .../platform-v8a/rules/firmware-sentinel.make | 69 +++++++++++++++++++
 3 files changed, 75 insertions(+)
 create mode 100644 configs/platform-v8a/platforms/firmware-sentinel.in
 create mode 100644 configs/platform-v8a/rules/firmware-sentinel.make

diff --git a/configs/platform-v8a/platformconfig b/configs/platform-v8a/platformconfig
index 342aa11..d7df8b8 100644
--- a/configs/platform-v8a/platformconfig
+++ b/configs/platform-v8a/platformconfig
@@ -364,4 +364,5 @@ PTXCONF_FIRMWARE_ROCKCHIP=y
 PTXCONF_FIRMWARE_ROCKCHIP_RK3568_SDRAM=y
 PTXCONF_FIRMWARE_ROCKCHIP_RK356x_BL31=y
 PTXCONF_FIRMWARE_ROCKCHIP_RK356x_BL32=y
+# PTXCONF_FIRMWARE_SENTINEL is not set
 # end of non-free firmware blobs       
diff --git a/configs/platform-v8a/platforms/firmware-sentinel.in b/configs/platform-v8a/platforms/firmware-sentinel.in
new file mode 100644
index 0000000..9225969
--- /dev/null
+++ b/configs/platform-v8a/platforms/firmware-sentinel.in
@@ -0,0 +1,5 @@
+## SECTION=non_free_firmware
+
+menuconfig FIRMWARE_SENTINEL
+	tristate
+	prompt "firmware-sentinel             "
diff --git a/configs/platform-v8a/rules/firmware-sentinel.make b/configs/platform-v8a/rules/firmware-sentinel.make
new file mode 100644
index 0000000..855e58d
--- /dev/null
+++ b/configs/platform-v8a/rules/firmware-sentinel.make
@@ -0,0 +1,69 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2024 by Alexander Dahl <ada@thorsis.com>
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_FIRMWARE_SENTINEL) += firmware-sentinel
+
+#
+# Paths and names
+#
+FIRMWARE_SENTINEL_VERSION	:= 0.11
+FIRMWARE_SENTINEL_MD5		:= 339011b6b199151d835c03089a3c2221
+FIRMWARE_SENTINEL_SKIP		:= 47053
+FIRMWARE_SENTINEL		:= firmware-sentinel-$(FIRMWARE_SENTINEL_VERSION)
+FIRMWARE_SENTINEL_SUFFIX	:= bin
+FIRMWARE_SENTINEL_URL		:= http://www.nxp.com/lgfiles/NMG/MAD/YOCTO/$(FIRMWARE_SENTINEL).$(FIRMWARE_SENTINEL_SUFFIX)
+FIRMWARE_SENTINEL_SOURCE	:= $(SRCDIR)/$(FIRMWARE_SENTINEL).$(FIRMWARE_SENTINEL_SUFFIX)
+FIRMWARE_SENTINEL_DIR		:= $(BUILDDIR)/$(FIRMWARE_SENTINEL)
+FIRMWARE_SENTINEL_LICENSE	:= NXP-Software-License-Agreement
+FIRMWARE_SENTINEL_LICENSE_FILES	:= \
+	file://COPYING;md5=db4762b09b6bda63da103963e6e081de
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/firmware-sentinel.extract:
+	@$(call targetinfo)
+	@$(call clean, $(FIRMWARE_SENTINEL_DIR))
+	@mkdir -p "$(FIRMWARE_SENTINEL_DIR)"
+	@dd if="$(FIRMWARE_SENTINEL_SOURCE)" bs=$(FIRMWARE_SENTINEL_SKIP) skip=1 \
+		| tar -xj --strip-components=2 -C "$(FIRMWARE_SENTINEL_DIR)"
+	@$(call patchin, FIRMWARE_SENTINEL)
+	@$(call touch)
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+FIRMWARE_SENTINEL_CONF_TOOL	:= NO
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/firmware-sentinel.compile:
+	@$(call targetinfo)
+	@$(call touch)
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/firmware-sentinel.install:
+	@$(call targetinfo)
+
+	@install -d -m755 $(FIRMWARE_SENTINEL_PKGDIR)/usr/lib/firmware
+	@install -v -m644 $(FIRMWARE_SENTINEL_DIR)/mx93a1-ahab-container.img \
+		$(FIRMWARE_SENTINEL_PKGDIR)/usr/lib/firmware/
+
+	@$(call touch)
+
+# vim: syntax=make
-- 
2.39.2




^ permalink raw reply	[flat|nested] 24+ messages in thread

* [DistroKit] [PATCH 9/9] platform: v8a: firmware-sentinel: Add new package
  2024-04-25  8:02 [DistroKit] [PATCH 0/9] platform: v8a: firmware: Rework for upper layers with different boards Alexander Dahl
                   ` (8 preceding siblings ...)
  2024-04-25  8:03 ` [DistroKit] [PATCH 8/8] platform: v8a: firmware-sentinel: Add new package Alexander Dahl
@ 2024-04-25  8:03 ` Alexander Dahl
  2024-05-27 16:17   ` Robert Schwebel
  9 siblings, 1 reply; 24+ messages in thread
From: Alexander Dahl @ 2024-04-25  8:03 UTC (permalink / raw)
  To: distrokit

U-Boot for i.MX93 on Ka-Ro QS93-5210 SoM requires this additional firmware.

Signed-off-by: Alexander Dahl <ada@thorsis.com>
---
 configs/platform-v8a/platformconfig           |  1 +
 .../platforms/firmware-sentinel.in            |  5 ++
 .../platform-v8a/rules/firmware-sentinel.make | 69 +++++++++++++++++++
 3 files changed, 75 insertions(+)
 create mode 100644 configs/platform-v8a/platforms/firmware-sentinel.in
 create mode 100644 configs/platform-v8a/rules/firmware-sentinel.make

diff --git a/configs/platform-v8a/platformconfig b/configs/platform-v8a/platformconfig
index 342aa11..d7df8b8 100644
--- a/configs/platform-v8a/platformconfig
+++ b/configs/platform-v8a/platformconfig
@@ -364,4 +364,5 @@ PTXCONF_FIRMWARE_ROCKCHIP=y
 PTXCONF_FIRMWARE_ROCKCHIP_RK3568_SDRAM=y
 PTXCONF_FIRMWARE_ROCKCHIP_RK356x_BL31=y
 PTXCONF_FIRMWARE_ROCKCHIP_RK356x_BL32=y
+# PTXCONF_FIRMWARE_SENTINEL is not set
 # end of non-free firmware blobs       
diff --git a/configs/platform-v8a/platforms/firmware-sentinel.in b/configs/platform-v8a/platforms/firmware-sentinel.in
new file mode 100644
index 0000000..9225969
--- /dev/null
+++ b/configs/platform-v8a/platforms/firmware-sentinel.in
@@ -0,0 +1,5 @@
+## SECTION=non_free_firmware
+
+menuconfig FIRMWARE_SENTINEL
+	tristate
+	prompt "firmware-sentinel             "
diff --git a/configs/platform-v8a/rules/firmware-sentinel.make b/configs/platform-v8a/rules/firmware-sentinel.make
new file mode 100644
index 0000000..855e58d
--- /dev/null
+++ b/configs/platform-v8a/rules/firmware-sentinel.make
@@ -0,0 +1,69 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2024 by Alexander Dahl <ada@thorsis.com>
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_FIRMWARE_SENTINEL) += firmware-sentinel
+
+#
+# Paths and names
+#
+FIRMWARE_SENTINEL_VERSION	:= 0.11
+FIRMWARE_SENTINEL_MD5		:= 339011b6b199151d835c03089a3c2221
+FIRMWARE_SENTINEL_SKIP		:= 47053
+FIRMWARE_SENTINEL		:= firmware-sentinel-$(FIRMWARE_SENTINEL_VERSION)
+FIRMWARE_SENTINEL_SUFFIX	:= bin
+FIRMWARE_SENTINEL_URL		:= http://www.nxp.com/lgfiles/NMG/MAD/YOCTO/$(FIRMWARE_SENTINEL).$(FIRMWARE_SENTINEL_SUFFIX)
+FIRMWARE_SENTINEL_SOURCE	:= $(SRCDIR)/$(FIRMWARE_SENTINEL).$(FIRMWARE_SENTINEL_SUFFIX)
+FIRMWARE_SENTINEL_DIR		:= $(BUILDDIR)/$(FIRMWARE_SENTINEL)
+FIRMWARE_SENTINEL_LICENSE	:= NXP-Software-License-Agreement
+FIRMWARE_SENTINEL_LICENSE_FILES	:= \
+	file://COPYING;md5=db4762b09b6bda63da103963e6e081de
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/firmware-sentinel.extract:
+	@$(call targetinfo)
+	@$(call clean, $(FIRMWARE_SENTINEL_DIR))
+	@mkdir -p "$(FIRMWARE_SENTINEL_DIR)"
+	@dd if="$(FIRMWARE_SENTINEL_SOURCE)" bs=$(FIRMWARE_SENTINEL_SKIP) skip=1 \
+		| tar -xj --strip-components=2 -C "$(FIRMWARE_SENTINEL_DIR)"
+	@$(call patchin, FIRMWARE_SENTINEL)
+	@$(call touch)
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+FIRMWARE_SENTINEL_CONF_TOOL	:= NO
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/firmware-sentinel.compile:
+	@$(call targetinfo)
+	@$(call touch)
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/firmware-sentinel.install:
+	@$(call targetinfo)
+
+	@install -d -m755 $(FIRMWARE_SENTINEL_PKGDIR)/usr/lib/firmware
+	@install -v -m644 $(FIRMWARE_SENTINEL_DIR)/mx93a1-ahab-container.img \
+		$(FIRMWARE_SENTINEL_PKGDIR)/usr/lib/firmware/
+
+	@$(call touch)
+
+# vim: syntax=make
-- 
2.39.2




^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [DistroKit] [PATCH 6/9] platform: v8a: firmware-imx: Move barebox injects to separate package
  2024-04-25  8:02 ` [DistroKit] [PATCH 6/9] platform: v8a: firmware-imx: Move barebox injects to separate package Alexander Dahl
@ 2024-04-25 12:33   ` Alexander Dahl
  2024-05-27 16:15     ` Robert Schwebel
  0 siblings, 1 reply; 24+ messages in thread
From: Alexander Dahl @ 2024-04-25 12:33 UTC (permalink / raw)
  To: distrokit

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 <ada@thorsis.com>
> ---
>  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 <ada@thorsis.com>
> +#
> +# 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
> 
> 



^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [DistroKit] [PATCH 1/9] platform: v8a: firmware-imx: Fix dependencies
  2024-04-25  8:02 ` [DistroKit] [PATCH 1/9] platform: v8a: firmware-imx: Fix dependencies Alexander Dahl
@ 2024-05-27 16:13   ` Robert Schwebel
  0 siblings, 0 replies; 24+ messages in thread
From: Robert Schwebel @ 2024-05-27 16:13 UTC (permalink / raw)
  To: Alexander Dahl; +Cc: distrokit

applied to next

On Thu, Apr 25, 2024 at 10:02:54AM +0200, Alexander Dahl wrote:
> This dependency was fixed already with commit cb9e16dd1aa0 ("v8a:
> barebox-imx8m: fix firmware-imx dependencies") but after commit
> 7a176f41a826 ("v8a: barebox: switch to upstream rule") and 8e9db9c88725
> ("v8a: barebox: remove left-over SoC-specific rules") the file carrying
> the dependency is gone.  So now if FIRMWARE_IMX_BOOTIMAGE_IMX8 was
> disabled barebox.prepare failed like this:
> 
>     -----------------------
>     target: barebox.prepare
>     -----------------------
> 
>     Inject file DistroKit/platform-v8a/sysroot-target/usr/lib/firmware/imx8mm-bl31.bin into DistroKit/platform-v8a/build-target/barebox-2024.03.0/firmware/imx8mm-bl31.bin...
> 
>     Inject file DistroKit/platform-v8a/sysroot-target/usr/lib/firmware/imx8mn-bl31.bin into DistroKit/platform-v8a/build-target/barebox-2024.03.0/firmware/imx8mn-bl31.bin...
> 
>     Inject file DistroKit/platform-v8a/sysroot-target/usr/lib/firmware/imx8mp-bl31.bin into DistroKit/platform-v8a/build-target/barebox-2024.03.0/firmware/imx8mp-bl31.bin...
> 
>     Inject file DistroKit/platform-v8a/sysroot-target/usr/lib/firmware/imx8mq-bl31.bin into DistroKit/platform-v8a/build-target/barebox-2024.03.0/firmware/imx8mq-bl31.bin...
> 
>     ptxdist: error: Blob 'ddr/synopsys/lpddr4_pmu_train_1d_dmem.bin' not found in '/mnt/data/adahl/src/DistroKit/platform-v8a/sysroot-target/usr/lib/firmware'.
> 
>     make: *** [/usr/local/lib/ptxdist-2024.03.0/rules/barebox.make:83: /mnt/data/adahl/src/DistroKit/platform-v8a/state/barebox.prepare] Error 1
> 
> Signed-off-by: Alexander Dahl <ada@thorsis.com>
> ---
>  configs/platform-v8a/platforms/firmware-imx.in | 1 +
>  configs/platform-v8a/rules/firmware-imx.make   | 2 ++
>  2 files changed, 3 insertions(+)
> 
> diff --git a/configs/platform-v8a/platforms/firmware-imx.in b/configs/platform-v8a/platforms/firmware-imx.in
> index 19d89ac..fc89001 100644
> --- a/configs/platform-v8a/platforms/firmware-imx.in
> +++ b/configs/platform-v8a/platforms/firmware-imx.in
> @@ -50,5 +50,6 @@ endif
>  config BAREBOX_DEPENDENCIES
>  	tristate
>  	select FIRMWARE_IMX
> +	select FIRMWARE_IMX_BOOTIMAGE_IMX8
>  	select TF_A
>  
> diff --git a/configs/platform-v8a/rules/firmware-imx.make b/configs/platform-v8a/rules/firmware-imx.make
> index bd49885..b640db6 100644
> --- a/configs/platform-v8a/rules/firmware-imx.make
> +++ b/configs/platform-v8a/rules/firmware-imx.make
> @@ -33,6 +33,7 @@ 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
> @@ -42,6 +43,7 @@ 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    |



^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [DistroKit] [PATCH 2/9] platform: v8a: firmware-imx: Rework extract, install, and targetinstall
  2024-04-25  8:02 ` [DistroKit] [PATCH 2/9] platform: v8a: firmware-imx: Rework extract, install, and targetinstall Alexander Dahl
@ 2024-05-27 16:13   ` Robert Schwebel
  0 siblings, 0 replies; 24+ messages in thread
From: Robert Schwebel @ 2024-05-27 16:13 UTC (permalink / raw)
  To: Alexander Dahl; +Cc: distrokit

applied to next

On Thu, Apr 25, 2024 at 10:02:55AM +0200, Alexander Dahl wrote:
> Usually in ptxdist stages work like this: in extract stage files are put
> into BUILDDIR.  From there `make install` or something similar in
> install stage copies build artifacts to PKGDIR.  The install.post stage
> copies everything from PKDIR to SYSROOT_TARGET.  Finally targetinstall
> stage uses the files from PKGDIR to populate root.
> 
> Here everything was extracted to PKGDIR.  Some files where manually
> copied from PKGDIR to $(SYSROOT_TARGET)/usr/lib/firmware, before
> install.post copied those files again to $(SYSROOT_TARGET)/firmware …
> 
> Now the usual cycle as described above is followed, hopefully leading to
> much less confusion, and avoiding duplicate files in sysroot-target.
> 
> This gives us predictable paths in SYSROOT_TARGET and allows to use
> files in $(SYSROOT_TARGET) to be used by other packages like U-Boot by
> directly pointing at them, or pointing to the folder they are in (most
> likely '$(SYSROOT_TARGET)/usr/lib/firmware').
> 
> (barebox does not point at those files, but copies them to its own
> sourcedir through the inject mechanism.)
> 
> Signed-off-by: Alexander Dahl <ada@thorsis.com>
> ---
>  configs/platform-v8a/rules/firmware-imx.make | 81 +++++++++++++-------
>  1 file changed, 52 insertions(+), 29 deletions(-)
> 
> diff --git a/configs/platform-v8a/rules/firmware-imx.make b/configs/platform-v8a/rules/firmware-imx.make
> index b640db6..57a10c3 100644
> --- a/configs/platform-v8a/rules/firmware-imx.make
> +++ b/configs/platform-v8a/rules/firmware-imx.make
> @@ -20,10 +20,11 @@ FIRMWARE_IMX_SKIP	:= 38918
>  FIRMWARE_IMX		:= firmware-imx-$(FIRMWARE_IMX_VERSION)
>  FIRMWARE_IMX_SUFFIX	:= bin
>  FIRMWARE_IMX_URL	:= http://www.nxp.com/lgfiles/NMG/MAD/YOCTO/$(FIRMWARE_IMX).$(FIRMWARE_IMX_SUFFIX)
> +FIRMWARE_IMX_SOURCE	:= $(SRCDIR)/$(FIRMWARE_IMX).$(FIRMWARE_IMX_SUFFIX)
> +FIRMWARE_IMX_DIR	:= $(BUILDDIR)/$(FIRMWARE_IMX)
>  FIRMWARE_IMX_LICENSE	:= NXP-Software-License-Agreement
>  FIRMWARE_IMX_LICENSE_FILES := \
> -	file://$(FIRMWARE_IMX_PKGDIR)/COPYING;md5=228c72f2a91452b8a03c4cab30f30ef9
> -FIRMWARE_IMX_SOURCE	:= $(SRCDIR)/$(FIRMWARE_IMX).$(FIRMWARE_IMX_SUFFIX)
> +	file://COPYING;md5=228c72f2a91452b8a03c4cab30f30ef9
>  
>  #
>  # Firmware blobs for barebox
> @@ -51,38 +52,31 @@ endif
>  
>  $(STATEDIR)/firmware-imx.extract:
>  	@$(call targetinfo)
> -	@mkdir -p "$(PKGDIR)"
> -	@dd if=$(FIRMWARE_IMX_SOURCE) bs=$(FIRMWARE_IMX_SKIP) skip=1 | tar xj -C $(PKGDIR)
> +	@$(call clean, $(FIRMWARE_IMX_DIR))
> +	@mkdir -p "$(FIRMWARE_IMX_DIR)"
> +	@dd if="$(FIRMWARE_IMX_SOURCE)" bs=$(FIRMWARE_IMX_SKIP) skip=1 \
> +		| tar -xj --strip-components=2 -C "$(FIRMWARE_IMX_DIR)"
> +	@$(call patchin, FIRMWARE_IMX)
> +	@$(call touch)
> +
> +# ----------------------------------------------------------------------------
> +# Prepare
> +# ----------------------------------------------------------------------------
> +
> +FIRMWARE_IMX_CONF_TOOL	:= NO
> +
> +# ----------------------------------------------------------------------------
> +# Compile
> +# ----------------------------------------------------------------------------
> +
> +$(STATEDIR)/firmware-imx.compile:
> +	@$(call targetinfo)
>  	@$(call touch)
>  
>  # ----------------------------------------------------------------------------
>  # Install
>  # ----------------------------------------------------------------------------
>  
> -$(STATEDIR)/firmware-imx.install:
> -	@$(call targetinfo)
> -
> -ifdef PTXCONF_FIRMWARE_IMX_BOOTIMAGE_IMX8
> -	@$(foreach f, lpddr4_pmu_train_1d_dmem.bin lpddr4_pmu_train_1d_imem.bin \
> -	              lpddr4_pmu_train_2d_dmem.bin lpddr4_pmu_train_2d_imem.bin, \
> -		install -v -D -m644 $(FIRMWARE_IMX_PKGDIR)/firmware/ddr/synopsys/$(f) \
> -		$(PTXCONF_SYSROOT_TARGET)/usr/lib/firmware/ddr/synopsys/$(f)$(ptx/nl))
> -
> -	@$(foreach f, ddr4_dmem_1d.bin ddr4_dmem_2d.bin \
> -	              ddr4_imem_1d.bin ddr4_imem_2d.bin, \
> -		install -v -D -m644 $(FIRMWARE_IMX_PKGDIR)/firmware/ddr/synopsys/$(f) \
> -		$(PTXCONF_SYSROOT_TARGET)/usr/lib/firmware/ddr/synopsys/$(f)$(ptx/nl))
> -
> -	@$(foreach f, signed_dp_imx8m.bin signed_hdmi_imx8m.bin, \
> -		install -v -D -m644 $(FIRMWARE_IMX_PKGDIR)/firmware/hdmi/cadence/$(f) \
> -		$(PTXCONF_SYSROOT_TARGET)/usr/lib/firmware/hdmi/cadence/$(f)$(ptx/nl))
> -endif
> -
> -	@$(call touch)
> -# ----------------------------------------------------------------------------
> -# Target-Install
> -# ----------------------------------------------------------------------------
> -
>  FIRMWARE_IMX_INSTALL-y					:=
>  FIRMWARE_IMX_INSTALL-$(PTXCONF_FIRMWARE_IMX_VPU_IMX27)	+= vpu_fw_imx27_TO2.bin
>  FIRMWARE_IMX_INSTALL-$(PTXCONF_FIRMWARE_IMX_VPU_IMX6Q)	+= vpu_fw_imx6q.bin
> @@ -90,6 +84,35 @@ FIRMWARE_IMX_INSTALL-$(PTXCONF_FIRMWARE_IMX_VPU_IMX6DL)	+= vpu_fw_imx6d.bin
>  FIRMWARE_IMX_INSTALL-$(PTXCONF_FIRMWARE_IMX_VPU_IMX53)	+= vpu_fw_imx53.bin
>  FIRMWARE_IMX_INSTALL-$(PTXCONF_FIRMWARE_IMX_VPU_IMX51)	+= vpu_fw_imx51.bin
>  
> +$(STATEDIR)/firmware-imx.install:
> +	@$(call targetinfo)
> +
> +	@$(foreach f,$(FIRMWARE_IMX_INSTALL-y), \
> +		install -v -D -m644 $(FIRMWARE_IMX_DIR)/firmware/vpu/$(f) \
> +		$(FIRMWARE_IMX_PKGDIR)/usr/lib/firmware/vpu/$(f)$(ptx/nl))
> +
> +ifdef PTXCONF_FIRMWARE_IMX_BOOTIMAGE_IMX8
> +	@$(foreach f, lpddr4_pmu_train_1d_dmem.bin lpddr4_pmu_train_1d_imem.bin \
> +	              lpddr4_pmu_train_2d_dmem.bin lpddr4_pmu_train_2d_imem.bin, \
> +		install -v -D -m644 $(FIRMWARE_IMX_DIR)/firmware/ddr/synopsys/$(f) \
> +		$(FIRMWARE_IMX_PKGDIR)/usr/lib/firmware/ddr/synopsys/$(f)$(ptx/nl))
> +
> +	@$(foreach f, ddr4_dmem_1d.bin ddr4_dmem_2d.bin \
> +	              ddr4_imem_1d.bin ddr4_imem_2d.bin, \
> +		install -v -D -m644 $(FIRMWARE_IMX_DIR)/firmware/ddr/synopsys/$(f) \
> +		$(FIRMWARE_IMX_PKGDIR)/usr/lib/firmware/ddr/synopsys/$(f)$(ptx/nl))
> +
> +	@$(foreach f, signed_dp_imx8m.bin signed_hdmi_imx8m.bin, \
> +		install -v -D -m644 $(FIRMWARE_IMX_DIR)/firmware/hdmi/cadence/$(f) \
> +		$(FIRMWARE_IMX_PKGDIR)/usr/lib/firmware/hdmi/cadence/$(f)$(ptx/nl))
> +endif
> +
> +	@$(call touch)
> +
> +# ----------------------------------------------------------------------------
> +# Target-Install
> +# ----------------------------------------------------------------------------
> +
>  $(STATEDIR)/firmware-imx.targetinstall:
>  	@$(call targetinfo)
>  
> @@ -100,7 +123,7 @@ $(STATEDIR)/firmware-imx.targetinstall:
>  	@$(call install_fixup, firmware-imx,DESCRIPTION,missing)
>  	@$(foreach f,$(FIRMWARE_IMX_INSTALL-y), \
>  		$(call install_copy, firmware-imx, 0, 0, 0644, \
> -			$(FIRMWARE_IMX_PKGDIR)/firmware/vpu/$(f), \
> +			$(FIRMWARE_IMX_PKGDIR)/usr/lib/firmware/vpu/$(f), \
>  			/usr/lib/firmware/$(f))$(ptx/nl))
>  	@$(call install_finish, firmware-imx)
>  
> -- 
> 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    |



^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [DistroKit] [PATCH 3/9] platform: v8a: firmware-imx: Version bump 8.8 -> 8.23
  2024-04-25  8:02 ` [DistroKit] [PATCH 3/9] platform: v8a: firmware-imx: Version bump 8.8 -> 8.23 Alexander Dahl
@ 2024-05-27 16:13   ` Robert Schwebel
  0 siblings, 0 replies; 24+ messages in thread
From: Robert Schwebel @ 2024-05-27 16:13 UTC (permalink / raw)
  To: Alexander Dahl; +Cc: distrokit

applied to next

On Thu, Apr 25, 2024 at 10:02:56AM +0200, Alexander Dahl wrote:
> Contains some new files required by U-Boot for certain boards (not
> used/installed yet).
> 
> Checksums of firmware files in 'ddr/synopsys' are the same.
> Files in 'hdmi/cadence' changed.
> 
> Signed-off-by: Alexander Dahl <ada@thorsis.com>
> ---
>  configs/platform-v8a/rules/firmware-imx.make | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/configs/platform-v8a/rules/firmware-imx.make b/configs/platform-v8a/rules/firmware-imx.make
> index 57a10c3..7c4801e 100644
> --- a/configs/platform-v8a/rules/firmware-imx.make
> +++ b/configs/platform-v8a/rules/firmware-imx.make
> @@ -14,9 +14,9 @@ PACKAGES-$(PTXCONF_FIRMWARE_IMX) += firmware-imx
>  #
>  # Paths and names
>  #
> -FIRMWARE_IMX_VERSION	:= 8.8
> -FIRMWARE_IMX_MD5	:= eabb27d28bba375a9f14d6306c07af5f
> -FIRMWARE_IMX_SKIP	:= 38918
> +FIRMWARE_IMX_VERSION	:= 8.23
> +FIRMWARE_IMX_MD5	:= eb03efb3a8fb98d99ed1df88537e72f4
> +FIRMWARE_IMX_SKIP	:= 48479
>  FIRMWARE_IMX		:= firmware-imx-$(FIRMWARE_IMX_VERSION)
>  FIRMWARE_IMX_SUFFIX	:= bin
>  FIRMWARE_IMX_URL	:= http://www.nxp.com/lgfiles/NMG/MAD/YOCTO/$(FIRMWARE_IMX).$(FIRMWARE_IMX_SUFFIX)
> @@ -24,7 +24,7 @@ FIRMWARE_IMX_SOURCE	:= $(SRCDIR)/$(FIRMWARE_IMX).$(FIRMWARE_IMX_SUFFIX)
>  FIRMWARE_IMX_DIR	:= $(BUILDDIR)/$(FIRMWARE_IMX)
>  FIRMWARE_IMX_LICENSE	:= NXP-Software-License-Agreement
>  FIRMWARE_IMX_LICENSE_FILES := \
> -	file://COPYING;md5=228c72f2a91452b8a03c4cab30f30ef9
> +	file://COPYING;md5=44a8052c384584ba09077e85a3d1654f
>  
>  #
>  # Firmware blobs for barebox
> -- 
> 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    |



^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [DistroKit] [PATCH 4/9] platform: v8a: firmware-imx: Install more files for U-Boot
  2024-04-25  8:02 ` [DistroKit] [PATCH 4/9] platform: v8a: firmware-imx: Install more files for U-Boot Alexander Dahl
@ 2024-05-27 16:14   ` Robert Schwebel
  0 siblings, 0 replies; 24+ messages in thread
From: Robert Schwebel @ 2024-05-27 16:14 UTC (permalink / raw)
  To: Alexander Dahl; +Cc: distrokit

applied to next

On Thu, Apr 25, 2024 at 10:02:57AM +0200, Alexander Dahl wrote:
> U-Boot builds for some i.MX8 boards (like Ka-Ro QSXP-ML81 SoM) require
> different files than barebox.
> 
> Signed-off-by: Alexander Dahl <ada@thorsis.com>
> ---
>  configs/platform-v8a/rules/firmware-imx.make | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/configs/platform-v8a/rules/firmware-imx.make b/configs/platform-v8a/rules/firmware-imx.make
> index 7c4801e..20f102e 100644
> --- a/configs/platform-v8a/rules/firmware-imx.make
> +++ b/configs/platform-v8a/rules/firmware-imx.make
> @@ -92,6 +92,11 @@ $(STATEDIR)/firmware-imx.install:
>  		$(FIRMWARE_IMX_PKGDIR)/usr/lib/firmware/vpu/$(f)$(ptx/nl))
>  
>  ifdef PTXCONF_FIRMWARE_IMX_BOOTIMAGE_IMX8
> +	@$(foreach f, lpddr4_pmu_train_1d_imem_202006.bin lpddr4_pmu_train_1d_dmem_202006.bin \
> +	              lpddr4_pmu_train_2d_imem_202006.bin lpddr4_pmu_train_2d_dmem_202006.bin, \
> +		install -v -D -m644 $(FIRMWARE_IMX_DIR)/firmware/ddr/synopsys/$(f) \
> +		$(FIRMWARE_IMX_PKGDIR)/usr/lib/firmware/ddr/synopsys/$(f)$(ptx/nl))
> +
>  	@$(foreach f, lpddr4_pmu_train_1d_dmem.bin lpddr4_pmu_train_1d_imem.bin \
>  	              lpddr4_pmu_train_2d_dmem.bin lpddr4_pmu_train_2d_imem.bin, \
>  		install -v -D -m644 $(FIRMWARE_IMX_DIR)/firmware/ddr/synopsys/$(f) \
> -- 
> 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    |



^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [DistroKit] [PATCH 5/9] platform: v8a: firmware-imx: Install more files for i.MX93
  2024-04-25  8:02 ` [DistroKit] [PATCH 5/9] platform: v8a: firmware-imx: Install more files for i.MX93 Alexander Dahl
@ 2024-05-27 16:15   ` Robert Schwebel
  0 siblings, 0 replies; 24+ messages in thread
From: Robert Schwebel @ 2024-05-27 16:15 UTC (permalink / raw)
  To: Alexander Dahl; +Cc: distrokit

applied to next

On Thu, Apr 25, 2024 at 10:02:58AM +0200, Alexander Dahl wrote:
> U-Boot builds for some i.MX93 boards (like Ka-Ro QS93-5210 SoM) require
> different files than barebox.
> 
> Signed-off-by: Alexander Dahl <ada@thorsis.com>
> ---
>  configs/platform-v8a/platformconfig            | 1 +
>  configs/platform-v8a/platforms/firmware-imx.in | 8 +++++++-
>  configs/platform-v8a/rules/firmware-imx.make   | 7 +++++++
>  3 files changed, 15 insertions(+), 1 deletion(-)
> 
> diff --git a/configs/platform-v8a/platformconfig b/configs/platform-v8a/platformconfig
> index 664ed1b..65c767a 100644
> --- a/configs/platform-v8a/platformconfig
> +++ b/configs/platform-v8a/platformconfig
> @@ -356,6 +356,7 @@ PTXCONF_FIRMWARE_IMX=y
>  # PTXCONF_FIRMWARE_IMX_VPU_IMX6DL is not set
>  # PTXCONF_FIRMWARE_IMX_VPU_IMX6Q is not set
>  PTXCONF_FIRMWARE_IMX_BOOTIMAGE_IMX8=y
> +# PTXCONF_FIRMWARE_IMX_BOOTIMAGE_IMX9 is not set
>  PTXCONF_FIRMWARE_ROCKCHIP=y
>  # PTXCONF_FIRMWARE_ROCKCHIP_RK3566_SDRAM is not set
>  PTXCONF_FIRMWARE_ROCKCHIP_RK3568_SDRAM=y
> diff --git a/configs/platform-v8a/platforms/firmware-imx.in b/configs/platform-v8a/platforms/firmware-imx.in
> index fc89001..c93e9f8 100644
> --- a/configs/platform-v8a/platforms/firmware-imx.in
> +++ b/configs/platform-v8a/platforms/firmware-imx.in
> @@ -45,6 +45,13 @@ config FIRMWARE_IMX_BOOTIMAGE_IMX8
>  	  Install the Synopsis DDR PHY controller and Cadence HDMI TX
>  	  firmware used to build a boot image.
>  
> +config FIRMWARE_IMX_BOOTIMAGE_IMX9
> +	bool
> +	prompt "Install i.MX9 DDR PHY firmware"
> +	help
> +	  Install the Synopsis DDR PHY controller firmware used to build
> +	  a boot image.
> +
>  endif
>  
>  config BAREBOX_DEPENDENCIES
> @@ -52,4 +59,3 @@ config BAREBOX_DEPENDENCIES
>  	select FIRMWARE_IMX
>  	select FIRMWARE_IMX_BOOTIMAGE_IMX8
>  	select TF_A
> -
> diff --git a/configs/platform-v8a/rules/firmware-imx.make b/configs/platform-v8a/rules/firmware-imx.make
> index 20f102e..1cdc3ee 100644
> --- a/configs/platform-v8a/rules/firmware-imx.make
> +++ b/configs/platform-v8a/rules/firmware-imx.make
> @@ -112,6 +112,13 @@ ifdef PTXCONF_FIRMWARE_IMX_BOOTIMAGE_IMX8
>  		$(FIRMWARE_IMX_PKGDIR)/usr/lib/firmware/hdmi/cadence/$(f)$(ptx/nl))
>  endif
>  
> +ifdef PTXCONF_FIRMWARE_IMX_BOOTIMAGE_IMX9
> +	@$(foreach f, lpddr4_imem_1d_v202201.bin lpddr4_dmem_1d_v202201.bin \
> +	              lpddr4_imem_2d_v202201.bin lpddr4_dmem_2d_v202201.bin, \
> +		install -v -D -m644 $(FIRMWARE_IMX_DIR)/firmware/ddr/synopsys/$(f) \
> +		$(FIRMWARE_IMX_PKGDIR)/usr/lib/firmware/ddr/synopsys/$(f)$(ptx/nl))
> +endif
> +
>  	@$(call touch)
>  
>  # ----------------------------------------------------------------------------
> -- 
> 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    |



^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [DistroKit] [PATCH 6/9] platform: v8a: firmware-imx: Move barebox injects to separate package
  2024-04-25 12:33   ` Alexander Dahl
@ 2024-05-27 16:15     ` Robert Schwebel
  2024-05-28  6:32       ` Alexander Dahl
  0 siblings, 1 reply; 24+ messages in thread
From: Robert Schwebel @ 2024-05-27 16:15 UTC (permalink / raw)
  To: distrokit

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 <ada@thorsis.com>
> > ---
> >  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 <ada@thorsis.com>
> > +#
> > +# 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    |



^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [DistroKit] [PATCH 7/9] platform: v8a: firmware-rockchip: Move barebox injects to separate package
  2024-04-25  8:03 ` [DistroKit] [PATCH 7/9] platform: v8a: firmware-rockchip: " Alexander Dahl
@ 2024-05-27 16:16   ` Robert Schwebel
  0 siblings, 0 replies; 24+ messages in thread
From: Robert Schwebel @ 2024-05-27 16:16 UTC (permalink / raw)
  To: Alexander Dahl; +Cc: distrokit

Also dropped

On Thu, Apr 25, 2024 at 10:03:00AM +0200, Alexander Dahl wrote:
> This is what 'barebox_firmware' was invented for.  Done to avoid
> cluttering the firmware-rockchip package with bootloader specific stuff.
> 
> Approach inspired by the patch series which introduced that
> infrastructure in ptxdist.  Same as with firmware-imx package.
> 
> Link: https://lore.ptxdist.org/ptxdist/20220129070330.2601433-6-michael.riesch@wolfvision.net/
> Signed-off-by: Alexander Dahl <ada@thorsis.com>
> ---
>  configs/platform-v8a/platformconfig           |  1 +
>  .../platforms/barebox.rockchip.in             | 14 +++++++++++++
>  .../platforms/firmware-rockchip.in            |  5 -----
>  .../platform-v8a/rules/barebox.rockchip.make  | 20 +++++++++++++++++++
>  .../platform-v8a/rules/firmware-rockchip.make | 10 ----------
>  5 files changed, 35 insertions(+), 15 deletions(-)
>  create mode 100644 configs/platform-v8a/platforms/barebox.rockchip.in
> 
> diff --git a/configs/platform-v8a/platformconfig b/configs/platform-v8a/platformconfig
> index ba33191..342aa11 100644
> --- a/configs/platform-v8a/platformconfig
> +++ b/configs/platform-v8a/platformconfig
> @@ -184,6 +184,7 @@ PTXCONF_BAREBOX_MD5="dcb443c48b64662b52974502c502427e"
>  PTXCONF_BAREBOX_CONFIG="barebox.config"
>  PTXCONF_BAREBOX_FIRMWARE=y
>  PTXCONF_BAREBOX_NEEDS_FIRMWARE_IMX=y
> +PTXCONF_BAREBOX_NEEDS_FIRMWARE_ROCKCHIP=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.rockchip.in b/configs/platform-v8a/platforms/barebox.rockchip.in
> new file mode 100644
> index 0000000..3291085
> --- /dev/null
> +++ b/configs/platform-v8a/platforms/barebox.rockchip.in
> @@ -0,0 +1,14 @@
> +## SECTION=barebox_firmware
> +
> +config BAREBOX_NEEDS_FIRMWARE_ROCKCHIP
> +	bool
> +	prompt "barebox needs firmware-rockchip"
> +	help
> +	  Select this if barebox needs the non-free Rockchip firmware blobs.
> +
> +config BAREBOX_DEPENDENCIES
> +	tristate
> +	select FIRMWARE_ROCKCHIP if BAREBOX_NEEDS_FIRMWARE_ROCKCHIP
> +	select FIRMWARE_ROCKCHIP_RK3568_SDRAM if BAREBOX_NEEDS_FIRMWARE_ROCKCHIP
> +	select FIRMWARE_ROCKCHIP_RK356x_BL31 if BAREBOX_NEEDS_FIRMWARE_ROCKCHIP
> +	select FIRMWARE_ROCKCHIP_RK356x_BL32 if BAREBOX_NEEDS_FIRMWARE_ROCKCHIP
> diff --git a/configs/platform-v8a/platforms/firmware-rockchip.in b/configs/platform-v8a/platforms/firmware-rockchip.in
> index 87a1490..aa70241 100644
> --- a/configs/platform-v8a/platforms/firmware-rockchip.in
> +++ b/configs/platform-v8a/platforms/firmware-rockchip.in
> @@ -39,8 +39,3 @@ config FIRMWARE_ROCKCHIP_RK356x_BL32
>  	  and the Rockchip RK3568 EVB1 board.
>  
>  endif
> -
> -config BAREBOX_DEPENDENCIES
> -	tristate
> -	select FIRMWARE_ROCKCHIP
> -
> diff --git a/configs/platform-v8a/rules/barebox.rockchip.make b/configs/platform-v8a/rules/barebox.rockchip.make
> index 17092a9..fad39c9 100644
> --- a/configs/platform-v8a/rules/barebox.rockchip.make
> +++ b/configs/platform-v8a/rules/barebox.rockchip.make
> @@ -9,4 +9,24 @@
>  # TODO: remove this when it is added in PTXdist upstream
>  BAREBOX_PROGS_HOST += rk-usb-loader
>  
> +#
> +# Firmware blobs for barebox
> +#
> +ifdef PTXCONF_FIRMWARE_ROCKCHIP
> +
> +ifdef PTXCONF_FIRMWARE_ROCKCHIP_RK356x_BL31
> +BAREBOX_INJECT_FILES += rk3568_bl31_v1.24.elf:firmware/rk3568-bl31.bin
> +endif
> +
> +ifdef PTXCONF_FIRMWARE_ROCKCHIP_RK356x_BL32
> +BAREBOX_INJECT_FILES += rk3568_bl32_v1.05.bin:firmware/rk3568-op-tee.bin
> +endif
> +
> +ifdef PTXCONF_FIRMWARE_ROCKCHIP_RK3568_SDRAM
> +BAREBOX_INJECT_FILES += rk3568_ddr_1560MHz_v1.08.bin:arch/arm/boards/rockchip-rk3568-evb/sdram-init.bin
> +BAREBOX_INJECT_FILES += rk3568_ddr_1560MHz_v1.08.bin:arch/arm/boards/radxa-rock3/sdram-init.bin
> +endif
> +
> +endif
> +
>  # vim: syntax=make
> diff --git a/configs/platform-v8a/rules/firmware-rockchip.make b/configs/platform-v8a/rules/firmware-rockchip.make
> index 6949148..dd50c86 100644
> --- a/configs/platform-v8a/rules/firmware-rockchip.make
> +++ b/configs/platform-v8a/rules/firmware-rockchip.make
> @@ -20,16 +20,6 @@ FIRMWARE_ROCKCHIP_SOURCE	:= $(SRCDIR)/$(FIRMWARE_ROCKCHIP).$(FIRMWARE_ROCKCHIP_S
>  FIRMWARE_ROCKCHIP_DIR		:= $(BUILDDIR)/$(FIRMWARE_ROCKCHIP)
>  FIRMWARE_ROCKCHIP_LICENSE	:= proprietary
>  
> -#
> -# Firmware blobs for barebox
> -#
> -ifdef PTXCONF_FIRMWARE_ROCKCHIP
> -BAREBOX_INJECT_FILES		+= rk3568_bl31_v1.24.elf:firmware/rk3568-bl31.bin
> -BAREBOX_INJECT_FILES		+= rk3568_bl32_v1.05.bin:firmware/rk3568-op-tee.bin
> -BAREBOX_INJECT_FILES		+= rk3568_ddr_1560MHz_v1.08.bin:arch/arm/boards/rockchip-rk3568-evb/sdram-init.bin
> -BAREBOX_INJECT_FILES		+= rk3568_ddr_1560MHz_v1.08.bin:arch/arm/boards/radxa-rock3/sdram-init.bin
> -endif
> -
>  # ----------------------------------------------------------------------------
>  # Prepare
>  # ----------------------------------------------------------------------------
> -- 
> 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    |



^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [DistroKit] [PATCH 8/9] platform: v8a: barebox: Remove extra host prog
  2024-04-25  8:03 ` [DistroKit] [PATCH 8/9] platform: v8a: barebox: Remove extra host prog Alexander Dahl
@ 2024-05-27 16:16   ` Robert Schwebel
  2024-05-28  6:14     ` Alexander Dahl
  0 siblings, 1 reply; 24+ messages in thread
From: Robert Schwebel @ 2024-05-27 16:16 UTC (permalink / raw)
  To: Alexander Dahl; +Cc: distrokit

On Thu, Apr 25, 2024 at 10:03:01AM +0200, Alexander Dahl wrote:
> Added to ptxdist-2023.07.0 and thus TODO completed.
> 
> Before removal BAREBOX_PROGS_HOST had this twice:
> 
>     % p print BAREBOX_PROGS_HOST
>     bareboxenv kernel-install bareboxcrc32 bareboximd setupmbr/setupmbr imx/imx-usb-loader rk-usb-loader rk-usb-loader

On next, I don't see this duplicate. Can you re-check?

> Fixes: cd9e439e789e ("ptxdist: version bump 2023.06.0 -> 2023.07.1")
> Signed-off-by: Alexander Dahl <ada@thorsis.com>
> ---
>  configs/platform-v8a/rules/barebox.rockchip.make | 3 ---
>  1 file changed, 3 deletions(-)
> 
> diff --git a/configs/platform-v8a/rules/barebox.rockchip.make b/configs/platform-v8a/rules/barebox.rockchip.make
> index fad39c9..c0789c6 100644
> --- a/configs/platform-v8a/rules/barebox.rockchip.make
> +++ b/configs/platform-v8a/rules/barebox.rockchip.make
> @@ -6,9 +6,6 @@
>  # see the README file.
>  #
>  
> -# TODO: remove this when it is added in PTXdist upstream
> -BAREBOX_PROGS_HOST += rk-usb-loader
> -
>  #
>  # Firmware blobs for barebox
>  #
> -- 
> 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    |



^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [DistroKit] [PATCH 9/9] platform: v8a: firmware-sentinel: Add new package
  2024-04-25  8:03 ` [DistroKit] [PATCH 9/9] " Alexander Dahl
@ 2024-05-27 16:17   ` Robert Schwebel
  0 siblings, 0 replies; 24+ messages in thread
From: Robert Schwebel @ 2024-05-27 16:17 UTC (permalink / raw)
  To: Alexander Dahl; +Cc: distrokit

Applied to next.

On Thu, Apr 25, 2024 at 10:03:03AM +0200, Alexander Dahl wrote:
> U-Boot for i.MX93 on Ka-Ro QS93-5210 SoM requires this additional firmware.
> 
> Signed-off-by: Alexander Dahl <ada@thorsis.com>
> ---
>  configs/platform-v8a/platformconfig           |  1 +
>  .../platforms/firmware-sentinel.in            |  5 ++
>  .../platform-v8a/rules/firmware-sentinel.make | 69 +++++++++++++++++++
>  3 files changed, 75 insertions(+)
>  create mode 100644 configs/platform-v8a/platforms/firmware-sentinel.in
>  create mode 100644 configs/platform-v8a/rules/firmware-sentinel.make
> 
> diff --git a/configs/platform-v8a/platformconfig b/configs/platform-v8a/platformconfig
> index 342aa11..d7df8b8 100644
> --- a/configs/platform-v8a/platformconfig
> +++ b/configs/platform-v8a/platformconfig
> @@ -364,4 +364,5 @@ PTXCONF_FIRMWARE_ROCKCHIP=y
>  PTXCONF_FIRMWARE_ROCKCHIP_RK3568_SDRAM=y
>  PTXCONF_FIRMWARE_ROCKCHIP_RK356x_BL31=y
>  PTXCONF_FIRMWARE_ROCKCHIP_RK356x_BL32=y
> +# PTXCONF_FIRMWARE_SENTINEL is not set
>  # end of non-free firmware blobs       
> diff --git a/configs/platform-v8a/platforms/firmware-sentinel.in b/configs/platform-v8a/platforms/firmware-sentinel.in
> new file mode 100644
> index 0000000..9225969
> --- /dev/null
> +++ b/configs/platform-v8a/platforms/firmware-sentinel.in
> @@ -0,0 +1,5 @@
> +## SECTION=non_free_firmware
> +
> +menuconfig FIRMWARE_SENTINEL
> +	tristate
> +	prompt "firmware-sentinel             "
> diff --git a/configs/platform-v8a/rules/firmware-sentinel.make b/configs/platform-v8a/rules/firmware-sentinel.make
> new file mode 100644
> index 0000000..855e58d
> --- /dev/null
> +++ b/configs/platform-v8a/rules/firmware-sentinel.make
> @@ -0,0 +1,69 @@
> +# -*-makefile-*-
> +#
> +# Copyright (C) 2024 by Alexander Dahl <ada@thorsis.com>
> +#
> +# For further information about the PTXdist project and license conditions
> +# see the README file.
> +#
> +
> +#
> +# We provide this package
> +#
> +PACKAGES-$(PTXCONF_FIRMWARE_SENTINEL) += firmware-sentinel
> +
> +#
> +# Paths and names
> +#
> +FIRMWARE_SENTINEL_VERSION	:= 0.11
> +FIRMWARE_SENTINEL_MD5		:= 339011b6b199151d835c03089a3c2221
> +FIRMWARE_SENTINEL_SKIP		:= 47053
> +FIRMWARE_SENTINEL		:= firmware-sentinel-$(FIRMWARE_SENTINEL_VERSION)
> +FIRMWARE_SENTINEL_SUFFIX	:= bin
> +FIRMWARE_SENTINEL_URL		:= http://www.nxp.com/lgfiles/NMG/MAD/YOCTO/$(FIRMWARE_SENTINEL).$(FIRMWARE_SENTINEL_SUFFIX)
> +FIRMWARE_SENTINEL_SOURCE	:= $(SRCDIR)/$(FIRMWARE_SENTINEL).$(FIRMWARE_SENTINEL_SUFFIX)
> +FIRMWARE_SENTINEL_DIR		:= $(BUILDDIR)/$(FIRMWARE_SENTINEL)
> +FIRMWARE_SENTINEL_LICENSE	:= NXP-Software-License-Agreement
> +FIRMWARE_SENTINEL_LICENSE_FILES	:= \
> +	file://COPYING;md5=db4762b09b6bda63da103963e6e081de
> +
> +# ----------------------------------------------------------------------------
> +# Extract
> +# ----------------------------------------------------------------------------
> +
> +$(STATEDIR)/firmware-sentinel.extract:
> +	@$(call targetinfo)
> +	@$(call clean, $(FIRMWARE_SENTINEL_DIR))
> +	@mkdir -p "$(FIRMWARE_SENTINEL_DIR)"
> +	@dd if="$(FIRMWARE_SENTINEL_SOURCE)" bs=$(FIRMWARE_SENTINEL_SKIP) skip=1 \
> +		| tar -xj --strip-components=2 -C "$(FIRMWARE_SENTINEL_DIR)"
> +	@$(call patchin, FIRMWARE_SENTINEL)
> +	@$(call touch)
> +
> +# ----------------------------------------------------------------------------
> +# Prepare
> +# ----------------------------------------------------------------------------
> +
> +FIRMWARE_SENTINEL_CONF_TOOL	:= NO
> +
> +# ----------------------------------------------------------------------------
> +# Compile
> +# ----------------------------------------------------------------------------
> +
> +$(STATEDIR)/firmware-sentinel.compile:
> +	@$(call targetinfo)
> +	@$(call touch)
> +
> +# ----------------------------------------------------------------------------
> +# Install
> +# ----------------------------------------------------------------------------
> +
> +$(STATEDIR)/firmware-sentinel.install:
> +	@$(call targetinfo)
> +
> +	@install -d -m755 $(FIRMWARE_SENTINEL_PKGDIR)/usr/lib/firmware
> +	@install -v -m644 $(FIRMWARE_SENTINEL_DIR)/mx93a1-ahab-container.img \
> +		$(FIRMWARE_SENTINEL_PKGDIR)/usr/lib/firmware/
> +
> +	@$(call touch)
> +
> +# vim: syntax=make
> -- 
> 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    |



^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [DistroKit] [PATCH 8/9] platform: v8a: barebox: Remove extra host prog
  2024-05-27 16:16   ` Robert Schwebel
@ 2024-05-28  6:14     ` Alexander Dahl
  2024-05-28  8:23       ` Robert Schwebel
  0 siblings, 1 reply; 24+ messages in thread
From: Alexander Dahl @ 2024-05-28  6:14 UTC (permalink / raw)
  To: Robert Schwebel; +Cc: Alexander Dahl, distrokit

Hello Robert,

Am Mon, May 27, 2024 at 06:16:42PM +0200 schrieb Robert Schwebel:
> On Thu, Apr 25, 2024 at 10:03:01AM +0200, Alexander Dahl wrote:
> > Added to ptxdist-2023.07.0 and thus TODO completed.
> > 
> > Before removal BAREBOX_PROGS_HOST had this twice:
> > 
> >     % p print BAREBOX_PROGS_HOST
> >     bareboxenv kernel-install bareboxcrc32 bareboximd setupmbr/setupmbr imx/imx-usb-loader rk-usb-loader rk-usb-loader
> 
> On next, I don't see this duplicate. Can you re-check?

    % p print BAREBOX_PROGS_HOST
    bareboxenv kernel-install bareboxcrc32 bareboximd setupmbr/setupmbr imx/imx-usb-loader rk-usb-loader rk-usb-loader

Still 'rk-usb-loader' twice in that list.

Greets
Alex

> 
> > Fixes: cd9e439e789e ("ptxdist: version bump 2023.06.0 -> 2023.07.1")
> > Signed-off-by: Alexander Dahl <ada@thorsis.com>
> > ---
> >  configs/platform-v8a/rules/barebox.rockchip.make | 3 ---
> >  1 file changed, 3 deletions(-)
> > 
> > diff --git a/configs/platform-v8a/rules/barebox.rockchip.make b/configs/platform-v8a/rules/barebox.rockchip.make
> > index fad39c9..c0789c6 100644
> > --- a/configs/platform-v8a/rules/barebox.rockchip.make
> > +++ b/configs/platform-v8a/rules/barebox.rockchip.make
> > @@ -6,9 +6,6 @@
> >  # see the README file.
> >  #
> >  
> > -# TODO: remove this when it is added in PTXdist upstream
> > -BAREBOX_PROGS_HOST += rk-usb-loader
> > -
> >  #
> >  # Firmware blobs for barebox
> >  #
> > -- 
> > 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    |



^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [DistroKit] [PATCH 6/9] platform: v8a: firmware-imx: Move barebox injects to separate package
  2024-05-27 16:15     ` Robert Schwebel
@ 2024-05-28  6:32       ` Alexander Dahl
  0 siblings, 0 replies; 24+ messages in thread
From: Alexander Dahl @ 2024-05-28  6:32 UTC (permalink / raw)
  To: Robert Schwebel; +Cc: distrokit

Hello Robert,

Am Mon, May 27, 2024 at 06:15:51PM +0200 schrieb Robert Schwebel:
> 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 <ada@thorsis.com>
> > > ---
> > >  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.

I don't understand.  My comment was more an additional remark for
reference.  From my point of view the barebox dependency to tf_a is
somewhat independent from the one to firmware_imx.  I think both
should be removed from the firmware_imx package, but this patch is
only about one of them.

Greets
Alex

> 
> > 
> > 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 <ada@thorsis.com>
> > > +#
> > > +# 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    |
> 

-- 
Alexander Dahl           Thorsis Technologies GmbH   T +49 391 544 563 1000
Industrieautomation      Oststr. 18                  F +49 391 544 563 9099
T +49 391 544 563 3036   39114 Magdeburg             https://www.thorsis.com/

Sitz der Gesellschaft: Magdeburg
Amtsgericht Stendal HRB 30646
Geschäftsführer: Dipl.-Inf. Michael Huschke



^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [DistroKit] [PATCH 8/9] platform: v8a: barebox: Remove extra host prog
  2024-05-28  6:14     ` Alexander Dahl
@ 2024-05-28  8:23       ` Robert Schwebel
  0 siblings, 0 replies; 24+ messages in thread
From: Robert Schwebel @ 2024-05-28  8:23 UTC (permalink / raw)
  To: distrokit

On Tue, May 28, 2024 at 08:14:00AM +0200, Alexander Dahl wrote:
> Am Mon, May 27, 2024 at 06:16:42PM +0200 schrieb Robert Schwebel:
> > On Thu, Apr 25, 2024 at 10:03:01AM +0200, Alexander Dahl wrote:
> > > Added to ptxdist-2023.07.0 and thus TODO completed.
> > > 
> > > Before removal BAREBOX_PROGS_HOST had this twice:
> > > 
> > >     % p print BAREBOX_PROGS_HOST
> > >     bareboxenv kernel-install bareboxcrc32 bareboximd setupmbr/setupmbr imx/imx-usb-loader rk-usb-loader rk-usb-loader
> > 
> > On next, I don't see this duplicate. Can you re-check?
> 
>     % p print BAREBOX_PROGS_HOST
>     bareboxenv kernel-install bareboxcrc32 bareboximd setupmbr/setupmbr imx/imx-usb-loader rk-usb-loader rk-usb-loader
> 
> Still 'rk-usb-loader' twice in that list.

Strange, I'm sure I didn't see this yesterday evening, but now the
duplicate is there as well...

rsc
-- 
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    |



^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2024-05-28  8:23 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-25  8:02 [DistroKit] [PATCH 0/9] platform: v8a: firmware: Rework for upper layers with different boards Alexander Dahl
2024-04-25  8:02 ` [DistroKit] [PATCH 1/9] platform: v8a: firmware-imx: Fix dependencies Alexander Dahl
2024-05-27 16:13   ` Robert Schwebel
2024-04-25  8:02 ` [DistroKit] [PATCH 2/9] platform: v8a: firmware-imx: Rework extract, install, and targetinstall Alexander Dahl
2024-05-27 16:13   ` Robert Schwebel
2024-04-25  8:02 ` [DistroKit] [PATCH 3/9] platform: v8a: firmware-imx: Version bump 8.8 -> 8.23 Alexander Dahl
2024-05-27 16:13   ` Robert Schwebel
2024-04-25  8:02 ` [DistroKit] [PATCH 4/9] platform: v8a: firmware-imx: Install more files for U-Boot Alexander Dahl
2024-05-27 16:14   ` Robert Schwebel
2024-04-25  8:02 ` [DistroKit] [PATCH 5/9] platform: v8a: firmware-imx: Install more files for i.MX93 Alexander Dahl
2024-05-27 16:15   ` Robert Schwebel
2024-04-25  8:02 ` [DistroKit] [PATCH 6/9] platform: v8a: firmware-imx: Move barebox injects to separate package Alexander Dahl
2024-04-25 12:33   ` Alexander Dahl
2024-05-27 16:15     ` Robert Schwebel
2024-05-28  6:32       ` Alexander Dahl
2024-04-25  8:03 ` [DistroKit] [PATCH 7/9] platform: v8a: firmware-rockchip: " Alexander Dahl
2024-05-27 16:16   ` Robert Schwebel
2024-04-25  8:03 ` [DistroKit] [PATCH 8/9] platform: v8a: barebox: Remove extra host prog Alexander Dahl
2024-05-27 16:16   ` Robert Schwebel
2024-05-28  6:14     ` Alexander Dahl
2024-05-28  8:23       ` Robert Schwebel
2024-04-25  8:03 ` [DistroKit] [PATCH 8/8] platform: v8a: firmware-sentinel: Add new package Alexander Dahl
2024-04-25  8:03 ` [DistroKit] [PATCH 9/9] " Alexander Dahl
2024-05-27 16:17   ` Robert Schwebel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox