Merge tag 'xtensa-next-20140503' of git://github.com/czankel/xtensa-linux
[cascardo/linux.git] / arch / xtensa / Kconfig
1 config ZONE_DMA
2         def_bool y
3
4 config XTENSA
5         def_bool y
6         select ARCH_WANT_FRAME_POINTERS
7         select HAVE_IDE
8         select GENERIC_ATOMIC64
9         select GENERIC_CLOCKEVENTS
10         select VIRT_TO_BUS
11         select GENERIC_IRQ_SHOW
12         select GENERIC_SCHED_CLOCK
13         select MODULES_USE_ELF_RELA
14         select GENERIC_PCI_IOMAP
15         select ARCH_WANT_IPC_PARSE_VERSION
16         select ARCH_WANT_OPTIONAL_GPIOLIB
17         select BUILDTIME_EXTABLE_SORT
18         select CLONE_BACKWARDS
19         select IRQ_DOMAIN
20         select HAVE_OPROFILE
21         select HAVE_FUNCTION_TRACER
22         select HAVE_IRQ_TIME_ACCOUNTING
23         select HAVE_PERF_EVENTS
24         select COMMON_CLK
25         help
26           Xtensa processors are 32-bit RISC machines designed by Tensilica
27           primarily for embedded systems.  These processors are both
28           configurable and extensible.  The Linux port to the Xtensa
29           architecture supports all processor configurations and extensions,
30           with reasonable minimum requirements.  The Xtensa Linux project has
31           a home page at <http://www.linux-xtensa.org/>.
32
33 config RWSEM_XCHGADD_ALGORITHM
34         def_bool y
35
36 config GENERIC_HWEIGHT
37         def_bool y
38
39 config ARCH_HAS_ILOG2_U32
40         def_bool n
41
42 config ARCH_HAS_ILOG2_U64
43         def_bool n
44
45 config NO_IOPORT_MAP
46         def_bool n
47
48 config HZ
49         int
50         default 100
51
52 source "init/Kconfig"
53 source "kernel/Kconfig.freezer"
54
55 config LOCKDEP_SUPPORT
56         def_bool y
57
58 config STACKTRACE_SUPPORT
59         def_bool y
60
61 config TRACE_IRQFLAGS_SUPPORT
62         def_bool y
63
64 config MMU
65         def_bool n
66
67 config VARIANT_IRQ_SWITCH
68         def_bool n
69
70 config HAVE_XTENSA_GPIO32
71         def_bool n
72
73 config MAY_HAVE_SMP
74         def_bool n
75
76 menu "Processor type and features"
77
78 choice
79         prompt "Xtensa Processor Configuration"
80         default XTENSA_VARIANT_FSF
81
82 config XTENSA_VARIANT_FSF
83         bool "fsf - default (not generic) configuration"
84         select MMU
85
86 config XTENSA_VARIANT_DC232B
87         bool "dc232b - Diamond 232L Standard Core Rev.B (LE)"
88         select MMU
89         select HAVE_XTENSA_GPIO32
90         help
91           This variant refers to Tensilica's Diamond 232L Standard core Rev.B (LE).
92
93 config XTENSA_VARIANT_DC233C
94         bool "dc233c - Diamond 233L Standard Core Rev.C (LE)"
95         select MMU
96         select HAVE_XTENSA_GPIO32
97         help
98           This variant refers to Tensilica's Diamond 233L Standard core Rev.C (LE).
99
100 config XTENSA_VARIANT_S6000
101         bool "s6000 - Stretch software configurable processor"
102         select VARIANT_IRQ_SWITCH
103         select ARCH_REQUIRE_GPIOLIB
104         select XTENSA_CALIBRATE_CCOUNT
105 endchoice
106
107 config XTENSA_UNALIGNED_USER
108         bool "Unaligned memory access in use space"
109         help
110           The Xtensa architecture currently does not handle unaligned
111           memory accesses in hardware but through an exception handler.
112           Per default, unaligned memory accesses are disabled in user space.
113
114           Say Y here to enable unaligned memory access in user space.
115
116 source "kernel/Kconfig.preempt"
117
118 config HAVE_SMP
119         bool "System Supports SMP (MX)"
120         depends on MAY_HAVE_SMP
121         select XTENSA_MX
122         help
123           This option is use to indicate that the system-on-a-chip (SOC)
124           supports Multiprocessing. Multiprocessor support implemented above
125           the CPU core definition and currently needs to be selected manually.
126
127           Multiprocessor support in implemented with external cache and
128           interrupt controlers.
129
130           The MX interrupt distributer adds Interprocessor Interrupts
131           and causes the IRQ numbers to be increased by 4 for devices
132           like the open cores ethernet driver and the serial interface.
133
134           You still have to select "Enable SMP" to enable SMP on this SOC.
135
136 config SMP
137         bool "Enable Symmetric multi-processing support"
138         depends on HAVE_SMP
139         select GENERIC_SMP_IDLE_THREAD
140         help
141           Enabled SMP Software; allows more than one CPU/CORE
142           to be activated during startup.
143
144 config NR_CPUS
145         depends on SMP
146         int "Maximum number of CPUs (2-32)"
147         range 2 32
148         default "4"
149
150 config HOTPLUG_CPU
151         bool "Enable CPU hotplug support"
152         depends on SMP
153         help
154           Say Y here to allow turning CPUs off and on. CPUs can be
155           controlled through /sys/devices/system/cpu.
156
157           Say N if you want to disable CPU hotplug.
158
159 config MATH_EMULATION
160         bool "Math emulation"
161         help
162         Can we use information of configuration file?
163
164 config INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX
165         bool "Initialize Xtensa MMU inside the Linux kernel code"
166         default y
167         help
168           Earlier version initialized the MMU in the exception vector
169           before jumping to _startup in head.S and had an advantage that
170           it was possible to place a software breakpoint at 'reset' and
171           then enter your normal kernel breakpoints once the MMU was mapped
172           to the kernel mappings (0XC0000000).
173
174           This unfortunately doesn't work for U-Boot and likley also wont
175           work for using KEXEC to have a hot kernel ready for doing a
176           KDUMP.
177
178           So now the MMU is initialized in head.S but it's necessary to
179           use hardware breakpoints (gdb 'hbreak' cmd) to break at _startup.
180           xt-gdb can't place a Software Breakpoint in the  0XD region prior
181           to mapping the MMU and after mapping even if the area of low memory
182           was mapped gdb wouldn't remove the breakpoint on hitting it as the
183           PC wouldn't match. Since Hardware Breakpoints are recommended for
184           Linux configurations it seems reasonable to just assume they exist
185           and leave this older mechanism for unfortunate souls that choose
186           not to follow Tensilica's recommendation.
187
188           Selecting this will cause U-Boot to set the KERNEL Load and Entry
189           address at 0x00003000 instead of the mapped std of 0xD0003000.
190
191           If in doubt, say Y.
192
193 config HIGHMEM
194         bool "High Memory Support"
195         help
196           Linux can use the full amount of RAM in the system by
197           default. However, the default MMUv2 setup only maps the
198           lowermost 128 MB of memory linearly to the areas starting
199           at 0xd0000000 (cached) and 0xd8000000 (uncached).
200           When there are more than 128 MB memory in the system not
201           all of it can be "permanently mapped" by the kernel.
202           The physical memory that's not permanently mapped is called
203           "high memory".
204
205           If you are compiling a kernel which will never run on a
206           machine with more than 128 MB total physical RAM, answer
207           N here.
208
209           If unsure, say Y.
210
211 endmenu
212
213 config XTENSA_CALIBRATE_CCOUNT
214         def_bool n
215         help
216           On some platforms (XT2000, for example), the CPU clock rate can
217           vary.  The frequency can be determined, however, by measuring
218           against a well known, fixed frequency, such as an UART oscillator.
219
220 config SERIAL_CONSOLE
221         def_bool n
222
223 menu "Bus options"
224
225 config PCI
226         bool "PCI support"
227         default y
228         help
229           Find out whether you have a PCI motherboard. PCI is the name of a
230           bus system, i.e. the way the CPU talks to the other stuff inside
231           your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
232           VESA. If you have PCI, say Y, otherwise N.
233
234 source "drivers/pci/Kconfig"
235
236 endmenu
237
238 menu "Platform options"
239
240 choice
241         prompt "Xtensa System Type"
242         default XTENSA_PLATFORM_ISS
243
244 config XTENSA_PLATFORM_ISS
245         bool "ISS"
246         select XTENSA_CALIBRATE_CCOUNT
247         select SERIAL_CONSOLE
248         help
249           ISS is an acronym for Tensilica's Instruction Set Simulator.
250
251 config XTENSA_PLATFORM_XT2000
252         bool "XT2000"
253         help
254           XT2000 is the name of Tensilica's feature-rich emulation platform.
255           This hardware is capable of running a full Linux distribution.
256
257 config XTENSA_PLATFORM_S6105
258         bool "S6105"
259         select SERIAL_CONSOLE
260         select NO_IOPORT_MAP
261
262 config XTENSA_PLATFORM_XTFPGA
263         bool "XTFPGA"
264         select SERIAL_CONSOLE
265         select ETHOC
266         select XTENSA_CALIBRATE_CCOUNT
267         help
268           XTFPGA is the name of Tensilica board family (LX60, LX110, LX200, ML605).
269           This hardware is capable of running a full Linux distribution.
270
271 endchoice
272
273
274 config XTENSA_CPU_CLOCK
275         int "CPU clock rate [MHz]"
276         depends on !XTENSA_CALIBRATE_CCOUNT
277         default 16
278
279 config GENERIC_CALIBRATE_DELAY
280         bool "Auto calibration of the BogoMIPS value"
281         help
282           The BogoMIPS value can easily be derived from the CPU frequency.
283
284 config CMDLINE_BOOL
285         bool "Default bootloader kernel arguments"
286
287 config CMDLINE
288         string "Initial kernel command string"
289         depends on CMDLINE_BOOL
290         default "console=ttyS0,38400 root=/dev/ram"
291         help
292           On some architectures (EBSA110 and CATS), there is currently no way
293           for the boot loader to pass arguments to the kernel. For these
294           architectures, you should supply some command-line options at build
295           time by entering them here. As a minimum, you should specify the
296           memory size and the root device (e.g., mem=64M root=/dev/nfs).
297
298 config USE_OF
299         bool "Flattened Device Tree support"
300         select OF
301         select OF_EARLY_FLATTREE
302         help
303           Include support for flattened device tree machine descriptions.
304
305 config BUILTIN_DTB
306         string "DTB to build into the kernel image"
307         depends on OF
308
309 config BLK_DEV_SIMDISK
310         tristate "Host file-based simulated block device support"
311         default n
312         depends on XTENSA_PLATFORM_ISS
313         help
314           Create block devices that map to files in the host file system.
315           Device binding to host file may be changed at runtime via proc
316           interface provided the device is not in use.
317
318 config BLK_DEV_SIMDISK_COUNT
319         int "Number of host file-based simulated block devices"
320         range 1 10
321         depends on BLK_DEV_SIMDISK
322         default 2
323         help
324           This is the default minimal number of created block devices.
325           Kernel/module parameter 'simdisk_count' may be used to change this
326           value at runtime. More file names (but no more than 10) may be
327           specified as parameters, simdisk_count grows accordingly.
328
329 config SIMDISK0_FILENAME
330         string "Host filename for the first simulated device"
331         depends on BLK_DEV_SIMDISK = y
332         default ""
333         help
334           Attach a first simdisk to a host file. Conventionally, this file
335           contains a root file system.
336
337 config SIMDISK1_FILENAME
338         string "Host filename for the second simulated device"
339         depends on BLK_DEV_SIMDISK = y && BLK_DEV_SIMDISK_COUNT != 1
340         default ""
341         help
342           Another simulated disk in a host file for a buildroot-independent
343           storage.
344
345 source "mm/Kconfig"
346
347 source "drivers/pcmcia/Kconfig"
348
349 source "drivers/pci/hotplug/Kconfig"
350
351 endmenu
352
353 menu "Executable file formats"
354
355 source "fs/Kconfig.binfmt"
356
357 endmenu
358
359 source "net/Kconfig"
360
361 source "drivers/Kconfig"
362
363 source "fs/Kconfig"
364
365 source "arch/xtensa/Kconfig.debug"
366
367 source "security/Kconfig"
368
369 source "crypto/Kconfig"
370
371 source "lib/Kconfig"
372
373