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