Kconfig 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422
  1. config CREATE_ARCH_SYMLINK
  2. bool
  3. config HAVE_ARCH_IOREMAP
  4. bool
  5. config NEEDS_MANUAL_RELOC
  6. bool
  7. config SYS_CACHE_SHIFT_4
  8. bool
  9. config SYS_CACHE_SHIFT_5
  10. bool
  11. config SYS_CACHE_SHIFT_6
  12. bool
  13. config SYS_CACHE_SHIFT_7
  14. bool
  15. config SYS_CACHELINE_SIZE
  16. int
  17. default 128 if SYS_CACHE_SHIFT_7
  18. default 64 if SYS_CACHE_SHIFT_6
  19. default 32 if SYS_CACHE_SHIFT_5
  20. default 16 if SYS_CACHE_SHIFT_4
  21. # Fall-back for MIPS
  22. default 32 if MIPS
  23. config LINKER_LIST_ALIGN
  24. int
  25. default 32 if SANDBOX
  26. default 8 if ARM64 || X86
  27. default 4
  28. help
  29. Force the each linker list to be aligned to this boundary. This
  30. is required if ll_entry_get() is used, since otherwise the linker
  31. may add padding into the table, thus breaking it.
  32. See linker_lists.rst for full details.
  33. choice
  34. prompt "Architecture select"
  35. default SANDBOX
  36. config ARC
  37. bool "ARC architecture"
  38. select ARC_TIMER
  39. select CLK
  40. select DM
  41. select HAVE_PRIVATE_LIBGCC
  42. select SUPPORT_OF_CONTROL
  43. select SYS_CACHE_SHIFT_7
  44. select TIMER
  45. config ARM
  46. bool "ARM architecture"
  47. select ARCH_SUPPORTS_LTO
  48. select CREATE_ARCH_SYMLINK
  49. select HAVE_PRIVATE_LIBGCC if !ARM64
  50. select SUPPORT_OF_CONTROL
  51. config M68K
  52. bool "M68000 architecture"
  53. select HAVE_PRIVATE_LIBGCC
  54. select NEEDS_MANUAL_RELOC
  55. select SYS_BOOT_GET_CMDLINE
  56. select SYS_BOOT_GET_KBD
  57. select SYS_CACHE_SHIFT_4
  58. select SUPPORT_OF_CONTROL
  59. config MICROBLAZE
  60. bool "MicroBlaze architecture"
  61. select NEEDS_MANUAL_RELOC
  62. select SUPPORT_OF_CONTROL
  63. imply CMD_IRQ
  64. config MIPS
  65. bool "MIPS architecture"
  66. select HAVE_ARCH_IOREMAP
  67. select HAVE_PRIVATE_LIBGCC
  68. select SUPPORT_OF_CONTROL
  69. config NDS32
  70. bool "NDS32 architecture"
  71. select SUPPORT_OF_CONTROL
  72. config NIOS2
  73. bool "Nios II architecture"
  74. select CPU
  75. select DM
  76. select OF_CONTROL
  77. select SUPPORT_OF_CONTROL
  78. imply CMD_DM
  79. config PPC
  80. bool "PowerPC architecture"
  81. select HAVE_PRIVATE_LIBGCC
  82. select SUPPORT_OF_CONTROL
  83. select SYS_BOOT_GET_CMDLINE
  84. select SYS_BOOT_GET_KBD
  85. config RISCV
  86. bool "RISC-V architecture"
  87. select CREATE_ARCH_SYMLINK
  88. select SUPPORT_OF_CONTROL
  89. select OF_CONTROL
  90. select DM
  91. imply DM_SERIAL
  92. imply DM_ETH
  93. imply DM_MMC
  94. imply DM_SPI
  95. imply DM_SPI_FLASH
  96. imply BLK
  97. imply CLK
  98. imply MTD
  99. imply TIMER
  100. imply CMD_DM
  101. imply SPL_DM
  102. imply SPL_OF_CONTROL
  103. imply SPL_LIBCOMMON_SUPPORT
  104. imply SPL_LIBGENERIC_SUPPORT
  105. imply SPL_SERIAL
  106. imply SPL_TIMER
  107. config SANDBOX
  108. bool "Sandbox"
  109. select ARCH_SUPPORTS_LTO
  110. select BOARD_LATE_INIT
  111. select BZIP2
  112. select CMD_POWEROFF
  113. select DM
  114. select DM_GPIO
  115. select DM_I2C
  116. select DM_KEYBOARD
  117. select DM_MMC
  118. select DM_SERIAL
  119. select DM_SPI
  120. select DM_SPI_FLASH
  121. select GZIP_COMPRESSED
  122. select HAVE_BLOCK_DEVICE
  123. select LZO
  124. select OF_BOARD_SETUP
  125. select PCI_ENDPOINT
  126. select SPI
  127. select SUPPORT_OF_CONTROL
  128. select SYSRESET_CMD_POWEROFF
  129. select SYS_CACHE_SHIFT_4
  130. select IRQ
  131. select SUPPORT_EXTENSION_SCAN
  132. imply BITREVERSE
  133. select BLOBLIST
  134. imply LTO
  135. imply CMD_DM
  136. imply CMD_EXCEPTION
  137. imply CMD_GETTIME
  138. imply CMD_HASH
  139. imply CMD_IO
  140. imply CMD_IOTRACE
  141. imply CMD_LZMADEC
  142. imply CMD_SATA
  143. imply CMD_SF
  144. imply CMD_SF_TEST
  145. imply CRC32_VERIFY
  146. imply FAT_WRITE
  147. imply FIRMWARE
  148. imply HASH_VERIFY
  149. imply LZMA
  150. imply SCSI
  151. imply TEE
  152. imply AVB_VERIFY
  153. imply LIBAVB
  154. imply CMD_AVB
  155. imply SCP03
  156. imply CMD_SCP03
  157. imply UDP_FUNCTION_FASTBOOT
  158. imply VIRTIO_MMIO
  159. imply VIRTIO_PCI
  160. imply VIRTIO_SANDBOX
  161. imply VIRTIO_BLK
  162. imply VIRTIO_NET
  163. imply DM_SOUND
  164. imply PCI_SANDBOX_EP
  165. imply PCH
  166. imply PHYLIB
  167. imply DM_MDIO
  168. imply DM_MDIO_MUX
  169. imply ACPI_PMC
  170. imply ACPI_PMC_SANDBOX
  171. imply CMD_PMC
  172. imply CMD_CLONE
  173. imply SILENT_CONSOLE
  174. imply BOOTARGS_SUBST
  175. imply PHY_FIXED
  176. imply DM_DSA
  177. imply CMD_EXTENSION
  178. config SH
  179. bool "SuperH architecture"
  180. select HAVE_PRIVATE_LIBGCC
  181. select SUPPORT_OF_CONTROL
  182. config X86
  183. bool "x86 architecture"
  184. select SUPPORT_SPL
  185. select SUPPORT_TPL
  186. select CREATE_ARCH_SYMLINK
  187. select DM
  188. select HAVE_ARCH_IOMAP
  189. select HAVE_PRIVATE_LIBGCC
  190. select OF_CONTROL
  191. select PCI
  192. select SUPPORT_OF_CONTROL
  193. select SYS_CACHE_SHIFT_6
  194. select TIMER
  195. select USE_PRIVATE_LIBGCC
  196. select X86_TSC_TIMER
  197. select IRQ
  198. imply HAS_ROM if X86_RESET_VECTOR
  199. imply BLK
  200. imply CMD_DM
  201. imply CMD_FPGA_LOADMK
  202. imply CMD_GETTIME
  203. imply CMD_IO
  204. imply CMD_IRQ
  205. imply CMD_PCI
  206. imply CMD_SF
  207. imply CMD_SF_TEST
  208. imply CMD_ZBOOT
  209. imply DM_ETH
  210. imply DM_GPIO
  211. imply DM_KEYBOARD
  212. imply DM_MMC
  213. imply DM_RTC
  214. imply DM_SCSI
  215. imply DM_SERIAL
  216. imply DM_SPI
  217. imply DM_SPI_FLASH
  218. imply DM_USB
  219. imply DM_VIDEO
  220. imply SYSRESET
  221. imply SPL_SYSRESET
  222. imply SYSRESET_X86
  223. imply USB_ETHER_ASIX
  224. imply USB_ETHER_SMSC95XX
  225. imply USB_HOST_ETHER
  226. imply PCH
  227. imply RTC_MC146818
  228. imply ACPIGEN if !QEMU
  229. imply SYSINFO if GENERATE_SMBIOS_TABLE
  230. imply SYSINFO_SMBIOS if GENERATE_SMBIOS_TABLE
  231. # Thing to enable for when SPL/TPL are enabled: SPL
  232. imply SPL_DM
  233. imply SPL_OF_LIBFDT
  234. imply SPL_DRIVERS_MISC
  235. imply SPL_GPIO
  236. imply SPL_PINCTRL
  237. imply SPL_LIBCOMMON_SUPPORT
  238. imply SPL_LIBGENERIC_SUPPORT
  239. imply SPL_SERIAL
  240. imply SPL_SPI_FLASH_SUPPORT
  241. imply SPL_SPI
  242. imply SPL_OF_CONTROL
  243. imply SPL_TIMER
  244. imply SPL_REGMAP
  245. imply SPL_SYSCON
  246. # TPL
  247. imply TPL_DM
  248. imply TPL_DRIVERS_MISC
  249. imply TPL_GPIO
  250. imply TPL_PINCTRL
  251. imply TPL_LIBCOMMON_SUPPORT
  252. imply TPL_LIBGENERIC_SUPPORT
  253. imply TPL_SERIAL
  254. imply TPL_OF_CONTROL
  255. imply TPL_TIMER
  256. imply TPL_REGMAP
  257. imply TPL_SYSCON
  258. config XTENSA
  259. bool "Xtensa architecture"
  260. select CREATE_ARCH_SYMLINK
  261. select SUPPORT_OF_CONTROL
  262. endchoice
  263. config SYS_ARCH
  264. string
  265. help
  266. This option should contain the architecture name to build the
  267. appropriate arch/<CONFIG_SYS_ARCH> directory.
  268. All the architectures should specify this option correctly.
  269. config SYS_CPU
  270. string
  271. help
  272. This option should contain the CPU name to build the correct
  273. arch/<CONFIG_SYS_ARCH>/cpu/<CONFIG_SYS_CPU> directory.
  274. This is optional. For those targets without the CPU directory,
  275. leave this option empty.
  276. config SYS_SOC
  277. string
  278. help
  279. This option should contain the SoC name to build the directory
  280. arch/<CONFIG_SYS_ARCH>/cpu/<CONFIG_SYS_CPU>/<CONFIG_SYS_SOC>.
  281. This is optional. For those targets without the SoC directory,
  282. leave this option empty.
  283. config SYS_VENDOR
  284. string
  285. help
  286. This option should contain the vendor name of the target board.
  287. If it is set and
  288. board/<CONFIG_SYS_VENDOR>/common/Makefile exists, the vendor common
  289. directory is compiled.
  290. If CONFIG_SYS_BOARD is also set, the sources under
  291. board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD> directory are compiled.
  292. This is optional. For those targets without the vendor directory,
  293. leave this option empty.
  294. config SYS_BOARD
  295. string
  296. help
  297. This option should contain the name of the target board.
  298. If it is set, either board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD>
  299. or board/<CONFIG_SYS_BOARD> directory is compiled depending on
  300. whether CONFIG_SYS_VENDOR is set or not.
  301. This is optional. For those targets without the board directory,
  302. leave this option empty.
  303. config SYS_CONFIG_NAME
  304. string
  305. help
  306. This option should contain the base name of board header file.
  307. The header file include/configs/<CONFIG_SYS_CONFIG_NAME>.h
  308. should be included from include/config.h.
  309. config SYS_DISABLE_DCACHE_OPS
  310. bool
  311. help
  312. This option disables dcache flush and dcache invalidation
  313. operations. For example, on coherent systems where cache
  314. operatios are not required, enable this option to avoid them.
  315. Note that, its up to the individual architectures to implement
  316. this functionality.
  317. config SKIP_LOWLEVEL_INIT
  318. bool "Skip the calls to certain low level initialization functions"
  319. depends on ARM || NDS32 || MIPS || RISCV
  320. help
  321. If enabled, then certain low level initializations (like setting up
  322. the memory controller) are omitted and/or U-Boot does not relocate
  323. itself into RAM.
  324. Normally this variable MUST NOT be defined. The only exception is
  325. when U-Boot is loaded (to RAM) by some other boot loader or by a
  326. debugger which performs these initializations itself.
  327. config SPL_SKIP_LOWLEVEL_INIT
  328. bool "Skip the calls to certain low level initialization functions"
  329. depends on SPL && (ARM || NDS32 || MIPS || RISCV)
  330. help
  331. If enabled, then certain low level initializations (like setting up
  332. the memory controller) are omitted and/or U-Boot does not relocate
  333. itself into RAM.
  334. Normally this variable MUST NOT be defined. The only exception is
  335. when U-Boot is loaded (to RAM) by some other boot loader or by a
  336. debugger which performs these initializations itself.
  337. config TPL_SKIP_LOWLEVEL_INIT
  338. bool "Skip the calls to certain low level initialization functions"
  339. depends on SPL && ARM
  340. help
  341. If enabled, then certain low level initializations (like setting up
  342. the memory controller) are omitted and/or U-Boot does not relocate
  343. itself into RAM.
  344. Normally this variable MUST NOT be defined. The only exception is
  345. when U-Boot is loaded (to RAM) by some other boot loader or by a
  346. debugger which performs these initializations itself.
  347. config SKIP_LOWLEVEL_INIT_ONLY
  348. bool "Skip the call to lowlevel_init during early boot ONLY"
  349. depends on ARM
  350. help
  351. This allows just the call to lowlevel_init() to be skipped. The
  352. normal CP15 init (such as enabling the instruction cache) is still
  353. performed.
  354. config SPL_SKIP_LOWLEVEL_INIT_ONLY
  355. bool "Skip the call to lowlevel_init during early boot ONLY"
  356. depends on SPL && ARM
  357. help
  358. This allows just the call to lowlevel_init() to be skipped. The
  359. normal CP15 init (such as enabling the instruction cache) is still
  360. performed.
  361. config TPL_SKIP_LOWLEVEL_INIT_ONLY
  362. bool "Skip the call to lowlevel_init during early boot ONLY"
  363. depends on TPL && ARM
  364. help
  365. This allows just the call to lowlevel_init() to be skipped. The
  366. normal CP15 init (such as enabling the instruction cache) is still
  367. performed.
  368. source "arch/arc/Kconfig"
  369. source "arch/arm/Kconfig"
  370. source "arch/m68k/Kconfig"
  371. source "arch/microblaze/Kconfig"
  372. source "arch/mips/Kconfig"
  373. source "arch/nds32/Kconfig"
  374. source "arch/nios2/Kconfig"
  375. source "arch/powerpc/Kconfig"
  376. source "arch/sandbox/Kconfig"
  377. source "arch/sh/Kconfig"
  378. source "arch/x86/Kconfig"
  379. source "arch/xtensa/Kconfig"
  380. source "arch/riscv/Kconfig"