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