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