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