Kconfig 9.5 KB

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