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