@@ -61,6 +61,12 @@ config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X
config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8DXL
bool "imx8dxl"
+config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX91
+ bool "imx91"
+
+config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX93
+ bool "imx93"
+
endchoice
config BR2_PACKAGE_FREESCALE_IMX_PLATFORM
@@ -80,6 +86,8 @@ config BR2_PACKAGE_FREESCALE_IMX_PLATFORM
default "IMX8MM" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM
default "IMX8MN" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN
default "IMX8MP" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP
+ default "IMX91" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX91
+ default "IMX93" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX93
config BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
bool
@@ -55,6 +55,8 @@ config BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW
default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM
default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN
default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP
+ default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX91
+ default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX93
if BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW
@@ -73,11 +75,15 @@ config BR2_PACKAGE_FIRMWARE_IMX_LPDDR4
config BR2_PACKAGE_FIRMWARE_IMX_DDR4
bool "DDR4"
+ depends on !BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX91
+ depends on !BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX93
help
Use DDR4 binaries (i.e.: ddr4_*_201810.bin).
config BR2_PACKAGE_FIRMWARE_IMX_DDR3
bool "DDR3"
+ depends on !BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX91
+ depends on !BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX93
help
Use DDR3 binaries (i.e.: ddr3_*_201810.bin).
@@ -89,6 +95,9 @@ config BR2_PACKAGE_FIRMWARE_IMX_DDR_VERSION
# unconditionally use HW version 201810 when DDR3/DDR4 was
# selected
default "201810" if BR2_PACKAGE_FIRMWARE_IMX_DDR3 || BR2_PACKAGE_FIRMWARE_IMX_DDR4
+ default "202201" if \
+ BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX91 || \
+ BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX93
help
Use a specific version of the imx ddr binaries. Leaving this
field empty will select the default version.
@@ -43,11 +43,33 @@ 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)
+ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX91)$(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX93),y)
+FIRMWARE_IMX_DDR_VERSION_SUFFIX = _v$(FIRMWARE_IMX_DDR_VERSION)
+endif
endif
ifeq ($(BR2_PACKAGE_FIRMWARE_IMX_LPDDR4),y)
FIRMWARE_IMX_DDRFW_DIR = $(@D)/firmware/ddr/synopsys
+ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX91)$(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX93),y)
+define FIRMWARE_IMX_INSTALL_IMAGE_DDR_FW
+ # Create padded versions of lpddr4_pmu_* and generate lpddr4_pmu_train_fw.bin.
+ # lpddr4_pmu_train_fw.bin is needed when generating imx9-boot-sd.bin
+ # which is done in post-image script.
+ $(call FIRMWARE_IMX_PREPARE_DDR_FW, \
+ lpddr4_imem_1d$(FIRMWARE_IMX_DDR_VERSION_SUFFIX),
+ lpddr4_dmem_1d$(FIRMWARE_IMX_DDR_VERSION_SUFFIX),
+ lpddr4_pmu_train_1d_fw)
+ $(call FIRMWARE_IMX_PREPARE_DDR_FW, \
+ lpddr4_imem_2d$(FIRMWARE_IMX_DDR_VERSION_SUFFIX),
+ lpddr4_dmem_2d$(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
+ ln -sf $(BINARIES_DIR)/lpddr4_pmu_train_fw.bin $(BINARIES_DIR)/ddr_fw.bin
+endef
+else
define FIRMWARE_IMX_INSTALL_IMAGE_DDR_FW
# Create padded versions of lpddr4_pmu_* and generate lpddr4_pmu_train_fw.bin.
# lpddr4_pmu_train_fw.bin is needed when generating imx8-boot-sd.bin
@@ -71,6 +93,7 @@ define FIRMWARE_IMX_INSTALL_IMAGE_DDR_FW
cp $(FIRMWARE_IMX_DDRFW_DIR)/lpddr4*.bin $(BINARIES_DIR)/
endef
endif
+endif
ifeq ($(BR2_PACKAGE_FIRMWARE_IMX_DDR4),y)
FIRMWARE_IMX_DDRFW_DIR = $(@D)/firmware/ddr/synopsys
This commit adds i.MX91 and i.MX93 support to Buildroot. https://www.nxp.com/products/processors-and-microcontrollers/arm-processors/i-mx-applications-processors/i-mx-9-processors:IMX9-PROCESSORS There is no i.MX95 software provided by NXP at the moment that's why i.MX95 is left behind. Adapt package firmware-imx for the LPPDR4 firwmares binaries. Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com> --- package/freescale-imx/Config.in | 8 +++++++ package/freescale-imx/firmware-imx/Config.in | 9 ++++++++ .../firmware-imx/firmware-imx.mk | 23 +++++++++++++++++++ 3 files changed, 40 insertions(+)