package/freescale-imx/firmware-imx: custom padding

Some derivatives (such as Variscite imx8mm) expect the (LP)DDR4
training data to be padded to a different length.

eg: https://github.com/varigit/uboot-imx/commit/5f8d814f

This patch makes the padding length configurable.

Signed-off-by: Tibault Damman <tibault.damman@basalte.be>
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Reviewed-by: Gary Bisson <gary.bisson@boundarydevices.com>
Tested-by: Stephane Viau <stephane.viau@oss.nxp.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Tibault Damman 2020-09-15 15:04:14 +02:00 committed by Thomas Petazzoni
parent 4e89862706
commit caf7eb1ca5
2 changed files with 16 additions and 2 deletions

View File

@ -69,6 +69,18 @@ config BR2_PACKAGE_FIRMWARE_IMX_DDR4
endchoice # DDR training FW
config BR2_PACKAGE_FIRMWARE_IMX_IMEM_LEN
hex "(LP)DDR IMEM padding length"
default 0x8000
help
The IMEM firmware will be padded to this length
config BR2_PACKAGE_FIRMWARE_IMX_DMEM_LEN
hex "(LP)DDR DMEM padding length"
default 0x4000
help
The DMEM firmware will be padded to this length
endif # BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW
endif # BR2_PACKAGE_FIRMWARE_IMX

View File

@ -23,10 +23,12 @@ endef
#
define FIRMWARE_IMX_PREPARE_DDR_FW
$(TARGET_OBJCOPY) -I binary -O binary --pad-to 0x8000 --gap-fill=0x0 \
$(TARGET_OBJCOPY) -I binary -O binary \
--pad-to $(BR2_PACKAGE_FIRMWARE_IMX_IMEM_LEN) --gap-fill=0x0 \
$(FIRMWARE_IMX_DDRFW_DIR)/$(strip $(1)).bin \
$(FIRMWARE_IMX_DDRFW_DIR)/$(strip $(1))_pad.bin
$(TARGET_OBJCOPY) -I binary -O binary --pad-to 0x4000 --gap-fill=0x0 \
$(TARGET_OBJCOPY) -I binary -O binary \
--pad-to $(BR2_PACKAGE_FIRMWARE_IMX_DMEM_LEN) --gap-fill=0x0 \
$(FIRMWARE_IMX_DDRFW_DIR)/$(strip $(2)).bin \
$(FIRMWARE_IMX_DDRFW_DIR)/$(strip $(2))_pad.bin
cat $(FIRMWARE_IMX_DDRFW_DIR)/$(strip $(1))_pad.bin \