Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2 1/1] package/freescale-imx/firmware-imx: allow ddr firmware version override
@ 2022-08-16  7:05 Bram Vlerick
  2022-08-23 21:39 ` Thomas Petazzoni via buildroot
  0 siblings, 1 reply; 2+ messages in thread
From: Bram Vlerick @ 2022-08-16  7:05 UTC (permalink / raw)
  To: buildroot; +Cc: Gary Bisson, Refik Tuzakli

Add support for selecting a specific version of the DDR firmware
version. For example Variscite's imx8mp-var-dart SOM requires the
"_202006" version of the lpddr4_pmu_train_* binaries.

Signed-off-by: Bram Vlerick <bram.vlerick@openpixelsystems.org>
---
 package/freescale-imx/firmware-imx/Config.in  | 10 +++++
 .../firmware-imx/firmware-imx.mk              | 39 +++++++++++++------
 2 files changed, 37 insertions(+), 12 deletions(-)

diff --git a/package/freescale-imx/firmware-imx/Config.in b/package/freescale-imx/firmware-imx/Config.in
index 06c4d8036c..0c1913e227 100644
--- a/package/freescale-imx/firmware-imx/Config.in
+++ b/package/freescale-imx/firmware-imx/Config.in
@@ -82,6 +82,16 @@ config BR2_PACKAGE_FIRMWARE_IMX_DDR3
 
 endchoice # DDR training FW
 
+config BR2_PACKAGE_FIRMWARE_IMX_DDR_VERSION
+	string "DDR3/DDR4/LPDDR4 firmware version"
+	# Needed for backward compatibility, the package used to
+	# unconditionally use HW version 201810 when DDR3/DDR4 was
+	# selected
+	default "201810" if BR2_PACKAGE_FIRMWARE_IMX_DDR3 || BR2_PACKAGE_FIRMWARE_IMX_DDR4
+	help
+	  Use a specific version of the imx ddr binaries. Leaving this
+	  field empty will select the default version.
+
 config BR2_PACKAGE_FIRMWARE_IMX_IMEM_LEN
 	hex "(LP)DDR IMEM padding length"
 	default 0x8000
diff --git a/package/freescale-imx/firmware-imx/firmware-imx.mk b/package/freescale-imx/firmware-imx/firmware-imx.mk
index 47c21585aa..3fd07617dc 100644
--- a/package/freescale-imx/firmware-imx/firmware-imx.mk
+++ b/package/freescale-imx/firmware-imx/firmware-imx.mk
@@ -36,6 +36,11 @@ define FIRMWARE_IMX_PREPARE_DDR_FW
 		$(FIRMWARE_IMX_DDRFW_DIR)/$(strip $(3)).bin
 endef
 
+FIRMWARE_IMX_DDR_VERSION = $(call qstrip,$(BR2_PACKAGE_FIRMWARE_IMX_DDR_VERSION))
+ifneq ($(FIRMWARE_IMX_DDR_VERSION),)
+FIRMWARE_IMX_DDR_VERSION_SUFFIX = _$(FIRMWARE_IMX_DDR_VERSION)
+endif
+
 ifeq ($(BR2_PACKAGE_FIRMWARE_IMX_LPDDR4),y)
 FIRMWARE_IMX_DDRFW_DIR = $(@D)/firmware/ddr/synopsys
 
@@ -44,9 +49,13 @@ define FIRMWARE_IMX_INSTALL_IMAGE_DDR_FW
 	# lpddr4_pmu_train_fw.bin is needed when generating imx8-boot-sd.bin
 	# which is done in post-image script.
 	$(call FIRMWARE_IMX_PREPARE_DDR_FW, \
-		lpddr4_pmu_train_1d_imem,lpddr4_pmu_train_1d_dmem,lpddr4_pmu_train_1d_fw)
+		lpddr4_pmu_train_1d_imem$(FIRMWARE_IMX_DDR_VERSION_SUFFIX),
+		lpddr4_pmu_train_1d_dmem$(FIRMWARE_IMX_DDR_VERSION_SUFFIX),
+		lpddr4_pmu_train_1d_fw)
 	$(call FIRMWARE_IMX_PREPARE_DDR_FW, \
-		lpddr4_pmu_train_2d_imem,lpddr4_pmu_train_2d_dmem,lpddr4_pmu_train_2d_fw)
+		lpddr4_pmu_train_2d_imem$(FIRMWARE_IMX_DDR_VERSION_SUFFIX),
+		lpddr4_pmu_train_2d_dmem$(FIRMWARE_IMX_DDR_VERSION_SUFFIX),
+		lpddr4_pmu_train_2d_fw)
 	cat $(FIRMWARE_IMX_DDRFW_DIR)/lpddr4_pmu_train_1d_fw.bin \
 		$(FIRMWARE_IMX_DDRFW_DIR)/lpddr4_pmu_train_2d_fw.bin > \
 		$(BINARIES_DIR)/lpddr4_pmu_train_fw.bin
@@ -67,13 +76,17 @@ define FIRMWARE_IMX_INSTALL_IMAGE_DDR_FW
 	# ddr4_fw.bin is needed when generating imx8-boot-sd.bin
 	# which is done in post-image script.
 	$(call FIRMWARE_IMX_PREPARE_DDR_FW, \
-		ddr4_imem_1d_201810,ddr4_dmem_1d_201810,ddr4_1d_201810_fw)
+		ddr4_imem_1d$(FIRMWARE_IMX_DDR_VERSION_SUFFIX),
+		ddr4_dmem_1d$(FIRMWARE_IMX_DDR_VERSION_SUFFIX),
+		ddr4_1d_fw)
 	$(call FIRMWARE_IMX_PREPARE_DDR_FW, \
-		ddr4_imem_2d_201810,ddr4_dmem_2d_201810,ddr4_2d_201810_fw)
-	cat $(FIRMWARE_IMX_DDRFW_DIR)/ddr4_1d_201810_fw.bin \
-		$(FIRMWARE_IMX_DDRFW_DIR)/ddr4_2d_201810_fw.bin > \
-		$(BINARIES_DIR)/ddr4_201810_fw.bin
-	ln -sf $(BINARIES_DIR)/ddr4_201810_fw.bin $(BINARIES_DIR)/ddr_fw.bin
+		ddr4_imem_2d$(FIRMWARE_IMX_DDR_VERSION_SUFFIX),
+		ddr4_dmem_2d$(FIRMWARE_IMX_DDR_VERSION_SUFFIX),
+		ddr4_2d_fw)
+	cat $(FIRMWARE_IMX_DDRFW_DIR)/ddr4_1d_fw.bin \
+		$(FIRMWARE_IMX_DDRFW_DIR)/ddr4_2d_fw.bin > \
+		$(BINARIES_DIR)/ddr4_fw.bin
+	ln -sf $(BINARIES_DIR)/ddr4_fw.bin $(BINARIES_DIR)/ddr_fw.bin
 
 	# U-Boot supports creation of the combined flash.bin image. To make
 	# sure that U-Boot can access all available files copy them to
@@ -90,10 +103,12 @@ define FIRMWARE_IMX_INSTALL_IMAGE_DDR_FW
 	# ddr3_fw.bin is needed when generating imx8-boot-sd.bin
 	# which is done in post-image script.
 	$(call FIRMWARE_IMX_PREPARE_DDR_FW, \
-		ddr3_imem_1d_201810,ddr3_dmem_1d_201810,ddr3_1d_201810_fw)
-	cat $(FIRMWARE_IMX_DDRFW_DIR)/ddr3_1d_201810_fw.bin > \
-		$(BINARIES_DIR)/ddr3_201810_fw.bin
-	ln -sf $(BINARIES_DIR)/ddr3_201810_fw.bin $(BINARIES_DIR)/ddr_fw.bin
+		ddr3_imem_1d$(FIRMWARE_IMX_DDR_VERSION_SUFFIX),
+		ddr3_dmem_1d$(FIRMWARE_IMX_DDR_VERSION_SUFFIX),
+		ddr3_1d_fw)
+	cat $(FIRMWARE_IMX_DDRFW_DIR)/ddr3_1d_fw.bin > \
+		$(BINARIES_DIR)/ddr3_fw.bin
+	ln -sf $(BINARIES_DIR)/ddr3_fw.bin $(BINARIES_DIR)/ddr_fw.bin
 
 	# U-Boot supports creation of the combined flash.bin image. To make
 	# sure that U-Boot can access all available files copy them to
-- 
2.31.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH v2 1/1] package/freescale-imx/firmware-imx: allow ddr firmware version override
  2022-08-16  7:05 [Buildroot] [PATCH v2 1/1] package/freescale-imx/firmware-imx: allow ddr firmware version override Bram Vlerick
@ 2022-08-23 21:39 ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 2+ messages in thread
From: Thomas Petazzoni via buildroot @ 2022-08-23 21:39 UTC (permalink / raw)
  To: Bram Vlerick; +Cc: Gary Bisson, Refik Tuzakli, buildroot

Hello Bram,

On Tue, 16 Aug 2022 09:05:17 +0200
Bram Vlerick <bram.vlerick@openpixelsystems.org> wrote:

> Add support for selecting a specific version of the DDR firmware
> version. For example Variscite's imx8mp-var-dart SOM requires the
> "_202006" version of the lpddr4_pmu_train_* binaries.
> 
> Signed-off-by: Bram Vlerick <bram.vlerick@openpixelsystems.org>
> ---
>  package/freescale-imx/firmware-imx/Config.in  | 10 +++++
>  .../firmware-imx/firmware-imx.mk              | 39 +++++++++++++------
>  2 files changed, 37 insertions(+), 12 deletions(-)

Thanks for this new iteration, which I have applied to our next branch.
This means this change will not be in Buildroot 2022.08, but in
Buildroot 2022.11.

Thanks again for your contribution!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

end of thread, other threads:[~2022-08-23 21:39 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-08-16  7:05 [Buildroot] [PATCH v2 1/1] package/freescale-imx/firmware-imx: allow ddr firmware version override Bram Vlerick
2022-08-23 21:39 ` Thomas Petazzoni via buildroot

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