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