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