xref: /rk3399_rockchip-uboot/lib/Kconfig (revision a9a4552a1c74e57a15d331bc9da00f046de9985f)
1menu "Library routines"
2
3config BCH
4	bool "Enable Software based BCH ECC"
5	help
6	  Enables software based BCH ECC algorithm present in lib/bch.c
7	  This is used by SoC platforms which do not have built-in ELM
8	  hardware engine required for BCH ECC correction.
9
10config CC_OPTIMIZE_LIBS_FOR_SPEED
11	bool "Optimize libraries for speed"
12	help
13	  Enabling this option will pass "-O2" to gcc when compiling
14	  under "lib" directory.
15
16	  If unsure, say N.
17
18config HAVE_PRIVATE_LIBGCC
19	bool
20
21config USE_PRIVATE_LIBGCC
22	bool "Use private libgcc"
23	depends on HAVE_PRIVATE_LIBGCC
24	default y if HAVE_PRIVATE_LIBGCC && ((ARM && !ARM64) || MIPS)
25	help
26	  This option allows you to use the built-in libgcc implementation
27	  of U-Boot instead of the one provided by the compiler.
28	  If unsure, say N.
29
30config SYS_HZ
31	int
32	default 1000
33	help
34	  The frequency of the timer returned by get_timer().
35	  get_timer() must operate in milliseconds and this option must be
36	  set to 1000.
37
38config USE_TINY_PRINTF
39	bool "Enable tiny printf() version"
40	help
41	  This option enables a tiny, stripped down printf version.
42	  This should only be used in space limited environments,
43	  like SPL versions with hard memory limits. This version
44	  reduces the code size by about 2.5KiB on armv7.
45
46	  The supported format specifiers are %c, %s, %u/%d and %x.
47
48config REGEX
49	bool "Enable regular expression support"
50	default y if NET
51	help
52	  If this variable is defined, U-Boot is linked against the
53	  SLRE (Super Light Regular Expression) library, which adds
54	  regex support to some commands, for example "env grep" and
55	  "setexpr".
56
57config LIB_RAND
58	bool "Pseudo-random library support "
59	help
60	  This library provides pseudo-random number generator functions.
61
62config SPL_TINY_MEMSET
63	bool "Use a very small memset() in SPL"
64	help
65	  The faster memset() is the arch-specific one (if available) enabled
66	  by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get
67	  better performance by writing a word at a time. But in very
68	  size-constrained envrionments even this may be too big. Enable this
69	  option to reduce code size slightly at the cost of some speed.
70
71config TPL_TINY_MEMSET
72	bool "Use a very small memset() in TPL"
73	help
74	  The faster memset() is the arch-specific one (if available) enabled
75	  by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get
76	  better performance by writing a word at a time. But in very
77	  size-constrained envrionments even this may be too big. Enable this
78	  option to reduce code size slightly at the cost of some speed.
79
80config RBTREE
81	bool
82
83config BITREVERSE
84	bool
85
86source lib/dhry/Kconfig
87
88menu "Security support"
89
90config AES
91	bool "Support the AES algorithm"
92	help
93	  This provides a means to encrypt and decrypt data using the AES
94	  (Advanced Encryption Standard). This algorithm uses a symetric key
95	  and is widely used as a streaming cipher. Different key lengths are
96	  supported by the algorithm but only a 128-bit key is supported at
97	  present.
98
99source lib/rsa/Kconfig
100
101config TPM
102	bool "Trusted Platform Module (TPM) Support"
103	depends on DM
104	help
105	  This enables support for TPMs which can be used to provide security
106	  features for your board. The TPM can be connected via LPC or I2C
107	  and a sandbox TPM is provided for testing purposes. Use the 'tpm'
108	  command to interactive the TPM. Driver model support is provided
109	  for the low-level TPM interface, but only one TPM is supported at
110	  a time by the TPM library.
111
112endmenu
113
114menu "Hashing Support"
115
116config SHA1
117	bool "Enable SHA1 support"
118	help
119	  This option enables support of hashing using SHA1 algorithm.
120	  The hash is calculated in software.
121	  The SHA1 algorithm produces a 160-bit (20-byte) hash value
122	  (digest).
123
124config SHA256
125	bool "Enable SHA256 support"
126	help
127	  This option enables support of hashing using SHA256 algorithm.
128	  The hash is calculated in software.
129	  The SHA256 algorithm produces a 256-bit (32-byte) hash value
130	  (digest).
131
132config SHA_HW_ACCEL
133	bool "Enable hashing using hardware"
134	help
135	  This option enables hardware acceleration
136	  for SHA1/SHA256 hashing.
137	  This affects the 'hash' command and also the
138	  hash_lookup_algo() function.
139
140config SHA_PROG_HW_ACCEL
141	bool "Enable Progressive hashing support using hardware"
142	depends on SHA_HW_ACCEL
143	help
144	  This option enables hardware-acceleration for
145	  SHA1/SHA256 progressive hashing.
146	  Data can be streamed in a block at a time and the hashing
147	  is performed in hardware.
148
149config MD5
150	bool
151
152config CRC32C
153	bool
154
155endmenu
156
157menu "Compression Support"
158
159config LZ4
160	bool "Enable LZ4 decompression support"
161	help
162	  If this option is set, support for LZ4 compressed images
163	  is included. The LZ4 algorithm can run in-place as long as the
164	  compressed image is loaded to the end of the output buffer, and
165	  trades lower compression ratios for much faster decompression.
166
167	  NOTE: This implements the release version of the LZ4 frame
168	  format as generated by default by the 'lz4' command line tool.
169	  This is not the same as the outdated, less efficient legacy
170	  frame format currently (2015) implemented in the Linux kernel
171	  (generated by 'lz4 -l'). The two formats are incompatible.
172
173config LZMA
174	bool "Enable LZMA decompression support"
175	help
176	  This enables support for LZMA (Lempel-Ziv-Markov chain algorithm),
177	  a dictionary compression algorithm that provides a high compression
178	  ratio and fairly fast decompression speed. See also
179	  CONFIG_CMD_LZMADEC which provides a decode command.
180
181config LZO
182	bool "Enable LZO decompression support"
183	help
184	  This enables support for LZO compression algorithm.r
185
186config SPL_GZIP
187	bool "Enable gzip decompression support for SPL build"
188	select SPL_ZLIB
189	help
190	  This enables support for GZIP compression altorithm for SPL boot.
191
192config SPL_ZLIB
193	bool
194	help
195	  This enables compression lib for SPL boot.
196
197endmenu
198
199config ERRNO_STR
200	bool "Enable function for getting errno-related string message"
201	help
202	  The function errno_str(int errno), returns a pointer to the errno
203	  corresponding text message:
204	  - if errno is null or positive number - a pointer to "Success" message
205	  - if errno is negative - a pointer to errno related message
206
207config OF_LIBFDT
208	bool "Enable the FDT library"
209	default y if OF_CONTROL
210	help
211	  This enables the FDT library (libfdt). It provides functions for
212	  accessing binary device tree images in memory, such as adding and
213	  removing nodes and properties, scanning through the tree and finding
214	  particular compatible nodes. The library operates on a flattened
215	  version of the device tree.
216
217config OF_LIBFDT_OVERLAY
218	bool "Enable the FDT library overlay support"
219	help
220	  This enables the FDT library (libfdt) overlay support.
221
222config SPL_OF_LIBFDT
223	bool "Enable the FDT library for SPL"
224	default y if SPL_OF_CONTROL
225	help
226	  This enables the FDT library (libfdt). It provides functions for
227	  accessing binary device tree images in memory, such as adding and
228	  removing nodes and properties, scanning through the tree and finding
229	  particular compatible nodes. The library operates on a flattened
230	  version of the device tree.
231
232config TPL_OF_LIBFDT
233	bool "Enable the FDT library for TPL"
234	default y if TPL_OF_CONTROL
235	help
236	  This enables the FDT library (libfdt). It provides functions for
237	  accessing binary device tree images in memory, such as adding and
238	  removing nodes and properties, scanning through the tree and finding
239	  particular compatible nodes. The library operates on a flattened
240	  version of the device tree.
241
242config FDT_FIXUP_PARTITIONS
243	bool "overwrite MTD partitions in DTS through defined in 'mtdparts'"
244	depends on OF_LIBFDT
245	default n
246	help
247	  Allow overwriting defined partitions in the device tree blob
248	  using partition info defined in the 'mtdparts' environment
249	  variable.
250
251menu "System tables"
252	depends on (!EFI && !SYS_COREBOOT) || (ARM && EFI_LOADER)
253
254config GENERATE_SMBIOS_TABLE
255	bool "Generate an SMBIOS (System Management BIOS) table"
256	default y
257	depends on X86 || EFI_LOADER
258	help
259	  The System Management BIOS (SMBIOS) specification addresses how
260	  motherboard and system vendors present management information about
261	  their products in a standard format by extending the BIOS interface
262	  on Intel architecture systems.
263
264	  Check http://www.dmtf.org/standards/smbios for details.
265
266config SMBIOS_MANUFACTURER
267	string "SMBIOS Manufacturer"
268	depends on GENERATE_SMBIOS_TABLE
269	default SYS_VENDOR
270	help
271	  The board manufacturer to store in SMBIOS structures.
272	  Change this to override the default one (CONFIG_SYS_VENDOR).
273
274config SMBIOS_PRODUCT_NAME
275	string "SMBIOS Product Name"
276	depends on GENERATE_SMBIOS_TABLE
277	default SYS_BOARD
278	help
279	  The product name to store in SMBIOS structures.
280	  Change this to override the default one (CONFIG_SYS_BOARD).
281
282endmenu
283
284source lib/efi/Kconfig
285source lib/efi_loader/Kconfig
286source lib/avb/rk_libavb/Kconfig
287source lib/avb/rk_libavb_ab/Kconfig
288source lib/avb/rk_libavb_atx/Kconfig
289source lib/avb/rk_libavb_user/Kconfig
290source lib/optee_clientApi/Kconfig
291
292endmenu
293