xref: /openbmc/u-boot/lib/Kconfig (revision a818704b)
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 RBTREE
65	bool
66
67source lib/dhry/Kconfig
68
69menu "Security support"
70
71config AES
72	bool "Support the AES algorithm"
73	help
74	  This provides a means to encrypt and decrypt data using the AES
75	  (Advanced Encryption Standard). This algorithm uses a symetric key
76	  and is widely used as a streaming cipher. Different key lengths are
77	  supported by the algorithm but only a 128-bit key is supported at
78	  present.
79
80source lib/rsa/Kconfig
81
82config TPM
83	bool "Trusted Platform Module (TPM) Support"
84	depends on DM
85	help
86	  This enables support for TPMs which can be used to provide security
87	  features for your board. The TPM can be connected via LPC or I2C
88	  and a sandbox TPM is provided for testing purposes. Use the 'tpm'
89	  command to interactive the TPM. Driver model support is provided
90	  for the low-level TPM interface, but only one TPM is supported at
91	  a time by the TPM library.
92
93endmenu
94
95menu "Hashing Support"
96
97config SHA1
98	bool "Enable SHA1 support"
99	help
100	  This option enables support of hashing using SHA1 algorithm.
101	  The hash is calculated in software.
102	  The SHA1 algorithm produces a 160-bit (20-byte) hash value
103	  (digest).
104
105config SHA256
106	bool "Enable SHA256 support"
107	help
108	  This option enables support of hashing using SHA256 algorithm.
109	  The hash is calculated in software.
110	  The SHA256 algorithm produces a 256-bit (32-byte) hash value
111	  (digest).
112
113config SHA_HW_ACCEL
114	bool "Enable hashing using hardware"
115	help
116	  This option enables hardware acceleration
117	  for SHA1/SHA256 hashing.
118	  This affects the 'hash' command and also the
119	  hash_lookup_algo() function.
120
121config SHA_PROG_HW_ACCEL
122	bool "Enable Progressive hashing support using hardware"
123	depends on SHA_HW_ACCEL
124	help
125	  This option enables hardware-acceleration for
126	  SHA1/SHA256 progressive hashing.
127	  Data can be streamed in a block at a time and the hashing
128	  is performed in hardware.
129
130config MD5
131	bool
132
133endmenu
134
135menu "Compression Support"
136
137config LZ4
138	bool "Enable LZ4 decompression support"
139	help
140	  If this option is set, support for LZ4 compressed images
141	  is included. The LZ4 algorithm can run in-place as long as the
142	  compressed image is loaded to the end of the output buffer, and
143	  trades lower compression ratios for much faster decompression.
144
145	  NOTE: This implements the release version of the LZ4 frame
146	  format as generated by default by the 'lz4' command line tool.
147	  This is not the same as the outdated, less efficient legacy
148	  frame format currently (2015) implemented in the Linux kernel
149	  (generated by 'lz4 -l'). The two formats are incompatible.
150
151config LZMA
152	bool "Enable LZMA decompression support"
153	help
154	  This enables support for LZMA (Lempel-Ziv-Markov chain algorithm),
155	  a dictionary compression algorithm that provides a high compression
156	  ratio and fairly fast decompression speed. See also
157	  CONFIG_CMD_LZMADEC which provides a decode command.
158
159config LZO
160	bool "Enable LZO decompression support"
161	help
162	  This enables support for LZO compression algorithm.r
163endmenu
164
165config ERRNO_STR
166	bool "Enable function for getting errno-related string message"
167	help
168	  The function errno_str(int errno), returns a pointer to the errno
169	  corresponding text message:
170	  - if errno is null or positive number - a pointer to "Success" message
171	  - if errno is negative - a pointer to errno related message
172
173config OF_LIBFDT
174	bool "Enable the FDT library"
175	default y if OF_CONTROL
176	help
177	  This enables the FDT library (libfdt). It provides functions for
178	  accessing binary device tree images in memory, such as adding and
179	  removing notes and properties, scanning through the tree and finding
180	  particular compatible nodes. The library operates on a flattened
181	  version of the device tree.
182
183config OF_LIBFDT_OVERLAY
184	bool "Enable the FDT library overlay support"
185	help
186	  This enables the FDT library (libfdt) overlay support.
187
188config SPL_OF_LIBFDT
189	bool "Enable the FDT library for SPL"
190	default y if SPL_OF_CONTROL
191	help
192	  This enables the FDT library (libfdt). It provides functions for
193	  accessing binary device tree images in memory, such as adding and
194	  removing notes and properties, scanning through the tree and finding
195	  particular compatible nodes. The library operates on a flattened
196	  version of the device tree.
197
198config FDT_FIXUP_PARTITIONS
199	bool "overwrite MTD partitions in DTS through defined in 'mtdparts'"
200	depends on OF_LIBFDT
201	default n
202	help
203	  Allow overwriting defined partitions in the device tree blob
204	  using partition info defined in the 'mtdparts' environment
205	  variable.
206
207menu "System tables"
208	depends on (!EFI && !SYS_COREBOOT) || (ARM && EFI_LOADER)
209
210config GENERATE_SMBIOS_TABLE
211	bool "Generate an SMBIOS (System Management BIOS) table"
212	default y
213	depends on X86 || EFI_LOADER
214	help
215	  The System Management BIOS (SMBIOS) specification addresses how
216	  motherboard and system vendors present management information about
217	  their products in a standard format by extending the BIOS interface
218	  on Intel architecture systems.
219
220	  Check http://www.dmtf.org/standards/smbios for details.
221
222config SMBIOS_MANUFACTURER
223	string "SMBIOS Manufacturer"
224	depends on GENERATE_SMBIOS_TABLE
225	default SYS_VENDOR
226	help
227	  The board manufacturer to store in SMBIOS structures.
228	  Change this to override the default one (CONFIG_SYS_VENDOR).
229
230config SMBIOS_PRODUCT_NAME
231	string "SMBIOS Product Name"
232	depends on GENERATE_SMBIOS_TABLE
233	default SYS_BOARD
234	help
235	  The product name to store in SMBIOS structures.
236	  Change this to override the default one (CONFIG_SYS_BOARD).
237
238endmenu
239
240source lib/efi/Kconfig
241source lib/efi_loader/Kconfig
242
243endmenu
244