kconfig: Adjust ordering so that defaults work as expected
[oweals/u-boot.git] / Kconfig
1 #
2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
4 #
5 mainmenu "U-Boot $UBOOTVERSION Configuration"
6
7 config UBOOTVERSION
8         string
9         option env="UBOOTVERSION"
10
11 config KCONFIG_OBJDIR
12         string
13         option env="KCONFIG_OBJDIR"
14
15 # Allow defaults in arch-specific code to override any given here
16 source "arch/Kconfig"
17
18 menu "General setup"
19
20 config LOCALVERSION
21         string "Local version - append to U-Boot release"
22         depends on !SPL_BUILD
23         help
24           Append an extra string to the end of your U-Boot version.
25           This will show up on your boot log, for example.
26           The string you set here will be appended after the contents of
27           any files with a filename matching localversion* in your
28           object and source tree, in that order.  Your total string can
29           be a maximum of 64 characters.
30
31 config LOCALVERSION_AUTO
32         bool "Automatically append version information to the version string"
33         depends on !SPL_BUILD
34         default y
35         help
36           This will try to automatically determine if the current tree is a
37           release tree by looking for git tags that belong to the current
38           top of tree revision.
39
40           A string of the format -gxxxxxxxx will be added to the localversion
41           if a git-based tree is found.  The string generated by this will be
42           appended after any matching localversion* files, and after the value
43           set in CONFIG_LOCALVERSION.
44
45           (The actual string used here is the first eight characters produced
46           by running the command:
47
48             $ git rev-parse --verify HEAD
49
50           which is done within the script "scripts/setlocalversion".)
51
52 config CC_OPTIMIZE_FOR_SIZE
53         bool "Optimize for size"
54         depends on !SPL_BUILD
55         default y
56         help
57           Enabling this option will pass "-Os" instead of "-O2" to gcc
58           resulting in a smaller U-Boot image.
59
60           This option is enabled by default for U-Boot.
61
62 config SYS_MALLOC_F
63         bool "Enable malloc() pool before relocation"
64         default 0x400
65         help
66           Before relocation memory is very limited on many platforms. Still,
67           we can provide a small malloc() pool if needed. Driver model in
68           particular needs this to operate, so that it can allocate the
69           initial serial device and any others that are needed.
70
71 config SYS_MALLOC_F_LEN
72         hex "Size of malloc() pool before relocation"
73         depends on SYS_MALLOC_F
74         default 0x400
75         help
76           Before relocation memory is very limited on many platforms. Still,
77           we can provide a small malloc() pool if needed. Driver model in
78           particular needs this to operate, so that it can allocate the
79           initial serial device and any others that are needed.
80
81 menuconfig EXPERT
82         bool "Configure standard U-Boot features (expert users)"
83         help
84           This option allows certain base U-Boot options and settings
85           to be disabled or tweaked. This is for specialized
86           environments which can tolerate a "non-standard" U-Boot.
87           Only use this if you really know what you are doing.
88
89 endmenu         # General setup
90
91 menu "Boot images"
92
93 config SPL_BUILD
94         bool
95         depends on $KCONFIG_OBJDIR="spl" || $KCONFIG_OBJDIR="tpl"
96         default y
97
98 config TPL_BUILD
99         bool
100         depends on $KCONFIG_OBJDIR="tpl"
101         default y
102
103 config SUPPORT_SPL
104         bool
105
106 config SUPPORT_TPL
107         bool
108
109 config SPL
110         bool
111         depends on SUPPORT_SPL
112         prompt "Enable SPL" if !SPL_BUILD
113         default y if SPL_BUILD
114         help
115           If you want to build SPL as well as the normal image, say Y.
116
117 config TPL
118         bool
119         depends on SPL && SUPPORT_TPL
120         prompt "Enable TPL" if !SPL_BUILD
121         default y if TPL_BUILD
122         default n
123         help
124           If you want to build TPL as well as the normal image and SPL, say Y.
125
126 config FIT
127         bool "Support Flattened Image Tree"
128         depends on !SPL_BUILD
129         help
130           This option allows to boot the new uImage structrure,
131           Flattened Image Tree.  FIT is formally a FDT, which can include
132           images of various types (kernel, FDT blob, ramdisk, etc.)
133           in a single blob.  To boot this new uImage structure,
134           pass the the address of the blob to the "bootm" command.
135
136 config FIT_VERBOSE
137         bool "Display verbose messages on FIT boot"
138         depends on FIT
139
140 config FIT_SIGNATURE
141         bool "Enable signature verification of FIT uImages"
142         depends on FIT
143         depends on DM
144         select RSA
145         help
146           This option enables signature verification of FIT uImages,
147           using a hash signed and verified using RSA.
148           See doc/uImage.FIT/signature.txt for more details.
149
150 config SYS_EXTRA_OPTIONS
151         string "Extra Options (DEPRECATED)"
152         depends on !SPL_BUILD
153         help
154           The old configuration infrastructure (= mkconfig + boards.cfg)
155           provided the extra options field. If you have something like
156           "HAS_BAR,BAZ=64", the optional options
157             #define CONFIG_HAS
158             #define CONFIG_BAZ  64
159           will be defined in include/config.h.
160           This option was prepared for the smooth migration from the old
161           configuration to Kconfig. Since this option will be removed sometime,
162           new boards should not use this option.
163
164 config SYS_TEXT_BASE
165         depends on SPARC || ARC
166         hex "Text Base"
167         help
168           TODO: Move CONFIG_SYS_TEXT_BASE for all the architecture
169
170 config SYS_CLK_FREQ
171         depends on ARC
172         int "CPU clock frequency"
173         help
174           TODO: Move CONFIG_SYS_CLK_FREQ for all the architecture
175
176 endmenu         # Boot images
177
178 source "common/Kconfig"
179
180 source "dts/Kconfig"
181
182 source "net/Kconfig"
183
184 source "drivers/Kconfig"
185
186 source "fs/Kconfig"
187
188 source "lib/Kconfig"
189
190 source "test/Kconfig"