1config BR2_PACKAGE_FIRMWARE_IMX
2	bool "firmware-imx"
3	depends on BR2_arm || BR2_aarch64 # Only relevant for i.MX
4	help
5	  Firmware blobs for the Freescale i.MX SoCs.
6
7	  It contains blobs for SDMA, VPU, HDMI, EDPC, and DDR
8	  training.
9
10	  This library is provided by Freescale as-is and doesn't have
11	  an upstream.
12
13if BR2_PACKAGE_FIRMWARE_IMX
14
15config BR2_PACKAGE_FIRMWARE_IMX_SDMA_FW_NAME
16	string
17	default "imx25" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX25_3STACK
18	default "imx51" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX51
19	default "imx53" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX53
20	default "imx6q" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q
21	default "imx6q" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6S
22	default "imx6q" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6UL
23	default "imx7d" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7
24	default "imx7d" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M
25	default "imx7d" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM
26	default "imx7d" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN
27	default "imx7d" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP
28
29config BR2_PACKAGE_FIRMWARE_IMX_VPU_FW_NAME
30	string
31	default "imx27" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX27ADS
32	default "imx51" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX51
33	default "imx53" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX53
34	default "imx6"  if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q
35	default "imx8"  if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8
36	default "imx8"  if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X
37	default "imx8"  if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8DXL
38
39config BR2_PACKAGE_FIRMWARE_IMX_NEEDS_HDMI_FW
40	bool
41	default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M
42
43config BR2_PACKAGE_FIRMWARE_IMX_NEEDS_EASRC_FW
44	bool
45	default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN
46
47config BR2_PACKAGE_FIRMWARE_IMX_NEEDS_EPDC_FW
48	bool
49	default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q
50	default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6S
51
52config BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW
53	bool
54	default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M
55	default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM
56	default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN
57	default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP
58
59config BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW_IMX9
60	bool
61	default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX91
62	default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX93
63
64if BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW
65
66choice
67	bool "DDR training binaries"
68	default BR2_PACKAGE_FIRMWARE_IMX_LPDDR4
69	help
70	  Choose the DDR training binaries to be used depending on the
71	  kind of memory that is available on the target board (DDR4,
72	  LPDDR4, etc...).
73
74config BR2_PACKAGE_FIRMWARE_IMX_LPDDR4
75	bool "lpddr4"
76	help
77	  Use LPDDR4 binaries (i.e.: lpddr4_pmu_train_*.bin)
78
79config BR2_PACKAGE_FIRMWARE_IMX_DDR4
80	bool "DDR4"
81	help
82	  Use DDR4 binaries (i.e.: ddr4_*_201810.bin).
83
84config BR2_PACKAGE_FIRMWARE_IMX_DDR3
85	bool "DDR3"
86	help
87	  Use DDR3 binaries (i.e.: ddr3_*_201810.bin).
88
89endchoice # DDR training FW
90
91config BR2_PACKAGE_FIRMWARE_IMX_DDR_VERSION
92	string "DDR3/DDR4/LPDDR4 firmware version"
93	# Needed for backward compatibility, the package used to
94	# unconditionally use HW version 201810 when DDR3/DDR4 was
95	# selected
96	default "201810" if BR2_PACKAGE_FIRMWARE_IMX_DDR3 || BR2_PACKAGE_FIRMWARE_IMX_DDR4
97	help
98	  Use a specific version of the imx ddr binaries. Leaving this
99	  field empty will select the default version.
100
101endif # BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW
102
103if BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW || BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW_IMX9
104
105config BR2_PACKAGE_FIRMWARE_IMX_IMEM_LEN
106	hex "(LP)DDR IMEM padding length"
107	default 0x8000
108	help
109	  The IMEM firmware will be padded to this length
110
111config BR2_PACKAGE_FIRMWARE_IMX_DMEM_LEN
112	hex "(LP)DDR DMEM padding length"
113	default 0x4000
114	help
115	  The DMEM firmware will be padded to this length
116
117endif # BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW || BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW_IMX9
118
119endif # BR2_PACKAGE_FIRMWARE_IMX
120