Skip to contentSkip to conversation

boot/uboot: Add ddr3 IMX firmware files to uboot package dir

PATCH Applied Michael Trimarchi 2 participants 2 messages Dec 11, 2021 – Dec 12, 2021 Arm i.MX and Layerscape

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 boot/uboot: Add ddr3 IMX firmware files to uboot package dir

The mainline U-Boot can create an i.MX specific firmware image (e.g. flash.bin). For this the i.MX firmware files must be in the toplevel directory.

---
 boot/uboot/uboot.mk                           |  3 ++-
 package/freescale-imx/firmware-imx/Config.in  |  5 +++++
 .../firmware-imx/firmware-imx.mk              | 20 +++++++++++++++++++
 3 files changed, 27 insertions(+), 1 deletion(-)
boot/uboot/uboot.mk +2 -1
index 9661f901ea..c89216fac4 100644
@@ -187,7 +187,8 @@ UBOOT_DEPENDENCIES += firmware-imx
 UBOOT_IMX_FW_FILES = \
 	$(if $(BR2_PACKAGE_FIRMWARE_IMX_NEEDS_HDMI_FW),signed_hdmi_imx8m.bin) \
 	$(if $(BR2_PACKAGE_FIRMWARE_IMX_LPDDR4),lpddr4*.bin) \
-	$(if $(BR2_PACKAGE_FIRMWARE_IMX_DDR4),ddr4*.bin)
+	$(if $(BR2_PACKAGE_FIRMWARE_IMX_DDR4),ddr4*.bin) \
+	$(if $(BR2_PACKAGE_FIRMWARE_IMX_DDR3),ddr3*.bin)
 
 define UBOOT_COPY_IMX_FW_FILES
 	$(foreach fw,$(UBOOT_IMX_FW_FILES),\
package/freescale-imx/firmware-imx/Config.in +5 -0
index 0bd8000b50..df266fb28e 100644
@@ -71,6 +71,11 @@ config BR2_PACKAGE_FIRMWARE_IMX_DDR4
 	help
 	  Use DDR4 binaries (i.e.: ddr4_*_201810.bin).
 
+config BR2_PACKAGE_FIRMWARE_IMX_DDR3
+	bool "DDR3"
+	help
+	  Use DDR3 binaries (i.e.: ddr3_*_201810.bin).
+
 endchoice # DDR training FW
 
 config BR2_PACKAGE_FIRMWARE_IMX_IMEM_LEN
package/freescale-imx/firmware-imx/firmware-imx.mk +20 -0
index 60c97fd2b8..3acd053d0f 100644
@@ -82,6 +82,26 @@ define FIRMWARE_IMX_INSTALL_IMAGE_DDR_FW
 endef
 endif
 
+ifeq ($(BR2_PACKAGE_FIRMWARE_IMX_DDR3),y)
+FIRMWARE_IMX_DDRFW_DIR = $(@D)/firmware/ddr/synopsys
+
+define FIRMWARE_IMX_INSTALL_IMAGE_DDR_FW
+	# Create padded versions of ddr3_* and generate ddr3_fw.bin.
+	# 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
+
+	# U-Boot supports creation of the combined flash.bin image. To make
+	# sure that U-Boot can access all available files copy them to
+	# the binary dir.
+	cp $(FIRMWARE_IMX_DDRFW_DIR)/ddr3*.bin $(BINARIES_DIR)/
+endef
+endif
+
 #
 # HDMI firmware
 #
Signature · 6 lines
2.25.1

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#1 lore raw
Quoted 4 lines · Michael Trimarchi

The mainline U-Boot can create an i.MX specific firmware image (e.g. flash.bin). For this the i.MX firmware files must be in the toplevel directory.

Applied to master, thanks.

Regards,
Arnout

Quoted 58 lines
---
  boot/uboot/uboot.mk                           |  3 ++-
  package/freescale-imx/firmware-imx/Config.in  |  5 +++++
  .../firmware-imx/firmware-imx.mk              | 20 +++++++++++++++++++
  3 files changed, 27 insertions(+), 1 deletion(-)
boot/uboot/uboot.mk +2 -1
index 9661f901ea..c89216fac4 100644
@@ -187,7 +187,8 @@ UBOOT_DEPENDENCIES += firmware-imx
  UBOOT_IMX_FW_FILES = \
  	$(if $(BR2_PACKAGE_FIRMWARE_IMX_NEEDS_HDMI_FW),signed_hdmi_imx8m.bin) \
  	$(if $(BR2_PACKAGE_FIRMWARE_IMX_LPDDR4),lpddr4*.bin) \
-	$(if $(BR2_PACKAGE_FIRMWARE_IMX_DDR4),ddr4*.bin)
+	$(if $(BR2_PACKAGE_FIRMWARE_IMX_DDR4),ddr4*.bin) \
+	$(if $(BR2_PACKAGE_FIRMWARE_IMX_DDR3),ddr3*.bin)
 
  define UBOOT_COPY_IMX_FW_FILES
  	$(foreach fw,$(UBOOT_IMX_FW_FILES),\
package/freescale-imx/firmware-imx/Config.in +5 -0
index 0bd8000b50..df266fb28e 100644
@@ -71,6 +71,11 @@ config BR2_PACKAGE_FIRMWARE_IMX_DDR4
  	help
  	  Use DDR4 binaries (i.e.: ddr4_*_201810.bin).
 
+config BR2_PACKAGE_FIRMWARE_IMX_DDR3
+	bool "DDR3"
+	help
+	  Use DDR3 binaries (i.e.: ddr3_*_201810.bin).
+
  endchoice # DDR training FW
 
  config BR2_PACKAGE_FIRMWARE_IMX_IMEM_LEN
package/freescale-imx/firmware-imx/firmware-imx.mk +13 -0
index 60c97fd2b8..3acd053d0f 100644
@@ -82,6 +82,26 @@ define FIRMWARE_IMX_INSTALL_IMAGE_DDR_FW
  endef
  endif
 
+ifeq ($(BR2_PACKAGE_FIRMWARE_IMX_DDR3),y)
+FIRMWARE_IMX_DDRFW_DIR = $(@D)/firmware/ddr/synopsys
+
+define FIRMWARE_IMX_INSTALL_IMAGE_DDR_FW
+	# Create padded versions of ddr3_* and generate ddr3_fw.bin.
+	# 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
+

package/freescale-imx/firmware-imx/firmware-imx.mk define FIRMWARE_IMX_INSTALL_IMAGE_DDR_FW · line 107

Quoted 10 lines
package/freescale-imx/firmware-imx/firmware-imx.mk +7 -0
+	# U-Boot supports creation of the combined flash.bin image. To make
+	# sure that U-Boot can access all available files copy them to
+	# the binary dir.
+	cp $(FIRMWARE_IMX_DDRFW_DIR)/ddr3*.bin $(BINARIES_DIR)/
+endef
+endif
+
  #
  # HDMI firmware
  #

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot