xref: /linux/arch/xtensa/Kconfig (revision d91517839e5d95adc0cf4b28caa7af62a71de526)
1config ZONE_DMA
2	def_bool y
3
4config 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
31config RWSEM_XCHGADD_ALGORITHM
32	def_bool y
33
34config GENERIC_HWEIGHT
35	def_bool y
36
37config ARCH_HAS_ILOG2_U32
38	def_bool n
39
40config ARCH_HAS_ILOG2_U64
41	def_bool n
42
43config NO_IOPORT
44	def_bool n
45
46config HZ
47	int
48	default 100
49
50source "init/Kconfig"
51source "kernel/Kconfig.freezer"
52
53config LOCKDEP_SUPPORT
54	def_bool y
55
56config STACKTRACE_SUPPORT
57	def_bool y
58
59config TRACE_IRQFLAGS_SUPPORT
60	def_bool y
61
62config MMU
63	def_bool n
64
65config VARIANT_IRQ_SWITCH
66	def_bool n
67
68config HAVE_XTENSA_GPIO32
69	def_bool n
70
71config MAY_HAVE_SMP
72	def_bool n
73
74menu "Processor type and features"
75
76choice
77	prompt "Xtensa Processor Configuration"
78	default XTENSA_VARIANT_FSF
79
80config XTENSA_VARIANT_FSF
81	bool "fsf - default (not generic) configuration"
82	select MMU
83	select HAVE_XTENSA_GPIO32
84
85config 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
92config 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
99config 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
104endchoice
105
106config 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
115source "kernel/Kconfig.preempt"
116
117config 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
135config 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.
143
144config NR_CPUS
145	depends on SMP
146	int "Maximum number of CPUs (2-32)"
147	range 2 32
148	default "4"
149
150config 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
159config MATH_EMULATION
160	bool "Math emulation"
161	help
162	Can we use information of configuration file?
163
164config 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
193endmenu
194
195config 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.
201
202config SERIAL_CONSOLE
203	def_bool n
204
205menu "Bus options"
206
207config 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.
215
216source "drivers/pci/Kconfig"
217
218endmenu
219
220menu "Platform options"
221
222choice
223	prompt "Xtensa System Type"
224	default XTENSA_PLATFORM_ISS
225
226config 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.
233
234config 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.
239
240config XTENSA_PLATFORM_S6105
241	bool "S6105"
242	select SERIAL_CONSOLE
243	select NO_IOPORT
244
245config 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.
253
254endchoice
255
256
257config XTENSA_CPU_CLOCK
258	int "CPU clock rate [MHz]"
259	depends on !XTENSA_CALIBRATE_CCOUNT
260	default 16
261
262config 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.
266
267config CMDLINE_BOOL
268	bool "Default bootloader kernel arguments"
269
270config 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).
280
281config 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.
287
288config BUILTIN_DTB
289	string "DTB to build into the kernel image"
290	depends on OF
291
292config 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.
300
301config 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.
311
312config 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.
319
320config 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.
327
328source "mm/Kconfig"
329
330source "drivers/pcmcia/Kconfig"
331
332source "drivers/pci/hotplug/Kconfig"
333
334endmenu
335
336menu "Executable file formats"
337
338source "fs/Kconfig.binfmt"
339
340endmenu
341
342source "net/Kconfig"
343
344source "drivers/Kconfig"
345
346source "fs/Kconfig"
347
348source "arch/xtensa/Kconfig.debug"
349
350source "security/Kconfig"
351
352source "crypto/Kconfig"
353
354source "lib/Kconfig"
355
356
357