Kconfig 9.2 KB

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