Kconfig 9.1 KB

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