Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris...
[linux/fpc-iii.git] / arch / xtensa / Kconfig
blobba56e11cbf77697f4e972fadd7dd3281f07d4376
1 config ZONE_DMA
2         def_bool y
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/>.
31 config RWSEM_XCHGADD_ALGORITHM
32         def_bool y
34 config GENERIC_HWEIGHT
35         def_bool y
37 config ARCH_HAS_ILOG2_U32
38         def_bool n
40 config ARCH_HAS_ILOG2_U64
41         def_bool n
43 config NO_IOPORT
44         def_bool n
46 config HZ
47         int
48         default 100
50 source "init/Kconfig"
51 source "kernel/Kconfig.freezer"
53 config LOCKDEP_SUPPORT
54         def_bool y
56 config STACKTRACE_SUPPORT
57         def_bool y
59 config TRACE_IRQFLAGS_SUPPORT
60         def_bool y
62 config MMU
63         def_bool n
65 config VARIANT_IRQ_SWITCH
66         def_bool n
68 config HAVE_XTENSA_GPIO32
69         def_bool n
71 config MAY_HAVE_SMP
72         def_bool n
74 menu "Processor type and features"
76 choice
77         prompt "Xtensa Processor Configuration"
78         default XTENSA_VARIANT_FSF
80 config XTENSA_VARIANT_FSF
81         bool "fsf - default (not generic) configuration"
82         select MMU
83         select HAVE_XTENSA_GPIO32
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).
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).
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
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.
113           Say Y here to enable unaligned memory access in user space.
115 source "kernel/Kconfig.preempt"
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.
126           Multiprocessor support in implemented with external cache and
127           interrupt controlers.
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.
133           You still have to select "Enable SMP" to enable SMP on this SOC.
135 config SMP
136         bool "Enable Symmetric multi-processing support"
137         depends on HAVE_SMP
138         select USE_GENERIC_SMP_HELPERS
139         select GENERIC_SMP_IDLE_THREAD
140         help
141           Enabled SMP Software; allows more than one CPU/CORE
142           to be activated during startup.
144 config NR_CPUS
145         depends on SMP
146         int "Maximum number of CPUs (2-32)"
147         range 2 32
148         default "4"
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.
157           Say N if you want to disable CPU hotplug.
159 config MATH_EMULATION
160         bool "Math emulation"
161         help
162         Can we use information of configuration file?
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).
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.
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.
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.
191           If in doubt, say Y.
193 endmenu
195 config XTENSA_CALIBRATE_CCOUNT
196         def_bool n
197         help
198           On some platforms (XT2000, for example), the CPU clock rate can
199           vary.  The frequency can be determined, however, by measuring
200           against a well known, fixed frequency, such as an UART oscillator.
202 config SERIAL_CONSOLE
203         def_bool n
205 menu "Bus options"
207 config PCI
208         bool "PCI support"
209         default y
210         help
211           Find out whether you have a PCI motherboard. PCI is the name of a
212           bus system, i.e. the way the CPU talks to the other stuff inside
213           your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
214           VESA. If you have PCI, say Y, otherwise N.
216 source "drivers/pci/Kconfig"
218 endmenu
220 menu "Platform options"
222 choice
223         prompt "Xtensa System Type"
224         default XTENSA_PLATFORM_ISS
226 config XTENSA_PLATFORM_ISS
227         bool "ISS"
228         depends on TTY
229         select XTENSA_CALIBRATE_CCOUNT
230         select SERIAL_CONSOLE
231         help
232           ISS is an acronym for Tensilica's Instruction Set Simulator.
234 config XTENSA_PLATFORM_XT2000
235         bool "XT2000"
236         help
237           XT2000 is the name of Tensilica's feature-rich emulation platform.
238           This hardware is capable of running a full Linux distribution.
240 config XTENSA_PLATFORM_S6105
241         bool "S6105"
242         select SERIAL_CONSOLE
243         select NO_IOPORT
245 config XTENSA_PLATFORM_XTFPGA
246         bool "XTFPGA"
247         select SERIAL_CONSOLE
248         select ETHOC
249         select XTENSA_CALIBRATE_CCOUNT
250         help
251           XTFPGA is the name of Tensilica board family (LX60, LX110, LX200, ML605).
252           This hardware is capable of running a full Linux distribution.
254 endchoice
257 config XTENSA_CPU_CLOCK
258         int "CPU clock rate [MHz]"
259         depends on !XTENSA_CALIBRATE_CCOUNT
260         default 16
262 config GENERIC_CALIBRATE_DELAY
263         bool "Auto calibration of the BogoMIPS value"
264         help
265           The BogoMIPS value can easily be derived from the CPU frequency.
267 config CMDLINE_BOOL
268         bool "Default bootloader kernel arguments"
270 config CMDLINE
271         string "Initial kernel command string"
272         depends on CMDLINE_BOOL
273         default "console=ttyS0,38400 root=/dev/ram"
274         help
275           On some architectures (EBSA110 and CATS), there is currently no way
276           for the boot loader to pass arguments to the kernel. For these
277           architectures, you should supply some command-line options at build
278           time by entering them here. As a minimum, you should specify the
279           memory size and the root device (e.g., mem=64M root=/dev/nfs).
281 config USE_OF
282         bool "Flattened Device Tree support"
283         select OF
284         select OF_EARLY_FLATTREE
285         help
286           Include support for flattened device tree machine descriptions.
288 config BUILTIN_DTB
289         string "DTB to build into the kernel image"
290         depends on OF
292 config BLK_DEV_SIMDISK
293         tristate "Host file-based simulated block device support"
294         default n
295         depends on XTENSA_PLATFORM_ISS
296         help
297           Create block devices that map to files in the host file system.
298           Device binding to host file may be changed at runtime via proc
299           interface provided the device is not in use.
301 config BLK_DEV_SIMDISK_COUNT
302         int "Number of host file-based simulated block devices"
303         range 1 10
304         depends on BLK_DEV_SIMDISK
305         default 2
306         help
307           This is the default minimal number of created block devices.
308           Kernel/module parameter 'simdisk_count' may be used to change this
309           value at runtime. More file names (but no more than 10) may be
310           specified as parameters, simdisk_count grows accordingly.
312 config SIMDISK0_FILENAME
313         string "Host filename for the first simulated device"
314         depends on BLK_DEV_SIMDISK = y
315         default ""
316         help
317           Attach a first simdisk to a host file. Conventionally, this file
318           contains a root file system.
320 config SIMDISK1_FILENAME
321         string "Host filename for the second simulated device"
322         depends on BLK_DEV_SIMDISK = y && BLK_DEV_SIMDISK_COUNT != 1
323         default ""
324         help
325           Another simulated disk in a host file for a buildroot-independent
326           storage.
328 source "mm/Kconfig"
330 source "drivers/pcmcia/Kconfig"
332 source "drivers/pci/hotplug/Kconfig"
334 endmenu
336 menu "Executable file formats"
338 source "fs/Kconfig.binfmt"
340 endmenu
342 source "net/Kconfig"
344 source "drivers/Kconfig"
346 source "fs/Kconfig"
348 source "arch/xtensa/Kconfig.debug"
350 source "security/Kconfig"
352 source "crypto/Kconfig"
354 source "lib/Kconfig"