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