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