xref: /openbmc/u-boot/lib/Kconfig (revision 66928afb6b55647a446560d32427a032e674301f)
1 menu "Library routines"
2 
3 config 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 
11 config HAVE_PRIVATE_LIBGCC
12 	bool
13 
14 config 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 
23 config 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 
31 config 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 
41 config 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 
50 config LIB_RAND
51 	bool "Pseudo-random library support "
52 	help
53 	  This library provides pseudo-random number generator functions.
54 
55 config 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 
64 config RBTREE
65 	bool
66 
67 source lib/dhry/Kconfig
68 
69 menu "Security support"
70 
71 config 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 
80 source lib/rsa/Kconfig
81 
82 config 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 
93 endmenu
94 
95 menu "Hashing Support"
96 
97 config 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 
105 config 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 
113 config 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 
121 config 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 
130 config MD5
131 	bool
132 
133 endmenu
134 
135 menu "Compression Support"
136 
137 config 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 
151 config LZO
152 	bool
153 endmenu
154 
155 config ERRNO_STR
156 	bool "Enable function for getting errno-related string message"
157 	help
158 	  The function errno_str(int errno), returns a pointer to the errno
159 	  corresponding text message:
160 	  - if errno is null or positive number - a pointer to "Success" message
161 	  - if errno is negative - a pointer to errno related message
162 
163 config OF_LIBFDT
164 	bool "Enable the FDT library"
165 	default y if OF_CONTROL
166 	help
167 	  This enables the FDT library (libfdt). It provides functions for
168 	  accessing binary device tree images in memory, such as adding and
169 	  removing notes and properties, scanning through the tree and finding
170 	  particular compatible nodes. The library operates on a flattened
171 	  version of the device tree.
172 
173 config OF_LIBFDT_OVERLAY
174 	bool "Enable the FDT library overlay support"
175 	help
176 	  This enables the FDT library (libfdt) overlay support.
177 
178 config SPL_OF_LIBFDT
179 	bool "Enable the FDT library for SPL"
180 	default y if SPL_OF_CONTROL
181 	help
182 	  This enables the FDT library (libfdt). It provides functions for
183 	  accessing binary device tree images in memory, such as adding and
184 	  removing notes and properties, scanning through the tree and finding
185 	  particular compatible nodes. The library operates on a flattened
186 	  version of the device tree.
187 
188 config FDT_FIXUP_PARTITIONS
189 	bool "overwrite MTD partitions in DTS through defined in 'mtdparts'"
190 	depends on OF_LIBFDT
191 	default n
192 	help
193 	  Allow overwriting defined partitions in the device tree blob
194 	  using partition info defined in the 'mtdparts' environment
195 	  variable.
196 
197 menu "System tables"
198 	depends on (!EFI && !SYS_COREBOOT) || (ARM && EFI_LOADER)
199 
200 config GENERATE_SMBIOS_TABLE
201 	bool "Generate an SMBIOS (System Management BIOS) table"
202 	default y
203 	depends on X86 || EFI_LOADER
204 	help
205 	  The System Management BIOS (SMBIOS) specification addresses how
206 	  motherboard and system vendors present management information about
207 	  their products in a standard format by extending the BIOS interface
208 	  on Intel architecture systems.
209 
210 	  Check http://www.dmtf.org/standards/smbios for details.
211 
212 config SMBIOS_MANUFACTURER
213 	string "SMBIOS Manufacturer"
214 	depends on GENERATE_SMBIOS_TABLE
215 	default SYS_VENDOR
216 	help
217 	  The board manufacturer to store in SMBIOS structures.
218 	  Change this to override the default one (CONFIG_SYS_VENDOR).
219 
220 config SMBIOS_PRODUCT_NAME
221 	string "SMBIOS Product Name"
222 	depends on GENERATE_SMBIOS_TABLE
223 	default SYS_BOARD
224 	help
225 	  The product name to store in SMBIOS structures.
226 	  Change this to override the default one (CONFIG_SYS_BOARD).
227 
228 endmenu
229 
230 source lib/efi/Kconfig
231 source lib/efi_loader/Kconfig
232 
233 endmenu
234