Kconfig 6.4 KB

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