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