Kconfig 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410
  1. menu "MIPS architecture"
  2. depends on MIPS
  3. config SYS_ARCH
  4. default "mips"
  5. config SYS_CPU
  6. default "mips32" if CPU_MIPS32
  7. default "mips64" if CPU_MIPS64
  8. choice
  9. prompt "Target select"
  10. optional
  11. config TARGET_QEMU_MIPS
  12. bool "Support qemu-mips"
  13. select SUPPORTS_BIG_ENDIAN
  14. select SUPPORTS_LITTLE_ENDIAN
  15. select SUPPORTS_CPU_MIPS32_R1
  16. select SUPPORTS_CPU_MIPS32_R2
  17. select SUPPORTS_CPU_MIPS64_R1
  18. select SUPPORTS_CPU_MIPS64_R2
  19. select ROM_EXCEPTION_VECTORS
  20. config TARGET_MALTA
  21. bool "Support malta"
  22. select DM
  23. select DM_SERIAL
  24. select DYNAMIC_IO_PORT_BASE
  25. select MIPS_CM
  26. select MIPS_L2_CACHE
  27. select OF_CONTROL
  28. select OF_ISA_BUS
  29. select SUPPORTS_BIG_ENDIAN
  30. select SUPPORTS_LITTLE_ENDIAN
  31. select SUPPORTS_CPU_MIPS32_R1
  32. select SUPPORTS_CPU_MIPS32_R2
  33. select SUPPORTS_CPU_MIPS32_R6
  34. select SUPPORTS_CPU_MIPS64_R1
  35. select SUPPORTS_CPU_MIPS64_R2
  36. select SUPPORTS_CPU_MIPS64_R6
  37. select SWAP_IO_SPACE
  38. select MIPS_L1_CACHE_SHIFT_6
  39. select ROM_EXCEPTION_VECTORS
  40. config TARGET_VCT
  41. bool "Support vct"
  42. select SUPPORTS_BIG_ENDIAN
  43. select SUPPORTS_CPU_MIPS32_R1
  44. select SUPPORTS_CPU_MIPS32_R2
  45. select SYS_MIPS_CACHE_INIT_RAM_LOAD
  46. select ROM_EXCEPTION_VECTORS
  47. config TARGET_DBAU1X00
  48. bool "Support dbau1x00"
  49. select SUPPORTS_BIG_ENDIAN
  50. select SUPPORTS_LITTLE_ENDIAN
  51. select SUPPORTS_CPU_MIPS32_R1
  52. select SUPPORTS_CPU_MIPS32_R2
  53. select SYS_MIPS_CACHE_INIT_RAM_LOAD
  54. select ROM_EXCEPTION_VECTORS
  55. select MIPS_TUNE_4KC
  56. config TARGET_PB1X00
  57. bool "Support pb1x00"
  58. select SUPPORTS_LITTLE_ENDIAN
  59. select SUPPORTS_CPU_MIPS32_R1
  60. select SUPPORTS_CPU_MIPS32_R2
  61. select SYS_MIPS_CACHE_INIT_RAM_LOAD
  62. select ROM_EXCEPTION_VECTORS
  63. select MIPS_TUNE_4KC
  64. config ARCH_ATH79
  65. bool "Support QCA/Atheros ath79"
  66. select OF_CONTROL
  67. select DM
  68. config ARCH_BMIPS
  69. bool "Support BMIPS SoCs"
  70. select OF_CONTROL
  71. select DM
  72. select CLK
  73. select CPU
  74. select RAM
  75. select SYSRESET
  76. config MACH_PIC32
  77. bool "Support Microchip PIC32"
  78. select OF_CONTROL
  79. select DM
  80. config TARGET_BOSTON
  81. bool "Support Boston"
  82. select DM
  83. select DM_SERIAL
  84. select OF_CONTROL
  85. select MIPS_CM
  86. select MIPS_L1_CACHE_SHIFT_6
  87. select MIPS_L2_CACHE
  88. select OF_BOARD_SETUP
  89. select SUPPORTS_BIG_ENDIAN
  90. select SUPPORTS_LITTLE_ENDIAN
  91. select SUPPORTS_CPU_MIPS32_R1
  92. select SUPPORTS_CPU_MIPS32_R2
  93. select SUPPORTS_CPU_MIPS32_R6
  94. select SUPPORTS_CPU_MIPS64_R1
  95. select SUPPORTS_CPU_MIPS64_R2
  96. select SUPPORTS_CPU_MIPS64_R6
  97. select ROM_EXCEPTION_VECTORS
  98. config TARGET_XILFPGA
  99. bool "Support Imagination Xilfpga"
  100. select OF_CONTROL
  101. select DM
  102. select DM_SERIAL
  103. select DM_GPIO
  104. select DM_ETH
  105. select SUPPORTS_LITTLE_ENDIAN
  106. select SUPPORTS_CPU_MIPS32_R1
  107. select SUPPORTS_CPU_MIPS32_R2
  108. select MIPS_L1_CACHE_SHIFT_4
  109. select ROM_EXCEPTION_VECTORS
  110. help
  111. This supports IMGTEC MIPSfpga platform
  112. endchoice
  113. source "board/dbau1x00/Kconfig"
  114. source "board/imgtec/boston/Kconfig"
  115. source "board/imgtec/malta/Kconfig"
  116. source "board/imgtec/xilfpga/Kconfig"
  117. source "board/micronas/vct/Kconfig"
  118. source "board/pb1x00/Kconfig"
  119. source "board/qemu-mips/Kconfig"
  120. source "arch/mips/mach-ath79/Kconfig"
  121. source "arch/mips/mach-bmips/Kconfig"
  122. source "arch/mips/mach-pic32/Kconfig"
  123. if MIPS
  124. choice
  125. prompt "Endianness selection"
  126. help
  127. Some MIPS boards can be configured for either little or big endian
  128. byte order. These modes require different U-Boot images. In general there
  129. is one preferred byteorder for a particular system but some systems are
  130. just as commonly used in the one or the other endianness.
  131. config SYS_BIG_ENDIAN
  132. bool "Big endian"
  133. depends on SUPPORTS_BIG_ENDIAN
  134. config SYS_LITTLE_ENDIAN
  135. bool "Little endian"
  136. depends on SUPPORTS_LITTLE_ENDIAN
  137. endchoice
  138. choice
  139. prompt "CPU selection"
  140. default CPU_MIPS32_R2
  141. config CPU_MIPS32_R1
  142. bool "MIPS32 Release 1"
  143. depends on SUPPORTS_CPU_MIPS32_R1
  144. select 32BIT
  145. help
  146. Choose this option to build an U-Boot for release 1 through 5 of the
  147. MIPS32 architecture.
  148. config CPU_MIPS32_R2
  149. bool "MIPS32 Release 2"
  150. depends on SUPPORTS_CPU_MIPS32_R2
  151. select 32BIT
  152. help
  153. Choose this option to build an U-Boot for release 2 through 5 of the
  154. MIPS32 architecture.
  155. config CPU_MIPS32_R6
  156. bool "MIPS32 Release 6"
  157. depends on SUPPORTS_CPU_MIPS32_R6
  158. select 32BIT
  159. help
  160. Choose this option to build an U-Boot for release 6 or later of the
  161. MIPS32 architecture.
  162. config CPU_MIPS64_R1
  163. bool "MIPS64 Release 1"
  164. depends on SUPPORTS_CPU_MIPS64_R1
  165. select 64BIT
  166. help
  167. Choose this option to build a kernel for release 1 through 5 of the
  168. MIPS64 architecture.
  169. config CPU_MIPS64_R2
  170. bool "MIPS64 Release 2"
  171. depends on SUPPORTS_CPU_MIPS64_R2
  172. select 64BIT
  173. help
  174. Choose this option to build a kernel for release 2 through 5 of the
  175. MIPS64 architecture.
  176. config CPU_MIPS64_R6
  177. bool "MIPS64 Release 6"
  178. depends on SUPPORTS_CPU_MIPS64_R6
  179. select 64BIT
  180. help
  181. Choose this option to build a kernel for release 6 or later of the
  182. MIPS64 architecture.
  183. endchoice
  184. menu "General setup"
  185. config ROM_EXCEPTION_VECTORS
  186. bool "Build U-Boot image with exception vectors"
  187. help
  188. Enable this to include exception vectors in the U-Boot image. This is
  189. required if the U-Boot entry point is equal to the address of the
  190. CPU reset exception vector (e.g. U-Boot as ROM loader in Qemu,
  191. U-Boot booted from parallel NOR flash).
  192. Disable this, if the U-Boot image is booted from DRAM (e.g. by SPL).
  193. In that case the image size will be reduced by 0x500 bytes.
  194. config MIPS_CM_BASE
  195. hex "MIPS CM GCR Base Address"
  196. depends on MIPS_CM
  197. default 0x16100000 if TARGET_BOSTON
  198. default 0x1fbf8000
  199. help
  200. The physical base address at which to map the MIPS Coherence Manager
  201. Global Configuration Registers (GCRs). This should be set such that
  202. the GCRs occupy a region of the physical address space which is
  203. otherwise unused, or at minimum that software doesn't need to access.
  204. endmenu
  205. menu "OS boot interface"
  206. config MIPS_BOOT_CMDLINE_LEGACY
  207. bool "Hand over legacy command line to Linux kernel"
  208. default y
  209. help
  210. Enable this option if you want U-Boot to hand over the Yamon-style
  211. command line to the kernel. All bootargs will be prepared as argc/argv
  212. compatible list. The argument count (argc) is stored in register $a0.
  213. The address of the argument list (argv) is stored in register $a1.
  214. config MIPS_BOOT_ENV_LEGACY
  215. bool "Hand over legacy environment to Linux kernel"
  216. default y
  217. help
  218. Enable this option if you want U-Boot to hand over the Yamon-style
  219. environment to the kernel. Information like memory size, initrd
  220. address and size will be prepared as zero-terminated key/value list.
  221. The address of the environment is stored in register $a2.
  222. config MIPS_BOOT_FDT
  223. bool "Hand over a flattened device tree to Linux kernel"
  224. default n
  225. help
  226. Enable this option if you want U-Boot to hand over a flattened
  227. device tree to the kernel. According to UHI register $a0 will be set
  228. to -2 and the FDT address is stored in $a1.
  229. endmenu
  230. config SUPPORTS_BIG_ENDIAN
  231. bool
  232. config SUPPORTS_LITTLE_ENDIAN
  233. bool
  234. config SUPPORTS_CPU_MIPS32_R1
  235. bool
  236. config SUPPORTS_CPU_MIPS32_R2
  237. bool
  238. config SUPPORTS_CPU_MIPS32_R6
  239. bool
  240. config SUPPORTS_CPU_MIPS64_R1
  241. bool
  242. config SUPPORTS_CPU_MIPS64_R2
  243. bool
  244. config SUPPORTS_CPU_MIPS64_R6
  245. bool
  246. config CPU_MIPS32
  247. bool
  248. default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 || CPU_MIPS32_R6
  249. config CPU_MIPS64
  250. bool
  251. default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R6
  252. config MIPS_TUNE_4KC
  253. bool
  254. config MIPS_TUNE_14KC
  255. bool
  256. config MIPS_TUNE_24KC
  257. bool
  258. config MIPS_TUNE_34KC
  259. bool
  260. config MIPS_TUNE_74KC
  261. bool
  262. config 32BIT
  263. bool
  264. config 64BIT
  265. bool
  266. config SWAP_IO_SPACE
  267. bool
  268. config SYS_MIPS_CACHE_INIT_RAM_LOAD
  269. bool
  270. config MIPS_INIT_STACK_IN_SRAM
  271. bool
  272. default n
  273. help
  274. Select this if the initial stack frame could be setup in SRAM.
  275. Normally the initial stack frame is set up in DRAM which is often
  276. only available after lowlevel_init. With this option the initial
  277. stack frame and the early C environment is set up before
  278. lowlevel_init. Thus lowlevel_init does not need to be implemented
  279. in assembler.
  280. config SYS_DCACHE_SIZE
  281. int
  282. default 0
  283. help
  284. The total size of the L1 Dcache, if known at compile time.
  285. config SYS_DCACHE_LINE_SIZE
  286. int
  287. default 0
  288. help
  289. The size of L1 Dcache lines, if known at compile time.
  290. config SYS_ICACHE_SIZE
  291. int
  292. default 0
  293. help
  294. The total size of the L1 ICache, if known at compile time.
  295. config SYS_ICACHE_LINE_SIZE
  296. int
  297. default 0
  298. help
  299. The size of L1 Icache lines, if known at compile time.
  300. config SYS_CACHE_SIZE_AUTO
  301. def_bool y if SYS_DCACHE_SIZE = 0 && SYS_ICACHE_SIZE = 0 && \
  302. SYS_DCACHE_LINE_SIZE = 0 && SYS_ICACHE_LINE_SIZE = 0
  303. help
  304. Select this (or let it be auto-selected by not defining any cache
  305. sizes) in order to allow U-Boot to automatically detect the sizes
  306. of caches at runtime. This has a small cost in code size & runtime
  307. so if you know the cache configuration for your system at compile
  308. time it would be beneficial to configure it.
  309. config MIPS_L1_CACHE_SHIFT_4
  310. bool
  311. config MIPS_L1_CACHE_SHIFT_5
  312. bool
  313. config MIPS_L1_CACHE_SHIFT_6
  314. bool
  315. config MIPS_L1_CACHE_SHIFT_7
  316. bool
  317. config MIPS_L1_CACHE_SHIFT
  318. int
  319. default "7" if MIPS_L1_CACHE_SHIFT_7
  320. default "6" if MIPS_L1_CACHE_SHIFT_6
  321. default "5" if MIPS_L1_CACHE_SHIFT_5
  322. default "4" if MIPS_L1_CACHE_SHIFT_4
  323. default "5"
  324. config MIPS_L2_CACHE
  325. bool
  326. help
  327. Select this if your system includes an L2 cache and you want U-Boot
  328. to initialise & maintain it.
  329. config DYNAMIC_IO_PORT_BASE
  330. bool
  331. config MIPS_CM
  332. bool
  333. help
  334. Select this if your system contains a MIPS Coherence Manager and you
  335. wish U-Boot to configure it or make use of it to retrieve system
  336. information such as cache configuration.
  337. endif
  338. endmenu