Kconfig 7.2 KB

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