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