Kconfig 7.2 KB

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