1config MACH_IMX
2	bool
3
4if MACH_IMX
5
6config HAS_CAAM
7	bool
8
9config IMX_CONFIG
10	string "DCD script to use"
11	depends on MACH_IMX
12	default "arch/arm/mach-imx/spl_sd.cfg"
13
14config ROM_UNIFIED_SECTIONS
15	bool
16
17config SYSCOUNTER_TIMER
18	bool
19
20config GPT_TIMER
21	bool
22
23config MXC_GPT_HCLK
24	bool
25
26config IMX_RDC
27	bool "i.MX Resource domain controller driver"
28	depends on ARCH_MX6 || ARCH_MX7
29	help
30	  i.MX Resource domain controller is used to assign masters
31	  and peripherals to differet domains. This can be used to
32	  isolate resources.
33
34config IMX_BOOTAUX
35	bool "Support boot auxiliary core"
36	depends on ARCH_MX7 || ARCH_MX6 || ARCH_VF610 || ARCH_IMX8 || ARCH_IMX8M
37	select LIB_ELF
38	help
39	  bootaux [addr] to boot auxiliary core.
40
41config IMX_MODULE_FUSE
42	bool "i.MX Module Fuse"
43	depends on ARCH_MX6
44	help
45	  i.MX module fuse to runtime disable some driver, including
46	  Linux OS device node.
47
48config USE_IMXIMG_PLUGIN
49	bool "Use imximage plugin code"
50	depends on ARCH_MX7 || ARCH_MX6 || ARCH_MX7ULP
51	help
52	  i.MX6/7 supports DCD and Plugin. Enable this configuration
53	  to use Plugin, otherwise DCD will be used.
54
55config IMX_HAB
56	bool "Support i.MX HAB features"
57	depends on ARCH_MX7 || ARCH_MX6 || ARCH_MX5 || ARCH_IMX8M || ARCH_MX7ULP
58	select FSL_CAAM if HAS_CAAM
59	select SPL_DRIVERS_MISC if SPL
60	imply CMD_DEKBLOB if HAS_CAAM
61	help
62	  This option enables the support for secure boot (HAB).
63	  See doc/imx/habv4/* for more details.
64
65config CSF_SIZE
66	hex "Maximum size for Command Sequence File (CSF) binary"
67	depends on IMX_HAB
68	default 0x2000 if ARCH_IMX8M
69	default 0x2060
70	help
71	  Define the maximum size for Command Sequence File (CSF) binary
72	  this information is used to define the image boot data.
73
74config CMD_BMODE
75	bool "Support the 'bmode' command"
76	default y
77	depends on ARCH_IMX8M || ARCH_MX7 || ARCH_MX6 || ARCH_MX5
78	help
79	  This enables the 'bmode' (bootmode) command for forcing
80	  a boot from specific media.
81
82	  This is useful for forcing the ROM's usb downloader to
83	  activate upon a watchdog reset which is nice when iterating
84	  on U-Boot.  Using the reset button or running bmode normal
85	  will set it back to normal.  This command currently
86	  supports i.MX53 and i.MX6.
87
88config CMD_DEKBLOB
89	bool "Support the 'dek_blob' command"
90	select IMX_CAAM_DEK_ENCAP if ARCH_MX6 || ARCH_MX7 || ARCH_MX7ULP
91	select IMX_OPTEE_DEK_ENCAP if ARCH_IMX8M
92	select IMX_SECO_DEK_ENCAP if ARCH_IMX8
93	select IMX_ELE_DEK_ENCAP if ARCH_IMX8ULP || ARCH_IMX9
94	help
95	  This enables the 'dek_blob' command which is used with the
96	  Freescale secure boot mechanism. This command encapsulates and
97	  creates a blob of data. See also CMD_BLOB and doc/imx/habv4/* for
98	  more information.
99
100config IMX_CAAM_DEK_ENCAP
101	bool "Support the DEK blob encapsulation with CAAM U-Boot driver"
102	help
103	  This enables the DEK blob encapsulation with the U-Boot CAAM driver.
104	  This option is only available on imx6, imx7 and imx7ulp.
105
106config IMX_OPTEE_DEK_ENCAP
107	select TEE
108	select OPTEE
109	bool "Support the DEK blob encapsulation with OP-TEE"
110	help
111	  This enabled the DEK blob encapsulation with OP-TEE. The communication
112	  with OP-TEE is done through a SMC call and OP-TEE shared memory. This
113	  option is available on imx8mm.
114
115config IMX_SECO_DEK_ENCAP
116	bool "Support the DEK blob encapsulation with SECO"
117	help
118	  This enabled the DEK blob encapsulation with the SECO API. This option
119	  is only available on imx8.
120
121config IMX_ELE_DEK_ENCAP
122	bool "Support the DEK blob encapsulation with ELE"
123	help
124	  This enabled the DEK blob encapsulation with the ELE API. This option
125	  is only available on imx8ulp and imx9.
126
127config CMD_PRIBLOB
128	bool "Support the set_priblob_bitfield command"
129	depends on HAS_CAAM && IMX_HAB
130	help
131	  This option enables the priblob command which can be used
132		to set the priblob setting to 0x3.
133
134config CMD_HDMIDETECT
135	bool "Support the 'hdmidet' command"
136	help
137	  This enables the 'hdmidet' command which detects if an HDMI monitor
138	  is connected.
139
140config CMD_NANDBCB
141	bool "i.MX6 NAND Boot Control Block(BCB) command"
142	depends on MTD_RAW_NAND && CMD_MTDPARTS
143	select BCH if MX6UL || MX6ULL
144	default y if ((ARCH_MX6 || ARCH_MX7 || ARCH_IMX8M) && NAND_MXS)
145	help
146	  Unlike normal 'nand write/erase' commands, this command update
147	  Boot Control Block(BCB) for i.MX6 platform NAND IP's.
148
149	  This is similar to kobs-ng, which is used in Linux as separate
150	  rootfs package.
151
152config FSL_MFGPROT
153	bool "Support the 'mfgprot' command"
154	depends on IMX_HAB && (ARCH_MX7 || ARCH_IMX8M)
155	help
156	  This option enables the manufacturing protection command
157	  which can be used has a protection feature for Manufacturing
158	  process. With this tool is possible to authenticate the
159	  chip to the OEM's server.
160
161config NXP_BOARD_REVISION
162	bool "Read NXP board revision from fuses"
163	depends on ARCH_MX6 || ARCH_MX7
164	help
165	  NXP boards based on i.MX6/7 contain the board revision information
166	  stored in the fuses. Select this option if you want to be able to
167	  retrieve the board revision information.
168
169config DDRMC_VF610_CALIBRATION
170	bool "Enable DDRMC (DDR3) on-chip calibration"
171	depends on ARCH_VF610
172	help
173	  Vybrid (vf610) SoC provides some on-chip facility to tune the DDR3
174	  memory parameters. Select this option if you want to calculate them
175	  at boot time.
176	  NOTE:
177	  NXP does NOT recommend to perform this calibration at each boot. One
178	  shall perform it on a new PCB and then use those values to program
179	  the ddrmc_cr_setting on relevant board file.
180
181config IMX8_ROMAPI
182	def_bool y
183	depends on IMX8MN || IMX8MP || IMX8ULP || IMX91 || IMX93
184
185config SPL_IMX_ROMAPI_LOADADDR
186	hex "Default load address to load image through ROM API"
187	depends on IMX8_ROMAPI || SPL_BOOTROM_SUPPORT
188	default 0x0
189
190config IMX_DCD_ADDR
191	hex "DCD Blocks location on the image"
192	default 0x00910000 if !ARCH_MX7ULP
193	default 0x2f010000 if ARCH_MX7ULP
194	help
195	  Indicates where the Device Configuration Data, a binary table used by
196	  the ROM code to configure the device at early boot stage, is located.
197	  This information is shared with the user via mkimage -l just so the
198	  image can be signed.
199
200config IOMUX_LPSR
201	bool
202
203config IOMUX_SHARE_CONF_REG
204	bool
205
206endif
207