All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/4] firmware-imx: add support for iMX8M firmware
@ 2018-04-12 12:35 Erik Larsson
  2018-04-12 12:35 ` [Buildroot] [PATCH 2/4] imx: make post-image.sh arm64 compatible Erik Larsson
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Erik Larsson @ 2018-04-12 12:35 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Erik Larsson <karl.erik.larsson@gmail.com>
Signed-off-by: Christopher Dahlberg <crille.dahlberg@gmail.com>
---
 package/freescale-imx/firmware-imx/Config.in       |  2 +-
 package/freescale-imx/firmware-imx/firmware-imx.mk | 28 ++++++++++++++++++++++
 2 files changed, 29 insertions(+), 1 deletion(-)

diff --git a/package/freescale-imx/firmware-imx/Config.in b/package/freescale-imx/firmware-imx/Config.in
index fca280a..56d5b80 100644
--- a/package/freescale-imx/firmware-imx/Config.in
+++ b/package/freescale-imx/firmware-imx/Config.in
@@ -1,6 +1,6 @@
 config BR2_PACKAGE_FIRMWARE_IMX
 	bool "firmware-imx"
-	depends on BR2_arm # Only relevant for i.MX
+	depends on BR2_arm || BR2_aarch64 # Only relevant for i.MX
 	help
 	  Firmware blobs for the Freescale i.MX SoCs.
 
diff --git a/package/freescale-imx/firmware-imx/firmware-imx.mk b/package/freescale-imx/firmware-imx/firmware-imx.mk
index d5387b3..93a4c1a 100644
--- a/package/freescale-imx/firmware-imx/firmware-imx.mk
+++ b/package/freescale-imx/firmware-imx/firmware-imx.mk
@@ -18,6 +18,33 @@ define FIRMWARE_IMX_EXTRACT_CMDS
 	$(call FREESCALE_IMX_EXTRACT_HELPER,$(FIRMWARE_IMX_DL_DIR)/$(FIRMWARE_IMX_SOURCE))
 endef
 
+ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M),y)
+FIRMWARE_IMX_INSTALL_IMAGES = YES
+define FIRMWARE_IMX_PREPARE_LPDDR4_FW
+	(cd $(@D)/firmware/ddr/synopsys/ && \
+		$(TARGET_OBJCOPY) -I binary -O binary --pad-to 0x8000 --gap-fill=0x0 \
+			lpddr4_pmu_train_$(1)_imem.bin \
+			lpddr4_pmu_train_$(1)_imem_pad.bin && \
+		$(TARGET_OBJCOPY) -I binary -O binary --pad-to 0x4000 --gap-fill=0x0 \
+			lpddr4_pmu_train_$(1)_dmem.bin \
+			lpddr4_pmu_train_$(1)_dmem_pad.bin && \
+		cat lpddr4_pmu_train_$(1)_imem_pad.bin lpddr4_pmu_train_$(1)_dmem_pad.bin > \
+			lpddr4_pmu_train_$(1)_fw.bin \
+	)
+endef
+
+define FIRMWARE_IMX_INSTALL_IMAGES_CMDS
+	# Create padded versions of lpddr4_pmu_* and generate lpddr4_pmu_train_fw.bin.
+	# lpddr4_pmu_train_fw.bin isneeded when generating imx-boot-imx8mqevk-sd.bin
+	# which is done in post-image script.
+	$(call FIRMWARE_IMX_PREPARE_LPDDR4_FW,1d)
+	$(call FIRMWARE_IMX_PREPARE_LPDDR4_FW,2d)
+	cat $(@D)/firmware/ddr/synopsys/lpddr4_pmu_train_1d_fw.bin \
+		$(@D)/firmware/ddr/synopsys/lpddr4_pmu_train_2d_fw.bin > \
+		$(BINARIES_DIR)/lpddr4_pmu_train_fw.bin
+	cp $(@D)/firmware/hdmi/cadence/signed_hdmi_imx8m.bin $(BINARIES_DIR)/signed_hdmi_imx8m.bin
+endef
+else
 define FIRMWARE_IMX_INSTALL_TARGET_CMDS
 	mkdir -p $(TARGET_DIR)/lib/firmware/imx
 	for blobdir in $(FIRMWARE_IMX_BLOBS); do \
@@ -27,5 +54,6 @@ define FIRMWARE_IMX_INSTALL_TARGET_CMDS
 	mv $(TARGET_DIR)/lib/firmware/imx/epdc/epdc_ED060XH2C1.fw.nonrestricted \
 		$(TARGET_DIR)/lib/firmware/imx/epdc/epdc_ED060XH2C1.fw
 endef
+endif
 
 $(eval $(generic-package))
-- 
2.7.4

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

end of thread, other threads:[~2018-04-12 20:50 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-04-12 12:35 [Buildroot] [PATCH 1/4] firmware-imx: add support for iMX8M firmware Erik Larsson
2018-04-12 12:35 ` [Buildroot] [PATCH 2/4] imx: make post-image.sh arm64 compatible Erik Larsson
2018-04-12 20:35   ` Thomas Petazzoni
2018-04-12 12:35 ` [Buildroot] [PATCH 3/4] imx: add imx8 boot preparation script Erik Larsson
2018-04-12 20:50   ` Thomas Petazzoni
2018-04-12 12:35 ` [Buildroot] [PATCH 4/4] configs/freescale_imx8mqevk: new defconfig Erik Larsson
2018-04-12 20:50   ` Thomas Petazzoni
2018-04-12 20:18 ` [Buildroot] [PATCH 1/4] firmware-imx: add support for iMX8M firmware Thomas Petazzoni

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.