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