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