kumquat-buildroot/package/freescale-imx/firmware-imx/Config.in
Sébastien Szymanski c1cdd48e13 package/freescale-imx: add i.MX91 and i.MX93 SoC support
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 firmware binaries. The i.MX91
and i.MX93 only support LPDDR4 and LPDDR4x, but using different binaries
than i.MX8. For simplicity, use a completely separate code path for
i.MX91 and i.MX93, using the symbol
BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW_IMX9. There is only one type of
firmware supported, so there's no need for a choice or for selecting the
version (at least for now).

Reviewed-by: Gary Bisson <bisson.gary@gmail.com>
Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
[Arnout:
 - Remove BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX91A1 option.
 - Re-wrap help text.
 - Introduce BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW_IMX9 instead of
   reusing BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW.
 - Create completely separate instance of
   FIRMWARE_IMX_INSTALL_IMAGE_DDR_FW for
   BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW_IMX9.
 - Drop the training binaries choice for IMX9.
 - Drop the firmware version option for IMX9.
 - Keep options for IMEM and DMEM padding.
]
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
2024-02-12 21:49:15 +01:00

120 lines
3.9 KiB
Plaintext

config BR2_PACKAGE_FIRMWARE_IMX
bool "firmware-imx"
depends on BR2_arm || BR2_aarch64 # Only relevant for i.MX
help
Firmware blobs for the Freescale i.MX SoCs.
It contains blobs for SDMA, VPU, HDMI, EDPC, and DDR
training.
This library is provided by Freescale as-is and doesn't have
an upstream.
if BR2_PACKAGE_FIRMWARE_IMX
config BR2_PACKAGE_FIRMWARE_IMX_SDMA_FW_NAME
string
default "imx25" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX25_3STACK
default "imx51" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX51
default "imx53" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX53
default "imx6q" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q
default "imx6q" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6S
default "imx6q" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6UL
default "imx7d" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7
default "imx7d" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M
default "imx7d" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM
default "imx7d" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN
default "imx7d" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP
config BR2_PACKAGE_FIRMWARE_IMX_VPU_FW_NAME
string
default "imx27" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX27ADS
default "imx51" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX51
default "imx53" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX53
default "imx6" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q
default "imx8" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8
default "imx8" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X
default "imx8" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8DXL
config BR2_PACKAGE_FIRMWARE_IMX_NEEDS_HDMI_FW
bool
default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M
config BR2_PACKAGE_FIRMWARE_IMX_NEEDS_EASRC_FW
bool
default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN
config BR2_PACKAGE_FIRMWARE_IMX_NEEDS_EPDC_FW
bool
default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q
default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6S
config BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW
bool
default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M
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
config BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW_IMX9
bool
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
choice
bool "DDR training binaries"
default BR2_PACKAGE_FIRMWARE_IMX_LPDDR4
help
Choose the DDR training binaries to be used depending on the
kind of memory that is available on the target board (DDR4,
LPDDR4, etc...).
config BR2_PACKAGE_FIRMWARE_IMX_LPDDR4
bool "lpddr4"
help
Use LPDDR4 binaries (i.e.: lpddr4_pmu_train_*.bin)
config BR2_PACKAGE_FIRMWARE_IMX_DDR4
bool "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_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.
endif # BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW
if BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW || BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW_IMX9
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 || BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW_IMX9
endif # BR2_PACKAGE_FIRMWARE_IMX