Merge tag 'locks-v3.16-2' of git://git.samba.org/jlayton/linux
[linux/fpc-iii.git] / arch / m32r / Kconfig
blob9e44bbd8051ed1387a45eb4fca0b3f4aa49a3bf0
1 config M32R
2         bool
3         default y
4         select HAVE_IDE
5         select HAVE_OPROFILE
6         select INIT_ALL_POSSIBLE
7         select HAVE_KERNEL_GZIP
8         select HAVE_KERNEL_BZIP2
9         select HAVE_KERNEL_LZMA
10         select ARCH_WANT_IPC_PARSE_VERSION
11         select HAVE_DEBUG_BUGVERBOSE
12         select VIRT_TO_BUS
13         select GENERIC_IRQ_PROBE
14         select GENERIC_IRQ_SHOW
15         select GENERIC_ATOMIC64
16         select ARCH_USES_GETTIMEOFFSET
17         select MODULES_USE_ELF_RELA
18         select HAVE_DEBUG_STACKOVERFLOW
20 config SBUS
21         bool
23 config GENERIC_ISA_DMA
24         bool
25         default y
27 config ZONE_DMA
28         bool
29         default y
31 config NO_IOPORT_MAP
32         def_bool y
34 config NO_DMA
35         def_bool y
37 config HZ
38         int
39         default 100
41 source "init/Kconfig"
43 source "kernel/Kconfig.freezer"
46 menu "Processor type and features"
48 choice
49         prompt "Platform Type"
50         default PLAT_MAPPI
52 config PLAT_MAPPI
53         bool "Mappi-I"
54         help
55           The Mappi-I is an FPGA board for SOC (System-On-a-Chip) prototyping.
56           You can operate a Linux system on this board by using an M32R
57           softmacro core, which is a fully-synthesizable functional model
58           described in Verilog-HDL.
60           The Mappi-I board was the first platform, which had been used
61           to port and develop a Linux system for the M32R processor.
62           Currently, the Mappi-II, an heir to the Mappi-I, is available.
64 config PLAT_USRV
65         bool "uServer"
66         select PLAT_HAS_INT1ICU
68 config PLAT_M32700UT
69         bool "M32700UT"
70         select PLAT_HAS_INT0ICU
71         select PLAT_HAS_INT1ICU
72         select PLAT_HAS_INT2ICU
73         help
74           The M3T-M32700UT is an evaluation board based on uT-Engine
75           specification.  This board has an M32700 (Chaos) evaluation chip.
76           You can say Y for SMP, because the M32700 is a single chip
77           multiprocessor.
79 config PLAT_OPSPUT
80         bool "OPSPUT"
81         select PLAT_HAS_INT0ICU
82         select PLAT_HAS_INT1ICU
83         select PLAT_HAS_INT2ICU
84         help
85           The OPSPUT is an evaluation board based on uT-Engine
86           specification.  This board has a OPSP-REP chip.
88 config PLAT_OAKS32R
89         bool "OAKS32R"
90         help
91           The OAKS32R is a tiny, inexpensive evaluation board.
92           Please note that if you say Y here and choose chip "M32102",
93           say N for MMU and select a no-MMU version kernel, otherwise
94           a kernel with MMU support will not work, because the M32102
95           is a microcontroller for embedded systems and it has no MMU.
97 config PLAT_MAPPI2
98        bool "Mappi-II(M3A-ZA36/M3A-ZA52)"
100 config PLAT_MAPPI3
101        bool "Mappi-III(M3A-2170)"
103 config PLAT_M32104UT
104         bool "M32104UT"
105         select PLAT_HAS_INT1ICU
106         help
107           The M3T-M32104UT is an reference board based on uT-Engine
108           specification.  This board has a M32104 chip.
110 endchoice
112 choice
113         prompt "Processor family"
114         default CHIP_M32700
116 config CHIP_M32700
117         bool "M32700 (Chaos)"
119 config CHIP_M32102
120         bool "M32102"
122 config CHIP_M32104
123         bool "M32104"
124         depends on PLAT_M32104UT
126 config CHIP_VDEC2
127        bool "VDEC2"
129 config CHIP_OPSP
130        bool "OPSP"
132 endchoice
134 config MMU
135         bool "Support for memory management hardware"
136         depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP
137         default y
139 config TLB_ENTRIES
140        int "TLB Entries"
141        depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP
142        default 32 if CHIP_M32700 || CHIP_OPSP
143        default 16 if CHIP_VDEC2
146 config ISA_M32R
147         bool
148         depends on CHIP_M32102 || CHIP_M32104
149         default y
151 config ISA_M32R2
152         bool
153         depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP
154         default y
156 config ISA_DSP_LEVEL2
157         bool
158         depends on CHIP_M32700 || CHIP_OPSP
159         default y
161 config ISA_DUAL_ISSUE
162         bool
163         depends on CHIP_M32700 || CHIP_OPSP
164         default y
166 config PLAT_HAS_INT0ICU
167         bool
168         default n
170 config PLAT_HAS_INT1ICU
171         bool
172         default n
174 config PLAT_HAS_INT2ICU
175         bool
176         default n
178 config BUS_CLOCK
179         int "Bus Clock [Hz] (integer)"
180         default "70000000" if PLAT_MAPPI
181         default "25000000" if PLAT_USRV
182         default "50000000" if PLAT_MAPPI3
183         default "50000000" if PLAT_M32700UT
184         default "50000000" if PLAT_OPSPUT
185         default "54000000" if PLAT_M32104UT
186         default "33333333" if PLAT_OAKS32R
187         default "20000000" if PLAT_MAPPI2
189 config TIMER_DIVIDE
190         int "Timer divider (integer)"
191         default "128"
193 config CPU_LITTLE_ENDIAN
194         bool "Generate little endian code"
195         default n
197 config MEMORY_START
198         hex "Physical memory start address (hex)"
199         default "08000000" if PLAT_MAPPI || PLAT_MAPPI2 || PLAT_MAPPI3
200         default "08000000" if PLAT_USRV
201         default "08000000" if PLAT_M32700UT
202         default "08000000" if PLAT_OPSPUT
203         default "04000000" if PLAT_M32104UT
204         default "01000000" if PLAT_OAKS32R
206 config MEMORY_SIZE
207         hex "Physical memory size (hex)"
208         default "08000000" if PLAT_MAPPI3
209         default "04000000" if PLAT_MAPPI || PLAT_MAPPI2
210         default "02000000" if PLAT_USRV
211         default "01000000" if PLAT_M32700UT
212         default "01000000" if PLAT_OPSPUT
213         default "01000000" if PLAT_M32104UT
214         default "00800000" if PLAT_OAKS32R
216 config ARCH_DISCONTIGMEM_ENABLE
217         bool "Internal RAM Support"
218         depends on CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP || CHIP_M32104
219         default y
221 source "mm/Kconfig"
223 config IRAM_START
224         hex "Internal memory start address (hex)"
225         default "00f00000" if !CHIP_M32104
226         default "00700000" if CHIP_M32104
227         depends on (CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP || CHIP_M32104) && DISCONTIGMEM
229 config IRAM_SIZE
230         hex "Internal memory size (hex)"
231         depends on (CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP || CHIP_M32104) && DISCONTIGMEM
232         default "00080000" if CHIP_M32700
233         default "00010000" if CHIP_M32102 || CHIP_OPSP || CHIP_M32104
234         default "00008000" if CHIP_VDEC2
237 # Define implied options from the CPU selection here
240 config GENERIC_LOCKBREAK
241         bool
242         default y
243         depends on SMP && PREEMPT
245 config RWSEM_GENERIC_SPINLOCK
246         bool
247         depends on M32R
248         default y
250 config RWSEM_XCHGADD_ALGORITHM
251         bool
252         default n
254 config ARCH_HAS_ILOG2_U32
255         bool
256         default n
258 config ARCH_HAS_ILOG2_U64
259         bool
260         default n
262 config GENERIC_HWEIGHT
263         bool
264         default y
266 config GENERIC_CALIBRATE_DELAY
267         bool
268         default y
270 config SCHED_OMIT_FRAME_POINTER
271         bool
272         default y
274 source "kernel/Kconfig.preempt"
276 config SMP
277         bool "Symmetric multi-processing support"
278         ---help---
279           This enables support for systems with more than one CPU. If you have
280           a system with only one CPU, say N. If you have a system with more
281           than one CPU, say Y.
283           If you say N here, the kernel will run on uni- and multiprocessor
284           machines, but will use only one CPU of a multiprocessor machine. If
285           you say Y here, the kernel will run on many, but not all,
286           uniprocessor machines. On a uniprocessor machine, the kernel
287           will run faster if you say N here.
289           People using multiprocessor machines who say Y here should also say
290           Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
291           Management" code will be disabled if you say Y here.
293           See also the SMP-HOWTO available at
294           <http://tldp.org/HOWTO/SMP-HOWTO.html>.
296           If you don't know what to do here, say N.
298 config CHIP_M32700_TS1
299         bool "Workaround code for the M32700 TS1 chip's bug"
300         depends on (CHIP_M32700 && SMP)
301         default n
303 config NR_CPUS
304         int "Maximum number of CPUs (2-32)"
305         range 2 32
306         depends on SMP
307         default "2"
308         help
309           This allows you to specify the maximum number of CPUs which this
310           kernel will support.  The maximum supported value is 32 and the
311           minimum value which makes sense is 2.
313           This is purely to save memory - each supported CPU adds
314           approximately eight kilobytes to the kernel image.
316 # Common NUMA Features
317 config NUMA
318         bool "Numa Memory Allocation Support"
319         depends on SMP && BROKEN
320         default n
322 config NODES_SHIFT
323         int
324         default "1"
325         depends on NEED_MULTIPLE_NODES
327 endmenu
330 menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
332 config PCI
333         bool "PCI support"
334         depends on BROKEN
335         default n
336         help
337           Find out whether you have a PCI motherboard. PCI is the name of a
338           bus system, i.e. the way the CPU talks to the other stuff inside
339           your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
340           VESA. If you have PCI, say Y, otherwise N.
342 choice
343         prompt "PCI access mode"
344         depends on PCI
345         default PCI_GOANY
347 config PCI_GOBIOS
348         bool "BIOS"
349         ---help---
350           On PCI systems, the BIOS can be used to detect the PCI devices and
351           determine their configuration. However, some old PCI motherboards
352           have BIOS bugs and may crash if this is done. Also, some embedded
353           PCI-based systems don't have any BIOS at all. Linux can also try to
354           detect the PCI hardware directly without using the BIOS.
356           With this option, you can specify how Linux should detect the PCI
357           devices. If you choose "BIOS", the BIOS will be used, if you choose
358           "Direct", the BIOS won't be used, and if you choose "Any", the
359           kernel will try the direct access method and falls back to the BIOS
360           if that doesn't work. If unsure, go with the default, which is
361           "Any".
363 config PCI_GODIRECT
364         bool "Direct"
366 config PCI_GOANY
367         bool "Any"
369 endchoice
371 config PCI_BIOS
372         bool
373         depends on PCI && (PCI_GOBIOS || PCI_GOANY)
374         default y
376 config PCI_DIRECT
377         bool
378         depends on PCI && (PCI_GODIRECT || PCI_GOANY)
379         default y
381 source "drivers/pci/Kconfig"
383 config ISA
384         bool
386 source "drivers/pcmcia/Kconfig"
388 source "drivers/pci/hotplug/Kconfig"
390 endmenu
393 menu "Executable file formats"
395 source "fs/Kconfig.binfmt"
397 endmenu
399 source "net/Kconfig"
401 source "drivers/Kconfig"
403 source "fs/Kconfig"
405 source "arch/m32r/Kconfig.debug"
407 source "security/Kconfig"
409 source "crypto/Kconfig"
411 source "lib/Kconfig"