Merge branch 'for-3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq
[linux-2.6-block.git] / arch / xtensa / Kconfig
CommitLineData
66701b14 1config ZONE_DMA
35f9cd08 2 def_bool y
66701b14 3
8e1a6dd2 4config XTENSA
35f9cd08 5 def_bool y
8f371c75 6 select ARCH_WANT_FRAME_POINTERS
ec7748b5 7 select HAVE_IDE
c66af411 8 select GENERIC_ATOMIC64
925f5532 9 select GENERIC_CLOCKEVENTS
4febd95a 10 select VIRT_TO_BUS
47a5d9dc 11 select GENERIC_IRQ_SHOW
9f13a1fd 12 select GENERIC_CPU_DEVICES
e3f43291 13 select GENERIC_SCHED_CLOCK
d38efc1f
MF
14 select MODULES_USE_ELF_RELA
15 select GENERIC_PCI_IOMAP
e969161b 16 select ARCH_WANT_IPC_PARSE_VERSION
6ed65f37 17 select ARCH_WANT_OPTIONAL_GPIOLIB
3e41f9ba 18 select CLONE_BACKWARDS
2206d5dd 19 select IRQ_DOMAIN
e6ffe17e 20 select HAVE_OPROFILE
478ba61a 21 select HAVE_FUNCTION_TRACER
8e1a6dd2
CZ
22 help
23 Xtensa processors are 32-bit RISC machines designed by Tensilica
24 primarily for embedded systems. These processors are both
25 configurable and extensible. The Linux port to the Xtensa
26 architecture supports all processor configurations and extensions,
27 with reasonable minimum requirements. The Xtensa Linux project has
0ada4490 28 a home page at <http://www.linux-xtensa.org/>.
8e1a6dd2 29
8e1a6dd2 30config RWSEM_XCHGADD_ALGORITHM
35f9cd08 31 def_bool y
8e1a6dd2 32
d4337aa5 33config GENERIC_HWEIGHT
35f9cd08 34 def_bool y
d4337aa5 35
f0d1b0b3 36config ARCH_HAS_ILOG2_U32
35f9cd08 37 def_bool n
f0d1b0b3
DH
38
39config ARCH_HAS_ILOG2_U64
35f9cd08 40 def_bool n
f0d1b0b3 41
5ea81769 42config NO_IOPORT
d046f77e 43 def_bool n
5ea81769 44
bdc80787
PA
45config HZ
46 int
47 default 100
48
8e1a6dd2 49source "init/Kconfig"
dc52ddc0 50source "kernel/Kconfig.freezer"
8e1a6dd2 51
8f371c75
MF
52config LOCKDEP_SUPPORT
53 def_bool y
54
3e4196a5
MF
55config STACKTRACE_SUPPORT
56 def_bool y
57
c92931b2
MF
58config TRACE_IRQFLAGS_SUPPORT
59 def_bool y
60
35f9cd08
JW
61config MMU
62 def_bool n
63
4c0d2141
JW
64config VARIANT_IRQ_SWITCH
65 def_bool n
66
a1a2bdec
BS
67config HAVE_XTENSA_GPIO32
68 def_bool n
69
8e1a6dd2
CZ
70menu "Processor type and features"
71
72choice
73 prompt "Xtensa Processor Configuration"
173d6681 74 default XTENSA_VARIANT_FSF
8e1a6dd2 75
173d6681 76config XTENSA_VARIANT_FSF
0025427e 77 bool "fsf - default (not generic) configuration"
35f9cd08 78 select MMU
a1a2bdec 79 select HAVE_XTENSA_GPIO32
0025427e
CZ
80
81config XTENSA_VARIANT_DC232B
82 bool "dc232b - Diamond 232L Standard Core Rev.B (LE)"
35f9cd08 83 select MMU
a1a2bdec 84 select HAVE_XTENSA_GPIO32
0025427e 85 help
35f9cd08 86 This variant refers to Tensilica's Diamond 232L Standard core Rev.B (LE).
000af2c5 87
d0b73b48
PD
88config XTENSA_VARIANT_DC233C
89 bool "dc233c - Diamond 233L Standard Core Rev.C (LE)"
90 select MMU
a1a2bdec 91 select HAVE_XTENSA_GPIO32
d0b73b48
PD
92 help
93 This variant refers to Tensilica's Diamond 233L Standard core Rev.C (LE).
94
000af2c5
JW
95config XTENSA_VARIANT_S6000
96 bool "s6000 - Stretch software configurable processor"
97 select VARIANT_IRQ_SWITCH
98 select ARCH_REQUIRE_GPIOLIB
b070a03f 99 select XTENSA_CALIBRATE_CCOUNT
8e1a6dd2
CZ
100endchoice
101
8e1a6dd2
CZ
102config XTENSA_UNALIGNED_USER
103 bool "Unaligned memory access in use space"
35f9cd08
JW
104 help
105 The Xtensa architecture currently does not handle unaligned
106 memory accesses in hardware but through an exception handler.
107 Per default, unaligned memory accesses are disabled in user space.
8e1a6dd2 108
35f9cd08 109 Say Y here to enable unaligned memory access in user space.
8e1a6dd2 110
bd96efe1 111source "kernel/Kconfig.preempt"
8e1a6dd2
CZ
112
113config MATH_EMULATION
114 bool "Math emulation"
115 help
116 Can we use information of configuration file?
117
e85e335f
MF
118config INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX
119 bool "Initialize Xtensa MMU inside the Linux kernel code"
120 default y
121 help
122 Earlier version initialized the MMU in the exception vector
123 before jumping to _startup in head.S and had an advantage that
124 it was possible to place a software breakpoint at 'reset' and
125 then enter your normal kernel breakpoints once the MMU was mapped
126 to the kernel mappings (0XC0000000).
127
128 This unfortunately doesn't work for U-Boot and likley also wont
129 work for using KEXEC to have a hot kernel ready for doing a
130 KDUMP.
131
132 So now the MMU is initialized in head.S but it's necessary to
133 use hardware breakpoints (gdb 'hbreak' cmd) to break at _startup.
134 xt-gdb can't place a Software Breakpoint in the 0XD region prior
135 to mapping the MMU and after mapping even if the area of low memory
136 was mapped gdb wouldn't remove the breakpoint on hitting it as the
137 PC wouldn't match. Since Hardware Breakpoints are recommended for
138 Linux configurations it seems reasonable to just assume they exist
139 and leave this older mechanism for unfortunate souls that choose
140 not to follow Tensilica's recommendation.
141
142 Selecting this will cause U-Boot to set the KERNEL Load and Entry
143 address at 0x00003000 instead of the mapped std of 0xD0003000.
144
145 If in doubt, say Y.
146
8e1a6dd2
CZ
147endmenu
148
35f9cd08
JW
149config XTENSA_CALIBRATE_CCOUNT
150 def_bool n
151 help
152 On some platforms (XT2000, for example), the CPU clock rate can
153 vary. The frequency can be determined, however, by measuring
154 against a well known, fixed frequency, such as an UART oscillator.
155
156config SERIAL_CONSOLE
157 def_bool n
158
159config XTENSA_ISS_NETWORK
160 def_bool n
161
162menu "Bus options"
163
164config PCI
165 bool "PCI support"
166 default y
167 help
168 Find out whether you have a PCI motherboard. PCI is the name of a
169 bus system, i.e. the way the CPU talks to the other stuff inside
170 your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
171 VESA. If you have PCI, say Y, otherwise N.
172
173source "drivers/pci/Kconfig"
174
35e71f90
CZ
175endmenu
176
8e1a6dd2
CZ
177menu "Platform options"
178
179choice
180 prompt "Xtensa System Type"
181 default XTENSA_PLATFORM_ISS
182
183config XTENSA_PLATFORM_ISS
184 bool "ISS"
4f73bc4d 185 depends on TTY
35f9cd08
JW
186 select XTENSA_CALIBRATE_CCOUNT
187 select SERIAL_CONSOLE
188 select XTENSA_ISS_NETWORK
8e1a6dd2
CZ
189 help
190 ISS is an acronym for Tensilica's Instruction Set Simulator.
191
192config XTENSA_PLATFORM_XT2000
193 bool "XT2000"
194 help
195 XT2000 is the name of Tensilica's feature-rich emulation platform.
196 This hardware is capable of running a full Linux distribution.
197
f82e939f
JW
198config XTENSA_PLATFORM_S6105
199 bool "S6105"
200 select SERIAL_CONSOLE
d046f77e 201 select NO_IOPORT
f82e939f 202
0d456bad
MF
203config XTENSA_PLATFORM_XTFPGA
204 bool "XTFPGA"
205 select SERIAL_CONSOLE
206 select ETHOC
207 select XTENSA_CALIBRATE_CCOUNT
208 help
209 XTFPGA is the name of Tensilica board family (LX60, LX110, LX200, ML605).
210 This hardware is capable of running a full Linux distribution.
211
8e1a6dd2
CZ
212endchoice
213
214
8e1a6dd2
CZ
215config XTENSA_CPU_CLOCK
216 int "CPU clock rate [MHz]"
217 depends on !XTENSA_CALIBRATE_CCOUNT
35f9cd08 218 default 16
8e1a6dd2
CZ
219
220config GENERIC_CALIBRATE_DELAY
221 bool "Auto calibration of the BogoMIPS value"
35f9cd08 222 help
82300bf4 223 The BogoMIPS value can easily be derived from the CPU frequency.
8e1a6dd2
CZ
224
225config CMDLINE_BOOL
226 bool "Default bootloader kernel arguments"
227
228config CMDLINE
229 string "Initial kernel command string"
230 depends on CMDLINE_BOOL
231 default "console=ttyS0,38400 root=/dev/ram"
232 help
233 On some architectures (EBSA110 and CATS), there is currently no way
234 for the boot loader to pass arguments to the kernel. For these
235 architectures, you should supply some command-line options at build
236 time by entering them here. As a minimum, you should specify the
237 memory size and the root device (e.g., mem=64M root=/dev/nfs).
238
da844a81
MF
239config USE_OF
240 bool "Flattened Device Tree support"
241 select OF
242 select OF_EARLY_FLATTREE
243 help
244 Include support for flattened device tree machine descriptions.
245
246config BUILTIN_DTB
247 string "DTB to build into the kernel image"
248 depends on OF
249
b6c7e873
VP
250config BLK_DEV_SIMDISK
251 tristate "Host file-based simulated block device support"
252 default n
253 depends on XTENSA_PLATFORM_ISS
254 help
255 Create block devices that map to files in the host file system.
256 Device binding to host file may be changed at runtime via proc
257 interface provided the device is not in use.
258
259config BLK_DEV_SIMDISK_COUNT
260 int "Number of host file-based simulated block devices"
261 range 1 10
262 depends on BLK_DEV_SIMDISK
263 default 2
264 help
265 This is the default minimal number of created block devices.
266 Kernel/module parameter 'simdisk_count' may be used to change this
267 value at runtime. More file names (but no more than 10) may be
268 specified as parameters, simdisk_count grows accordingly.
269
270config SIMDISK0_FILENAME
271 string "Host filename for the first simulated device"
272 depends on BLK_DEV_SIMDISK = y
273 default ""
274 help
275 Attach a first simdisk to a host file. Conventionally, this file
276 contains a root file system.
277
278config SIMDISK1_FILENAME
279 string "Host filename for the second simulated device"
280 depends on BLK_DEV_SIMDISK = y && BLK_DEV_SIMDISK_COUNT != 1
281 default ""
282 help
283 Another simulated disk in a host file for a buildroot-independent
284 storage.
285
82300bf4
CZ
286source "mm/Kconfig"
287
8e1a6dd2
CZ
288source "drivers/pcmcia/Kconfig"
289
290source "drivers/pci/hotplug/Kconfig"
291
292endmenu
293
cab00891 294menu "Executable file formats"
8e1a6dd2 295
8e1a6dd2
CZ
296source "fs/Kconfig.binfmt"
297
298endmenu
299
d5950b43
SR
300source "net/Kconfig"
301
8e1a6dd2
CZ
302source "drivers/Kconfig"
303
304source "fs/Kconfig"
305
8e1a6dd2
CZ
306source "arch/xtensa/Kconfig.debug"
307
308source "security/Kconfig"
309
310source "crypto/Kconfig"
311
312source "lib/Kconfig"
313
314