Kconfig 43 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851
  1. menu "ARM architecture"
  2. depends on ARM
  3. config SYS_ARCH
  4. default "arm"
  5. config ARM64
  6. bool
  7. select PHYS_64BIT
  8. select SYS_CACHE_SHIFT_6
  9. if ARM64
  10. config POSITION_INDEPENDENT
  11. bool "Generate position-independent pre-relocation code"
  12. help
  13. U-Boot expects to be linked to a specific hard-coded address, and to
  14. be loaded to and run from that address. This option lifts that
  15. restriction, thus allowing the code to be loaded to and executed
  16. from almost any address. This logic relies on the relocation
  17. information that is embedded in the binary to support U-Boot
  18. relocating itself to the top-of-RAM later during execution.
  19. config INIT_SP_RELATIVE
  20. bool "Specify the early stack pointer relative to the .bss section"
  21. help
  22. U-Boot typically uses a hard-coded value for the stack pointer
  23. before relocation. Enable this option to instead calculate the
  24. initial SP at run-time. This is useful to avoid hard-coding addresses
  25. into U-Boot, so that it can be loaded and executed at arbitrary
  26. addresses and thus avoid using arbitrary addresses at runtime.
  27. If this option is enabled, the early stack pointer is set to
  28. &_bss_start with a offset value added. The offset is specified by
  29. SYS_INIT_SP_BSS_OFFSET.
  30. config SYS_INIT_SP_BSS_OFFSET
  31. int "Early stack offset from the .bss base address"
  32. depends on INIT_SP_RELATIVE
  33. default 524288
  34. help
  35. This option's value is the offset added to &_bss_start in order to
  36. calculate the stack pointer. This offset should be large enough so
  37. that the early malloc region, global data (gd), and early stack usage
  38. do not overlap any appended DTB.
  39. config LINUX_KERNEL_IMAGE_HEADER
  40. bool
  41. help
  42. Place a Linux kernel image header at the start of the U-Boot binary.
  43. The format of the header is described in the Linux kernel source at
  44. Documentation/arm64/booting.txt. This feature is useful since the
  45. image header reports the amount of memory (BSS and similar) that
  46. U-Boot needs to use, but which isn't part of the binary.
  47. if LINUX_KERNEL_IMAGE_HEADER
  48. config LNX_KRNL_IMG_TEXT_OFFSET_BASE
  49. hex
  50. help
  51. The value subtracted from CONFIG_SYS_TEXT_BASE to calculate the
  52. TEXT_OFFSET value written to the Linux kernel image header.
  53. endif
  54. endif
  55. config STATIC_RELA
  56. bool
  57. default y if ARM64 && !POSITION_INDEPENDENT
  58. config DMA_ADDR_T_64BIT
  59. bool
  60. default y if ARM64
  61. config HAS_VBAR
  62. bool
  63. config HAS_THUMB2
  64. bool
  65. # Used for compatibility with asm files copied from the kernel
  66. config ARM_ASM_UNIFIED
  67. bool
  68. default y
  69. # Used for compatibility with asm files copied from the kernel
  70. config THUMB2_KERNEL
  71. bool
  72. config SYS_ICACHE_OFF
  73. bool "Do not enable icache"
  74. default n
  75. help
  76. Do not enable instruction cache in U-Boot.
  77. config SPL_SYS_ICACHE_OFF
  78. bool "Do not enable icache in SPL"
  79. depends on SPL
  80. default SYS_ICACHE_OFF
  81. help
  82. Do not enable instruction cache in SPL.
  83. config SYS_DCACHE_OFF
  84. bool "Do not enable dcache"
  85. default n
  86. help
  87. Do not enable data cache in U-Boot.
  88. config SPL_SYS_DCACHE_OFF
  89. bool "Do not enable dcache in SPL"
  90. depends on SPL
  91. default SYS_DCACHE_OFF
  92. help
  93. Do not enable data cache in SPL.
  94. config SYS_ARM_CACHE_CP15
  95. bool "CP15 based cache enabling support"
  96. help
  97. Select this if your processor suports enabling caches by using
  98. CP15 registers.
  99. config SYS_ARM_MMU
  100. bool "MMU-based Paged Memory Management Support"
  101. select SYS_ARM_CACHE_CP15
  102. help
  103. Select if you want MMU-based virtualised addressing space
  104. support via paged memory management.
  105. config SYS_ARM_MPU
  106. bool 'Use the ARM v7 PMSA Compliant MPU'
  107. help
  108. Some ARM systems without an MMU have instead a Memory Protection
  109. Unit (MPU) that defines the type and permissions for regions of
  110. memory.
  111. If your CPU has an MPU then you should choose 'y' here unless you
  112. know that you do not want to use the MPU.
  113. # If set, the workarounds for these ARM errata are applied early during U-Boot
  114. # startup. Note that in general these options force the workarounds to be
  115. # applied; no CPU-type/version detection exists, unlike the similar options in
  116. # the Linux kernel. Do not set these options unless they apply! Also note that
  117. # the following can be machine-specific errata. These do have ability to
  118. # provide rudimentary version and machine-specific checks, but expect no
  119. # product checks:
  120. # CONFIG_ARM_ERRATA_430973
  121. # CONFIG_ARM_ERRATA_454179
  122. # CONFIG_ARM_ERRATA_621766
  123. # CONFIG_ARM_ERRATA_798870
  124. # CONFIG_ARM_ERRATA_801819
  125. # CONFIG_ARM_CORTEX_A8_CVE_2017_5715
  126. # CONFIG_ARM_CORTEX_A15_CVE_2017_5715
  127. config ARM_ERRATA_430973
  128. bool
  129. config ARM_ERRATA_454179
  130. bool
  131. config ARM_ERRATA_621766
  132. bool
  133. config ARM_ERRATA_716044
  134. bool
  135. config ARM_ERRATA_725233
  136. bool
  137. config ARM_ERRATA_742230
  138. bool
  139. config ARM_ERRATA_743622
  140. bool
  141. config ARM_ERRATA_751472
  142. bool
  143. config ARM_ERRATA_761320
  144. bool
  145. config ARM_ERRATA_773022
  146. bool
  147. config ARM_ERRATA_774769
  148. bool
  149. config ARM_ERRATA_794072
  150. bool
  151. config ARM_ERRATA_798870
  152. bool
  153. config ARM_ERRATA_801819
  154. bool
  155. config ARM_ERRATA_826974
  156. bool
  157. config ARM_ERRATA_828024
  158. bool
  159. config ARM_ERRATA_829520
  160. bool
  161. config ARM_ERRATA_833069
  162. bool
  163. config ARM_ERRATA_833471
  164. bool
  165. config ARM_ERRATA_845369
  166. bool
  167. config ARM_ERRATA_852421
  168. bool
  169. config ARM_ERRATA_852423
  170. bool
  171. config ARM_ERRATA_855873
  172. bool
  173. config ARM_CORTEX_A8_CVE_2017_5715
  174. bool
  175. config ARM_CORTEX_A15_CVE_2017_5715
  176. bool
  177. config CPU_ARM720T
  178. bool
  179. select SYS_CACHE_SHIFT_5
  180. imply SYS_ARM_MMU
  181. config CPU_ARM920T
  182. bool
  183. select SYS_CACHE_SHIFT_5
  184. imply SYS_ARM_MMU
  185. config CPU_ARM926EJS
  186. bool
  187. select SYS_CACHE_SHIFT_5
  188. imply SYS_ARM_MMU
  189. config CPU_ARM946ES
  190. bool
  191. select SYS_CACHE_SHIFT_5
  192. imply SYS_ARM_MMU
  193. config CPU_ARM1136
  194. bool
  195. select SYS_CACHE_SHIFT_5
  196. imply SYS_ARM_MMU
  197. config CPU_ARM1176
  198. bool
  199. select HAS_VBAR
  200. select SYS_CACHE_SHIFT_5
  201. imply SYS_ARM_MMU
  202. config CPU_V7A
  203. bool
  204. select HAS_THUMB2
  205. select HAS_VBAR
  206. select SYS_CACHE_SHIFT_6
  207. imply SYS_ARM_MMU
  208. config CPU_V7M
  209. bool
  210. select HAS_THUMB2
  211. select SYS_ARM_MPU
  212. select SYS_CACHE_SHIFT_5
  213. select SYS_THUMB_BUILD
  214. select THUMB2_KERNEL
  215. config CPU_V7R
  216. bool
  217. select HAS_THUMB2
  218. select SYS_ARM_CACHE_CP15
  219. select SYS_ARM_MPU
  220. select SYS_CACHE_SHIFT_6
  221. config CPU_PXA
  222. bool
  223. select SYS_CACHE_SHIFT_5
  224. imply SYS_ARM_MMU
  225. config CPU_SA1100
  226. bool
  227. select SYS_CACHE_SHIFT_5
  228. imply SYS_ARM_MMU
  229. config SYS_CPU
  230. default "arm720t" if CPU_ARM720T
  231. default "arm920t" if CPU_ARM920T
  232. default "arm926ejs" if CPU_ARM926EJS
  233. default "arm946es" if CPU_ARM946ES
  234. default "arm1136" if CPU_ARM1136
  235. default "arm1176" if CPU_ARM1176
  236. default "armv7" if CPU_V7A
  237. default "armv7" if CPU_V7R
  238. default "armv7m" if CPU_V7M
  239. default "pxa" if CPU_PXA
  240. default "sa1100" if CPU_SA1100
  241. default "armv8" if ARM64
  242. config SYS_ARM_ARCH
  243. int
  244. default 4 if CPU_ARM720T
  245. default 4 if CPU_ARM920T
  246. default 5 if CPU_ARM926EJS
  247. default 5 if CPU_ARM946ES
  248. default 6 if CPU_ARM1136
  249. default 6 if CPU_ARM1176
  250. default 7 if CPU_V7A
  251. default 7 if CPU_V7M
  252. default 7 if CPU_V7R
  253. default 5 if CPU_PXA
  254. default 4 if CPU_SA1100
  255. default 8 if ARM64
  256. config SYS_CACHE_SHIFT_5
  257. bool
  258. config SYS_CACHE_SHIFT_6
  259. bool
  260. config SYS_CACHE_SHIFT_7
  261. bool
  262. config SYS_CACHELINE_SIZE
  263. int
  264. default 128 if SYS_CACHE_SHIFT_7
  265. default 64 if SYS_CACHE_SHIFT_6
  266. default 32 if SYS_CACHE_SHIFT_5
  267. config ARCH_CPU_INIT
  268. bool "Enable ARCH_CPU_INIT"
  269. help
  270. Some architectures require a call to arch_cpu_init().
  271. Say Y here to enable it
  272. config SYS_ARCH_TIMER
  273. bool "ARM Generic Timer support"
  274. depends on CPU_V7A || ARM64
  275. default y if ARM64
  276. help
  277. The ARM Generic Timer (aka arch-timer) provides an architected
  278. interface to a timer source on an SoC.
  279. It is mandatory for ARMv8 implementation and widely available
  280. on ARMv7 systems.
  281. config ARM_SMCCC
  282. bool "Support for ARM SMC Calling Convention (SMCCC)"
  283. depends on CPU_V7A || ARM64
  284. select ARM_PSCI_FW
  285. help
  286. Say Y here if you want to enable ARM SMC Calling Convention.
  287. This should be enabled if U-Boot needs to communicate with system
  288. firmware (for example, PSCI) according to SMCCC.
  289. config SEMIHOSTING
  290. bool "support boot from semihosting"
  291. help
  292. In emulated environments, semihosting is a way for
  293. the hosted environment to call out to the emulator to
  294. retrieve files from the host machine.
  295. config SYS_THUMB_BUILD
  296. bool "Build U-Boot using the Thumb instruction set"
  297. depends on !ARM64
  298. help
  299. Use this flag to build U-Boot using the Thumb instruction set for
  300. ARM architectures. Thumb instruction set provides better code
  301. density. For ARM architectures that support Thumb2 this flag will
  302. result in Thumb2 code generated by GCC.
  303. config SPL_SYS_THUMB_BUILD
  304. bool "Build SPL using the Thumb instruction set"
  305. default y if SYS_THUMB_BUILD
  306. depends on !ARM64 && SPL
  307. help
  308. Use this flag to build SPL using the Thumb instruction set for
  309. ARM architectures. Thumb instruction set provides better code
  310. density. For ARM architectures that support Thumb2 this flag will
  311. result in Thumb2 code generated by GCC.
  312. config TPL_SYS_THUMB_BUILD
  313. bool "Build TPL using the Thumb instruction set"
  314. default y if SYS_THUMB_BUILD
  315. depends on TPL && !ARM64
  316. help
  317. Use this flag to build TPL using the Thumb instruction set for
  318. ARM architectures. Thumb instruction set provides better code
  319. density. For ARM architectures that support Thumb2 this flag will
  320. result in Thumb2 code generated by GCC.
  321. config SYS_L2CACHE_OFF
  322. bool "L2cache off"
  323. help
  324. If SoC does not support L2CACHE or one does not want to enable
  325. L2CACHE, choose this option.
  326. config ENABLE_ARM_SOC_BOOT0_HOOK
  327. bool "prepare BOOT0 header"
  328. help
  329. If the SoC's BOOT0 requires a header area filled with (magic)
  330. values, then choose this option, and create a file included as
  331. <asm/arch/boot0.h> which contains the required assembler code.
  332. config ARM_CORTEX_CPU_IS_UP
  333. bool
  334. default n
  335. config USE_ARCH_MEMCPY
  336. bool "Use an assembly optimized implementation of memcpy"
  337. default y
  338. depends on !ARM64
  339. help
  340. Enable the generation of an optimized version of memcpy.
  341. Such an implementation may be faster under some conditions
  342. but may increase the binary size.
  343. config SPL_USE_ARCH_MEMCPY
  344. bool "Use an assembly optimized implementation of memcpy for SPL"
  345. default y if USE_ARCH_MEMCPY
  346. depends on !ARM64 && SPL
  347. help
  348. Enable the generation of an optimized version of memcpy.
  349. Such an implementation may be faster under some conditions
  350. but may increase the binary size.
  351. config TPL_USE_ARCH_MEMCPY
  352. bool "Use an assembly optimized implementation of memcpy for TPL"
  353. default y if USE_ARCH_MEMCPY
  354. depends on !ARM64 && TPL
  355. help
  356. Enable the generation of an optimized version of memcpy.
  357. Such an implementation may be faster under some conditions
  358. but may increase the binary size.
  359. config USE_ARCH_MEMSET
  360. bool "Use an assembly optimized implementation of memset"
  361. default y
  362. depends on !ARM64
  363. help
  364. Enable the generation of an optimized version of memset.
  365. Such an implementation may be faster under some conditions
  366. but may increase the binary size.
  367. config SPL_USE_ARCH_MEMSET
  368. bool "Use an assembly optimized implementation of memset for SPL"
  369. default y if USE_ARCH_MEMSET
  370. depends on !ARM64 && SPL
  371. help
  372. Enable the generation of an optimized version of memset.
  373. Such an implementation may be faster under some conditions
  374. but may increase the binary size.
  375. config TPL_USE_ARCH_MEMSET
  376. bool "Use an assembly optimized implementation of memset for TPL"
  377. default y if USE_ARCH_MEMSET
  378. depends on !ARM64 && TPL
  379. help
  380. Enable the generation of an optimized version of memset.
  381. Such an implementation may be faster under some conditions
  382. but may increase the binary size.
  383. config SET_STACK_SIZE
  384. bool "Enable an option to set max stack size that can be used"
  385. default y if ARCH_VERSAL || ARCH_ZYNQMP
  386. help
  387. This will enable an option to set max stack size that can be
  388. used by U-Boot.
  389. config STACK_SIZE
  390. hex "Define max stack size that can be used by U-Boot"
  391. depends on SET_STACK_SIZE
  392. default 0x4000000 if ARCH_VERSAL || ARCH_ZYNQMP
  393. help
  394. Define Max stack size that can be used by U-Boot so that the
  395. initrd_high will be calculated as base stack pointer minus this
  396. stack size.
  397. config ARM64_SUPPORT_AARCH32
  398. bool "ARM64 system support AArch32 execution state"
  399. depends on ARM64
  400. default y if !TARGET_THUNDERX_88XX
  401. help
  402. This ARM64 system supports AArch32 execution state.
  403. choice
  404. prompt "Target select"
  405. default TARGET_HIKEY
  406. config ARCH_AT91
  407. bool "Atmel AT91"
  408. select SPL_BOARD_INIT if SPL && !TARGET_SMARTWEB
  409. config TARGET_EDB93XX
  410. bool "Support edb93xx"
  411. select CPU_ARM920T
  412. select PL010_SERIAL
  413. config TARGET_ASPENITE
  414. bool "Support aspenite"
  415. select CPU_ARM926EJS
  416. config TARGET_GPLUGD
  417. bool "Support gplugd"
  418. select CPU_ARM926EJS
  419. config ARCH_DAVINCI
  420. bool "TI DaVinci"
  421. select CPU_ARM926EJS
  422. imply CMD_SAVES
  423. help
  424. Support for TI's DaVinci platform.
  425. config KIRKWOOD
  426. bool "Marvell Kirkwood"
  427. select ARCH_MISC_INIT
  428. select BOARD_EARLY_INIT_F
  429. select CPU_ARM926EJS
  430. config ARCH_MVEBU
  431. bool "Marvell MVEBU family (Armada XP/375/38x/3700/7K/8K)"
  432. select DM
  433. select DM_ETH
  434. select DM_SERIAL
  435. select DM_SPI
  436. select DM_SPI_FLASH
  437. select OF_CONTROL
  438. select OF_SEPARATE
  439. select SPI
  440. imply CMD_DM
  441. config TARGET_APF27
  442. bool "Support apf27"
  443. select CPU_ARM926EJS
  444. select SUPPORT_SPL
  445. config ORION5X
  446. bool "Marvell Orion"
  447. select CPU_ARM926EJS
  448. config TARGET_SPEAR300
  449. bool "Support spear300"
  450. select BOARD_EARLY_INIT_F
  451. select CPU_ARM926EJS
  452. select PL011_SERIAL
  453. imply CMD_SAVES
  454. config TARGET_SPEAR310
  455. bool "Support spear310"
  456. select BOARD_EARLY_INIT_F
  457. select CPU_ARM926EJS
  458. select PL011_SERIAL
  459. imply CMD_SAVES
  460. config TARGET_SPEAR320
  461. bool "Support spear320"
  462. select BOARD_EARLY_INIT_F
  463. select CPU_ARM926EJS
  464. select PL011_SERIAL
  465. imply CMD_SAVES
  466. config TARGET_SPEAR600
  467. bool "Support spear600"
  468. select BOARD_EARLY_INIT_F
  469. select CPU_ARM926EJS
  470. select PL011_SERIAL
  471. imply CMD_SAVES
  472. config TARGET_STV0991
  473. bool "Support stv0991"
  474. select CPU_V7A
  475. select DM
  476. select DM_SERIAL
  477. select DM_SPI
  478. select DM_SPI_FLASH
  479. select PL01X_SERIAL
  480. select SPI
  481. select SPI_FLASH
  482. imply CMD_DM
  483. config TARGET_X600
  484. bool "Support x600"
  485. select BOARD_LATE_INIT
  486. select CPU_ARM926EJS
  487. select PL011_SERIAL
  488. select SUPPORT_SPL
  489. config TARGET_WOODBURN
  490. bool "Support woodburn"
  491. select CPU_ARM1136
  492. config TARGET_WOODBURN_SD
  493. bool "Support woodburn_sd"
  494. select CPU_ARM1136
  495. select SUPPORT_SPL
  496. config TARGET_FLEA3
  497. bool "Support flea3"
  498. select CPU_ARM1136
  499. config TARGET_MX35PDK
  500. bool "Support mx35pdk"
  501. select BOARD_LATE_INIT
  502. select CPU_ARM1136
  503. config ARCH_BCM283X
  504. bool "Broadcom BCM283X family"
  505. select DM
  506. select DM_GPIO
  507. select DM_SERIAL
  508. select OF_CONTROL
  509. select PL01X_SERIAL
  510. select SERIAL_SEARCH_ALL
  511. imply CMD_DM
  512. imply FAT_WRITE
  513. config ARCH_BCM63158
  514. bool "Broadcom BCM63158 family"
  515. select DM
  516. select OF_CONTROL
  517. imply CMD_DM
  518. config ARCH_BCM6858
  519. bool "Broadcom BCM6858 family"
  520. select DM
  521. select OF_CONTROL
  522. imply CMD_DM
  523. config TARGET_VEXPRESS_CA15_TC2
  524. bool "Support vexpress_ca15_tc2"
  525. select CPU_V7A
  526. select CPU_V7_HAS_NONSEC
  527. select CPU_V7_HAS_VIRT
  528. select PL011_SERIAL
  529. config ARCH_BCMSTB
  530. bool "Broadcom BCM7XXX family"
  531. select CPU_V7A
  532. select DM
  533. select OF_CONTROL
  534. select OF_PRIOR_STAGE
  535. imply CMD_DM
  536. help
  537. This enables support for Broadcom ARM-based set-top box
  538. chipsets, including the 7445 family of chips.
  539. config TARGET_VEXPRESS_CA5X2
  540. bool "Support vexpress_ca5x2"
  541. select CPU_V7A
  542. select PL011_SERIAL
  543. config TARGET_VEXPRESS_CA9X4
  544. bool "Support vexpress_ca9x4"
  545. select CPU_V7A
  546. select PL011_SERIAL
  547. config TARGET_BCM23550_W1D
  548. bool "Support bcm23550_w1d"
  549. select CPU_V7A
  550. imply CRC32_VERIFY
  551. imply FAT_WRITE
  552. config TARGET_BCM28155_AP
  553. bool "Support bcm28155_ap"
  554. select CPU_V7A
  555. imply CRC32_VERIFY
  556. imply FAT_WRITE
  557. config TARGET_BCMCYGNUS
  558. bool "Support bcmcygnus"
  559. select CPU_V7A
  560. imply BCM_SF2_ETH
  561. imply BCM_SF2_ETH_GMAC
  562. imply CMD_HASH
  563. imply CRC32_VERIFY
  564. imply FAT_WRITE
  565. imply HASH_VERIFY
  566. imply NETDEVICES
  567. config TARGET_BCMNSP
  568. bool "Support bcmnsp"
  569. select CPU_V7A
  570. config TARGET_BCMNS2
  571. bool "Support Broadcom Northstar2"
  572. select ARM64
  573. help
  574. Support for Broadcom Northstar 2 SoCs. NS2 is a quad-core 64-bit
  575. ARMv8 Cortex-A57 processors targeting a broad range of networking
  576. applications.
  577. config ARCH_EXYNOS
  578. bool "Samsung EXYNOS"
  579. select DM
  580. select DM_GPIO
  581. select DM_I2C
  582. select DM_KEYBOARD
  583. select DM_SERIAL
  584. select DM_SPI
  585. select DM_SPI_FLASH
  586. select SPI
  587. imply SYS_THUMB_BUILD
  588. imply CMD_DM
  589. imply FAT_WRITE
  590. config ARCH_S5PC1XX
  591. bool "Samsung S5PC1XX"
  592. select CPU_V7A
  593. select DM
  594. select DM_GPIO
  595. select DM_I2C
  596. select DM_SERIAL
  597. imply CMD_DM
  598. config ARCH_HIGHBANK
  599. bool "Calxeda Highbank"
  600. select CPU_V7A
  601. select PL011_SERIAL
  602. config ARCH_INTEGRATOR
  603. bool "ARM Ltd. Integrator family"
  604. select DM
  605. select DM_SERIAL
  606. select PL01X_SERIAL
  607. imply CMD_DM
  608. config ARCH_KEYSTONE
  609. bool "TI Keystone"
  610. select CMD_POWEROFF
  611. select CPU_V7A
  612. select SUPPORT_SPL
  613. select SYS_ARCH_TIMER
  614. select SYS_THUMB_BUILD
  615. imply CMD_MTDPARTS
  616. imply CMD_SAVES
  617. imply FIT
  618. config ARCH_K3
  619. bool "Texas Instruments' K3 Architecture"
  620. select SPL
  621. select SUPPORT_SPL
  622. select FIT
  623. config ARCH_OMAP2PLUS
  624. bool "TI OMAP2+"
  625. select CPU_V7A
  626. select SPL_BOARD_INIT if SPL
  627. select SPL_STACK_R if SPL
  628. select SUPPORT_SPL
  629. imply FIT
  630. config ARCH_MESON
  631. bool "Amlogic Meson"
  632. imply DISTRO_DEFAULTS
  633. help
  634. Support for the Meson SoC family developed by Amlogic Inc.,
  635. targeted at media players and tablet computers. We currently
  636. support the S905 (GXBaby) 64-bit SoC.
  637. config ARCH_MEDIATEK
  638. bool "MediaTek SoCs"
  639. select BINMAN
  640. select DM
  641. select OF_CONTROL
  642. select SPL_DM if SPL
  643. select SPL_LIBCOMMON_SUPPORT if SPL
  644. select SPL_LIBGENERIC_SUPPORT if SPL
  645. select SPL_OF_CONTROL if SPL
  646. select SUPPORT_SPL
  647. help
  648. Support for the MediaTek SoCs family developed by MediaTek Inc.
  649. Please refer to doc/README.mediatek for more information.
  650. config ARCH_LPC32XX
  651. bool "NXP LPC32xx platform"
  652. select CPU_ARM926EJS
  653. select DM
  654. select DM_GPIO
  655. select DM_SERIAL
  656. select SPL_DM if SPL
  657. select SUPPORT_SPL
  658. imply CMD_DM
  659. config ARCH_IMX8
  660. bool "NXP i.MX8 platform"
  661. select ARM64
  662. select DM
  663. select OF_CONTROL
  664. select ENABLE_ARM_SOC_BOOT0_HOOK
  665. config ARCH_IMX8M
  666. bool "NXP i.MX8M platform"
  667. select ARM64
  668. select DM
  669. select SUPPORT_SPL
  670. imply CMD_DM
  671. config ARCH_MX23
  672. bool "NXP i.MX23 family"
  673. select CPU_ARM926EJS
  674. select PL011_SERIAL
  675. select SUPPORT_SPL
  676. config ARCH_MX25
  677. bool "NXP MX25"
  678. select CPU_ARM926EJS
  679. imply MXC_GPIO
  680. config ARCH_MX28
  681. bool "NXP i.MX28 family"
  682. select CPU_ARM926EJS
  683. select PL011_SERIAL
  684. select SUPPORT_SPL
  685. config ARCH_MX31
  686. bool "NXP i.MX31 family"
  687. select CPU_ARM1136
  688. config ARCH_MX7ULP
  689. bool "NXP MX7ULP"
  690. select CPU_V7A
  691. select ROM_UNIFIED_SECTIONS
  692. imply MXC_GPIO
  693. config ARCH_MX7
  694. bool "Freescale MX7"
  695. select ARCH_MISC_INIT
  696. select BOARD_EARLY_INIT_F
  697. select CPU_V7A
  698. select SYS_FSL_HAS_SEC if IMX_HAB
  699. select SYS_FSL_SEC_COMPAT_4
  700. select SYS_FSL_SEC_LE
  701. imply MXC_GPIO
  702. config ARCH_MX6
  703. bool "Freescale MX6"
  704. select CPU_V7A
  705. select SYS_FSL_HAS_SEC if IMX_HAB
  706. select SYS_FSL_SEC_COMPAT_4
  707. select SYS_FSL_SEC_LE
  708. select SYS_THUMB_BUILD if SPL
  709. imply MXC_GPIO
  710. if ARCH_MX6
  711. config SPL_LDSCRIPT
  712. default "arch/arm/mach-omap2/u-boot-spl.lds"
  713. endif
  714. config ARCH_MX5
  715. bool "Freescale MX5"
  716. select BOARD_EARLY_INIT_F
  717. select CPU_V7A
  718. imply MXC_GPIO
  719. config ARCH_OWL
  720. bool "Actions Semi OWL SoCs"
  721. select ARM64
  722. select DM
  723. select DM_SERIAL
  724. select OF_CONTROL
  725. imply CMD_DM
  726. config ARCH_QEMU
  727. bool "QEMU Virtual Platform"
  728. select ARCH_SUPPORT_TFABOOT
  729. select DM
  730. select DM_SERIAL
  731. select OF_CONTROL
  732. select PL01X_SERIAL
  733. imply CMD_DM
  734. imply DM_RTC
  735. imply RTC_PL031
  736. config ARCH_RMOBILE
  737. bool "Renesas ARM SoCs"
  738. select BOARD_EARLY_INIT_F if !RZA1
  739. select DM
  740. select DM_SERIAL
  741. imply CMD_DM
  742. imply FAT_WRITE
  743. imply SYS_THUMB_BUILD
  744. imply ARCH_MISC_INIT if DISPLAY_CPUINFO
  745. config TARGET_S32V234EVB
  746. bool "Support s32v234evb"
  747. select ARM64
  748. select SYS_FSL_ERRATUM_ESDHC111
  749. config ARCH_SNAPDRAGON
  750. bool "Qualcomm Snapdragon SoCs"
  751. select ARM64
  752. select DM
  753. select DM_GPIO
  754. select DM_SERIAL
  755. select MSM_SMEM
  756. select OF_CONTROL
  757. select OF_SEPARATE
  758. select SMEM
  759. select SPMI
  760. imply CMD_DM
  761. config ARCH_SOCFPGA
  762. bool "Altera SOCFPGA family"
  763. select ARCH_EARLY_INIT_R
  764. select ARCH_MISC_INIT if !TARGET_SOCFPGA_ARRIA10
  765. select ARM64 if TARGET_SOCFPGA_STRATIX10
  766. select CPU_V7A if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
  767. select DM
  768. select DM_SERIAL
  769. select ENABLE_ARM_SOC_BOOT0_HOOK if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
  770. select OF_CONTROL
  771. select SPL_DM_RESET if DM_RESET
  772. select SPL_DM_SERIAL
  773. select SPL_LIBCOMMON_SUPPORT
  774. select SPL_LIBGENERIC_SUPPORT
  775. select SPL_NAND_SUPPORT if SPL_NAND_DENALI
  776. select SPL_OF_CONTROL
  777. select SPL_SEPARATE_BSS if TARGET_SOCFPGA_STRATIX10
  778. select SPL_SERIAL_SUPPORT
  779. select SPL_SYSRESET
  780. select SPL_WATCHDOG_SUPPORT
  781. select SUPPORT_SPL
  782. select SYS_NS16550
  783. select SYS_THUMB_BUILD if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
  784. select SYSRESET
  785. select SYSRESET_SOCFPGA if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
  786. select SYSRESET_SOCFPGA_S10 if TARGET_SOCFPGA_STRATIX10
  787. imply CMD_DM
  788. imply CMD_MTDPARTS
  789. imply CRC32_VERIFY
  790. imply DM_SPI
  791. imply DM_SPI_FLASH
  792. imply FAT_WRITE
  793. imply SPL
  794. imply SPL_DM
  795. imply SPL_LIBDISK_SUPPORT
  796. imply SPL_MMC_SUPPORT
  797. imply SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
  798. imply SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE
  799. imply SPL_SPI_FLASH_SUPPORT
  800. imply SPL_SPI_SUPPORT
  801. imply L2X0_CACHE
  802. config ARCH_SUNXI
  803. bool "Support sunxi (Allwinner) SoCs"
  804. select BINMAN
  805. select CMD_GPIO
  806. select CMD_MMC if MMC
  807. select CMD_USB if DISTRO_DEFAULTS
  808. select CLK
  809. select DM
  810. select DM_ETH
  811. select DM_GPIO
  812. select DM_KEYBOARD
  813. select DM_MMC if MMC
  814. select DM_SCSI if SCSI
  815. select DM_SERIAL
  816. select DM_USB if DISTRO_DEFAULTS
  817. select OF_BOARD_SETUP
  818. select OF_CONTROL
  819. select OF_SEPARATE
  820. select SPECIFY_CONSOLE_INDEX
  821. select SPL_STACK_R if SPL
  822. select SPL_SYS_MALLOC_SIMPLE if SPL
  823. select SPL_SYS_THUMB_BUILD if !ARM64
  824. select SUNXI_GPIO
  825. select SYS_NS16550
  826. select SYS_THUMB_BUILD if !ARM64
  827. select USB if DISTRO_DEFAULTS
  828. select USB_KEYBOARD if DISTRO_DEFAULTS
  829. select USB_STORAGE if DISTRO_DEFAULTS
  830. select SPL_USE_TINY_PRINTF
  831. imply CMD_DM
  832. imply CMD_GPT
  833. imply CMD_UBI if MTD_RAW_NAND
  834. imply DISTRO_DEFAULTS
  835. imply FAT_WRITE
  836. imply FIT
  837. imply OF_LIBFDT_OVERLAY
  838. imply PRE_CONSOLE_BUFFER
  839. imply SPL_GPIO_SUPPORT
  840. imply SPL_LIBCOMMON_SUPPORT
  841. imply SPL_LIBGENERIC_SUPPORT
  842. imply SPL_MMC_SUPPORT if MMC
  843. imply SPL_POWER_SUPPORT
  844. imply SPL_SERIAL_SUPPORT
  845. imply USB_GADGET
  846. config ARCH_VERSAL
  847. bool "Support Xilinx Versal Platform"
  848. select ARM64
  849. select CLK
  850. select DM
  851. select DM_ETH if NET
  852. select DM_MMC if MMC
  853. select DM_SERIAL
  854. select OF_CONTROL
  855. imply BOARD_LATE_INIT
  856. config ARCH_VF610
  857. bool "Freescale Vybrid"
  858. select CPU_V7A
  859. select SYS_FSL_ERRATUM_ESDHC111
  860. imply CMD_MTDPARTS
  861. imply MTD_RAW_NAND
  862. config ARCH_ZYNQ
  863. bool "Xilinx Zynq based platform"
  864. select CLK
  865. select CLK_ZYNQ
  866. select CPU_V7A
  867. select DM
  868. select DM_ETH if NET
  869. select DM_MMC if MMC
  870. select DM_SERIAL
  871. select DM_SPI
  872. select DM_SPI_FLASH
  873. select DM_USB if USB
  874. select OF_CONTROL
  875. select SPI
  876. select SPL_BOARD_INIT if SPL
  877. select SPL_CLK if SPL
  878. select SPL_DM if SPL
  879. select SPL_OF_CONTROL if SPL
  880. select SPL_SEPARATE_BSS if SPL
  881. select SUPPORT_SPL
  882. imply ARCH_EARLY_INIT_R
  883. imply BOARD_LATE_INIT
  884. imply CMD_CLK
  885. imply CMD_DM
  886. imply CMD_SPL
  887. imply FAT_WRITE
  888. config ARCH_ZYNQMP_R5
  889. bool "Xilinx ZynqMP R5 based platform"
  890. select CLK
  891. select CPU_V7R
  892. select DM
  893. select DM_ETH if NET
  894. select DM_MMC if MMC
  895. select DM_SERIAL
  896. select OF_CONTROL
  897. imply CMD_DM
  898. imply DM_USB_GADGET
  899. config ARCH_ZYNQMP
  900. bool "Xilinx ZynqMP based platform"
  901. select ARM64
  902. select CLK
  903. select DM
  904. select DM_ETH if NET
  905. select DM_MAILBOX
  906. select DM_MMC if MMC
  907. select DM_SERIAL
  908. select DM_SPI if SPI
  909. select DM_SPI_FLASH if DM_SPI
  910. select DM_USB if USB
  911. select FIRMWARE
  912. select OF_CONTROL
  913. select SPL_BOARD_INIT if SPL
  914. select SPL_CLK if SPL
  915. select SPL_DM_MAILBOX if SPL
  916. select SPL_FIRMWARE if SPL
  917. select SPL_SEPARATE_BSS if SPL
  918. select SUPPORT_SPL
  919. select ZYNQMP_IPI
  920. imply BOARD_LATE_INIT
  921. imply CMD_DM
  922. imply FAT_WRITE
  923. imply MP
  924. imply DM_USB_GADGET
  925. config TEGRA
  926. bool "NVIDIA Tegra"
  927. imply DISTRO_DEFAULTS
  928. imply FAT_WRITE
  929. config TARGET_VEXPRESS64_AEMV8A
  930. bool "Support vexpress_aemv8a"
  931. select ARM64
  932. select PL01X_SERIAL
  933. config TARGET_VEXPRESS64_BASE_FVP
  934. bool "Support Versatile Express ARMv8a FVP BASE model"
  935. select ARM64
  936. select PL01X_SERIAL
  937. select SEMIHOSTING
  938. config TARGET_VEXPRESS64_JUNO
  939. bool "Support Versatile Express Juno Development Platform"
  940. select ARM64
  941. select PL01X_SERIAL
  942. config TARGET_LS2080A_EMU
  943. bool "Support ls2080a_emu"
  944. select ARCH_LS2080A
  945. select ARCH_MISC_INIT
  946. select ARM64
  947. select ARMV8_MULTIENTRY
  948. select FSL_DDR_SYNC_REFRESH
  949. help
  950. Support for Freescale LS2080A_EMU platform.
  951. The LS2080A Development System (EMULATOR) is a pre-silicon
  952. development platform that supports the QorIQ LS2080A
  953. Layerscape Architecture processor.
  954. config TARGET_LS2080A_SIMU
  955. bool "Support ls2080a_simu"
  956. select ARCH_LS2080A
  957. select ARCH_MISC_INIT
  958. select ARM64
  959. select ARMV8_MULTIENTRY
  960. select BOARD_LATE_INIT
  961. help
  962. Support for Freescale LS2080A_SIMU platform.
  963. The LS2080A Development System (QDS) is a pre silicon
  964. development platform that supports the QorIQ LS2080A
  965. Layerscape Architecture processor.
  966. config TARGET_LS1088AQDS
  967. bool "Support ls1088aqds"
  968. select ARCH_LS1088A
  969. select ARCH_MISC_INIT
  970. select ARM64
  971. select ARMV8_MULTIENTRY
  972. select ARCH_SUPPORT_TFABOOT
  973. select BOARD_LATE_INIT
  974. select SUPPORT_SPL
  975. select FSL_DDR_INTERACTIVE if !SD_BOOT
  976. help
  977. Support for NXP LS1088AQDS platform.
  978. The LS1088A Development System (QDS) is a high-performance
  979. development platform that supports the QorIQ LS1088A
  980. Layerscape Architecture processor.
  981. config TARGET_LS2080AQDS
  982. bool "Support ls2080aqds"
  983. select ARCH_LS2080A
  984. select ARCH_MISC_INIT
  985. select ARM64
  986. select ARMV8_MULTIENTRY
  987. select ARCH_SUPPORT_TFABOOT
  988. select BOARD_LATE_INIT
  989. select SUPPORT_SPL
  990. imply SCSI
  991. imply SCSI_AHCI
  992. select FSL_DDR_BIST
  993. select FSL_DDR_INTERACTIVE if !SPL
  994. help
  995. Support for Freescale LS2080AQDS platform.
  996. The LS2080A Development System (QDS) is a high-performance
  997. development platform that supports the QorIQ LS2080A
  998. Layerscape Architecture processor.
  999. config TARGET_LS2080ARDB
  1000. bool "Support ls2080ardb"
  1001. select ARCH_LS2080A
  1002. select ARCH_MISC_INIT
  1003. select ARM64
  1004. select ARMV8_MULTIENTRY
  1005. select ARCH_SUPPORT_TFABOOT
  1006. select BOARD_LATE_INIT
  1007. select SUPPORT_SPL
  1008. select FSL_DDR_BIST
  1009. select FSL_DDR_INTERACTIVE if !SPL
  1010. imply SCSI
  1011. imply SCSI_AHCI
  1012. help
  1013. Support for Freescale LS2080ARDB platform.
  1014. The LS2080A Reference design board (RDB) is a high-performance
  1015. development platform that supports the QorIQ LS2080A
  1016. Layerscape Architecture processor.
  1017. config TARGET_LS2081ARDB
  1018. bool "Support ls2081ardb"
  1019. select ARCH_LS2080A
  1020. select ARCH_MISC_INIT
  1021. select ARM64
  1022. select ARMV8_MULTIENTRY
  1023. select BOARD_LATE_INIT
  1024. select SUPPORT_SPL
  1025. help
  1026. Support for Freescale LS2081ARDB platform.
  1027. The LS2081A Reference design board (RDB) is a high-performance
  1028. development platform that supports the QorIQ LS2081A/LS2041A
  1029. Layerscape Architecture processor.
  1030. config TARGET_LX2160ARDB
  1031. bool "Support lx2160ardb"
  1032. select ARCH_LX2160A
  1033. select ARCH_MISC_INIT
  1034. select ARM64
  1035. select ARMV8_MULTIENTRY
  1036. select ARCH_SUPPORT_TFABOOT
  1037. select BOARD_LATE_INIT
  1038. help
  1039. Support for NXP LX2160ARDB platform.
  1040. The lx2160ardb (LX2160A Reference design board (RDB)
  1041. is a high-performance development platform that supports the
  1042. QorIQ LX2160A/LX2120A/LX2080A Layerscape Architecture processor.
  1043. config TARGET_LX2160AQDS
  1044. bool "Support lx2160aqds"
  1045. select ARCH_LX2160A
  1046. select ARCH_MISC_INIT
  1047. select ARM64
  1048. select ARMV8_MULTIENTRY
  1049. select ARCH_SUPPORT_TFABOOT
  1050. select BOARD_LATE_INIT
  1051. help
  1052. Support for NXP LX2160AQDS platform.
  1053. The lx2160aqds (LX2160A QorIQ Development System (QDS)
  1054. is a high-performance development platform that supports the
  1055. QorIQ LX2160A/LX2120A/LX2080A Layerscape Architecture processor.
  1056. config TARGET_HIKEY
  1057. bool "Support HiKey 96boards Consumer Edition Platform"
  1058. select ARM64
  1059. select DM
  1060. select DM_GPIO
  1061. select DM_SERIAL
  1062. select OF_CONTROL
  1063. select PL01X_SERIAL
  1064. select SPECIFY_CONSOLE_INDEX
  1065. imply CMD_DM
  1066. help
  1067. Support for HiKey 96boards platform. It features a HI6220
  1068. SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.
  1069. config TARGET_HIKEY960
  1070. bool "Support HiKey960 96boards Consumer Edition Platform"
  1071. select ARM64
  1072. select DM
  1073. select DM_SERIAL
  1074. select OF_CONTROL
  1075. select PL01X_SERIAL
  1076. imply CMD_DM
  1077. help
  1078. Support for HiKey960 96boards platform. It features a HI3660
  1079. SoC, with 4xA73 CPU, 4xA53 CPU, MALI-G71 GPU, and 3GB RAM.
  1080. config TARGET_POPLAR
  1081. bool "Support Poplar 96boards Enterprise Edition Platform"
  1082. select ARM64
  1083. select DM
  1084. select DM_SERIAL
  1085. select DM_USB
  1086. select OF_CONTROL
  1087. select PL01X_SERIAL
  1088. imply CMD_DM
  1089. help
  1090. Support for Poplar 96boards EE platform. It features a HI3798cv200
  1091. SoC, with 4xA53 CPU, 1GB RAM and the high performance Mali T720 GPU
  1092. making it capable of running any commercial set-top solution based on
  1093. Linux or Android.
  1094. config TARGET_LS1012AQDS
  1095. bool "Support ls1012aqds"
  1096. select ARCH_LS1012A
  1097. select ARM64
  1098. select ARCH_SUPPORT_TFABOOT
  1099. select BOARD_LATE_INIT
  1100. help
  1101. Support for Freescale LS1012AQDS platform.
  1102. The LS1012A Development System (QDS) is a high-performance
  1103. development platform that supports the QorIQ LS1012A
  1104. Layerscape Architecture processor.
  1105. config TARGET_LS1012ARDB
  1106. bool "Support ls1012ardb"
  1107. select ARCH_LS1012A
  1108. select ARM64
  1109. select ARCH_SUPPORT_TFABOOT
  1110. select BOARD_LATE_INIT
  1111. imply SCSI
  1112. imply SCSI_AHCI
  1113. help
  1114. Support for Freescale LS1012ARDB platform.
  1115. The LS1012A Reference design board (RDB) is a high-performance
  1116. development platform that supports the QorIQ LS1012A
  1117. Layerscape Architecture processor.
  1118. config TARGET_LS1012A2G5RDB
  1119. bool "Support ls1012a2g5rdb"
  1120. select ARCH_LS1012A
  1121. select ARM64
  1122. select ARCH_SUPPORT_TFABOOT
  1123. select BOARD_LATE_INIT
  1124. imply SCSI
  1125. help
  1126. Support for Freescale LS1012A2G5RDB platform.
  1127. The LS1012A 2G5 Reference design board (RDB) is a high-performance
  1128. development platform that supports the QorIQ LS1012A
  1129. Layerscape Architecture processor.
  1130. config TARGET_LS1012AFRWY
  1131. bool "Support ls1012afrwy"
  1132. select ARCH_LS1012A
  1133. select ARM64
  1134. select ARCH_SUPPORT_TFABOOT
  1135. select BOARD_LATE_INIT
  1136. imply SCSI
  1137. imply SCSI_AHCI
  1138. help
  1139. Support for Freescale LS1012AFRWY platform.
  1140. The LS1012A FRWY board (FRWY) is a high-performance
  1141. development platform that supports the QorIQ LS1012A
  1142. Layerscape Architecture processor.
  1143. config TARGET_LS1012AFRDM
  1144. bool "Support ls1012afrdm"
  1145. select ARCH_LS1012A
  1146. select ARM64
  1147. select ARCH_SUPPORT_TFABOOT
  1148. help
  1149. Support for Freescale LS1012AFRDM platform.
  1150. The LS1012A Freedom board (FRDM) is a high-performance
  1151. development platform that supports the QorIQ LS1012A
  1152. Layerscape Architecture processor.
  1153. config TARGET_LS1028AQDS
  1154. bool "Support ls1028aqds"
  1155. select ARCH_LS1028A
  1156. select ARM64
  1157. select ARMV8_MULTIENTRY
  1158. select ARCH_SUPPORT_TFABOOT
  1159. select BOARD_LATE_INIT
  1160. select ARCH_MISC_INIT
  1161. help
  1162. Support for Freescale LS1028AQDS platform
  1163. The LS1028A Development System (QDS) is a high-performance
  1164. development platform that supports the QorIQ LS1028A
  1165. Layerscape Architecture processor.
  1166. config TARGET_LS1028ARDB
  1167. bool "Support ls1028ardb"
  1168. select ARCH_LS1028A
  1169. select ARM64
  1170. select ARMV8_MULTIENTRY
  1171. select ARCH_SUPPORT_TFABOOT
  1172. help
  1173. Support for Freescale LS1028ARDB platform
  1174. The LS1028A Development System (RDB) is a high-performance
  1175. development platform that supports the QorIQ LS1028A
  1176. Layerscape Architecture processor.
  1177. config TARGET_LS1088ARDB
  1178. bool "Support ls1088ardb"
  1179. select ARCH_LS1088A
  1180. select ARCH_MISC_INIT
  1181. select ARM64
  1182. select ARMV8_MULTIENTRY
  1183. select ARCH_SUPPORT_TFABOOT
  1184. select BOARD_LATE_INIT
  1185. select SUPPORT_SPL
  1186. select FSL_DDR_INTERACTIVE if !SD_BOOT
  1187. help
  1188. Support for NXP LS1088ARDB platform.
  1189. The LS1088A Reference design board (RDB) is a high-performance
  1190. development platform that supports the QorIQ LS1088A
  1191. Layerscape Architecture processor.
  1192. config TARGET_LS1021AQDS
  1193. bool "Support ls1021aqds"
  1194. select ARCH_LS1021A
  1195. select ARCH_SUPPORT_PSCI
  1196. select BOARD_EARLY_INIT_F
  1197. select BOARD_LATE_INIT
  1198. select CPU_V7A
  1199. select CPU_V7_HAS_NONSEC
  1200. select CPU_V7_HAS_VIRT
  1201. select LS1_DEEP_SLEEP
  1202. select SUPPORT_SPL
  1203. select SYS_FSL_DDR
  1204. select FSL_DDR_INTERACTIVE
  1205. imply SCSI
  1206. config TARGET_LS1021ATWR
  1207. bool "Support ls1021atwr"
  1208. select ARCH_LS1021A
  1209. select ARCH_SUPPORT_PSCI
  1210. select BOARD_EARLY_INIT_F
  1211. select BOARD_LATE_INIT
  1212. select CPU_V7A
  1213. select CPU_V7_HAS_NONSEC
  1214. select CPU_V7_HAS_VIRT
  1215. select LS1_DEEP_SLEEP
  1216. select SUPPORT_SPL
  1217. imply SCSI
  1218. config TARGET_LS1021ATSN
  1219. bool "Support ls1021atsn"
  1220. select ARCH_LS1021A
  1221. select ARCH_SUPPORT_PSCI
  1222. select BOARD_EARLY_INIT_F
  1223. select BOARD_LATE_INIT
  1224. select CPU_V7A
  1225. select CPU_V7_HAS_NONSEC
  1226. select CPU_V7_HAS_VIRT
  1227. select LS1_DEEP_SLEEP
  1228. select SUPPORT_SPL
  1229. imply SCSI
  1230. config TARGET_LS1021AIOT
  1231. bool "Support ls1021aiot"
  1232. select ARCH_LS1021A
  1233. select ARCH_SUPPORT_PSCI
  1234. select BOARD_LATE_INIT
  1235. select CPU_V7A
  1236. select CPU_V7_HAS_NONSEC
  1237. select CPU_V7_HAS_VIRT
  1238. select SUPPORT_SPL
  1239. imply SCSI
  1240. help
  1241. Support for Freescale LS1021AIOT platform.
  1242. The LS1021A Freescale board (IOT) is a high-performance
  1243. development platform that supports the QorIQ LS1021A
  1244. Layerscape Architecture processor.
  1245. config TARGET_LS1043AQDS
  1246. bool "Support ls1043aqds"
  1247. select ARCH_LS1043A
  1248. select ARM64
  1249. select ARMV8_MULTIENTRY
  1250. select ARCH_SUPPORT_TFABOOT
  1251. select BOARD_EARLY_INIT_F
  1252. select BOARD_LATE_INIT
  1253. select SUPPORT_SPL
  1254. select FSL_DDR_INTERACTIVE if !SPL
  1255. imply SCSI
  1256. imply SCSI_AHCI
  1257. help
  1258. Support for Freescale LS1043AQDS platform.
  1259. config TARGET_LS1043ARDB
  1260. bool "Support ls1043ardb"
  1261. select ARCH_LS1043A
  1262. select ARM64
  1263. select ARMV8_MULTIENTRY
  1264. select ARCH_SUPPORT_TFABOOT
  1265. select BOARD_EARLY_INIT_F
  1266. select BOARD_LATE_INIT
  1267. select SUPPORT_SPL
  1268. help
  1269. Support for Freescale LS1043ARDB platform.
  1270. config TARGET_LS1046AQDS
  1271. bool "Support ls1046aqds"
  1272. select ARCH_LS1046A
  1273. select ARM64
  1274. select ARMV8_MULTIENTRY
  1275. select ARCH_SUPPORT_TFABOOT
  1276. select BOARD_EARLY_INIT_F
  1277. select BOARD_LATE_INIT
  1278. select DM_SPI_FLASH if DM_SPI
  1279. select SUPPORT_SPL
  1280. select FSL_DDR_BIST if !SPL
  1281. select FSL_DDR_INTERACTIVE if !SPL
  1282. select FSL_DDR_INTERACTIVE if !SPL
  1283. imply SCSI
  1284. help
  1285. Support for Freescale LS1046AQDS platform.
  1286. The LS1046A Development System (QDS) is a high-performance
  1287. development platform that supports the QorIQ LS1046A
  1288. Layerscape Architecture processor.
  1289. config TARGET_LS1046ARDB
  1290. bool "Support ls1046ardb"
  1291. select ARCH_LS1046A
  1292. select ARM64
  1293. select ARMV8_MULTIENTRY
  1294. select ARCH_SUPPORT_TFABOOT
  1295. select BOARD_EARLY_INIT_F
  1296. select BOARD_LATE_INIT
  1297. select DM_SPI_FLASH if DM_SPI
  1298. select POWER_MC34VR500
  1299. select SUPPORT_SPL
  1300. select FSL_DDR_BIST
  1301. select FSL_DDR_INTERACTIVE if !SPL
  1302. imply SCSI
  1303. help
  1304. Support for Freescale LS1046ARDB platform.
  1305. The LS1046A Reference Design Board (RDB) is a high-performance
  1306. development platform that supports the QorIQ LS1046A
  1307. Layerscape Architecture processor.
  1308. config TARGET_LS1046AFRWY
  1309. bool "Support ls1046afrwy"
  1310. select ARCH_LS1046A
  1311. select ARM64
  1312. select ARMV8_MULTIENTRY
  1313. select ARCH_SUPPORT_TFABOOT
  1314. select BOARD_EARLY_INIT_F
  1315. select BOARD_LATE_INIT
  1316. select DM_SPI_FLASH if DM_SPI
  1317. imply SCSI
  1318. help
  1319. Support for Freescale LS1046AFRWY platform.
  1320. The LS1046A Freeway Board (FRWY) is a high-performance
  1321. development platform that supports the QorIQ LS1046A
  1322. Layerscape Architecture processor.
  1323. config TARGET_COLIBRI_PXA270
  1324. bool "Support colibri_pxa270"
  1325. select CPU_PXA
  1326. config ARCH_UNIPHIER
  1327. bool "Socionext UniPhier SoCs"
  1328. select BOARD_LATE_INIT
  1329. select DM
  1330. select DM_GPIO
  1331. select DM_I2C
  1332. select DM_MMC
  1333. select DM_RESET
  1334. select DM_SERIAL
  1335. select DM_USB
  1336. select OF_BOARD_SETUP
  1337. select OF_CONTROL
  1338. select OF_LIBFDT
  1339. select PINCTRL
  1340. select SPL_BOARD_INIT if SPL
  1341. select SPL_DM if SPL
  1342. select SPL_LIBCOMMON_SUPPORT if SPL
  1343. select SPL_LIBGENERIC_SUPPORT if SPL
  1344. select SPL_OF_CONTROL if SPL
  1345. select SPL_PINCTRL if SPL
  1346. select SUPPORT_SPL
  1347. imply CMD_DM
  1348. imply DISTRO_DEFAULTS
  1349. imply FAT_WRITE
  1350. help
  1351. Support for UniPhier SoC family developed by Socionext Inc.
  1352. (formerly, System LSI Business Division of Panasonic Corporation)
  1353. config STM32
  1354. bool "Support STMicroelectronics STM32 MCU with cortex M"
  1355. select CPU_V7M
  1356. select DM
  1357. select DM_SERIAL
  1358. imply CMD_DM
  1359. config ARCH_STI
  1360. bool "Support STMicrolectronics SoCs"
  1361. select BLK
  1362. select CPU_V7A
  1363. select DM
  1364. select DM_MMC
  1365. select DM_RESET
  1366. select DM_SERIAL
  1367. imply CMD_DM
  1368. help
  1369. Support for STMicroelectronics STiH407/10 SoC family.
  1370. This SoC is used on Linaro 96Board STiH410-B2260
  1371. config ARCH_STM32MP
  1372. bool "Support STMicroelectronics STM32MP Socs with cortex A"
  1373. select ARCH_MISC_INIT
  1374. select BOARD_LATE_INIT
  1375. select CLK
  1376. select DM
  1377. select DM_GPIO
  1378. select DM_RESET
  1379. select DM_SERIAL
  1380. select MISC
  1381. select OF_CONTROL
  1382. select OF_LIBFDT
  1383. select OF_SYSTEM_SETUP
  1384. select PINCTRL
  1385. select REGMAP
  1386. select SUPPORT_SPL
  1387. select SYSCON
  1388. select SYSRESET
  1389. select SYS_THUMB_BUILD
  1390. imply SPL_SYSRESET
  1391. imply CMD_DM
  1392. imply CMD_POWEROFF
  1393. imply OF_LIBFDT_OVERLAY
  1394. imply ENV_VARS_UBOOT_RUNTIME_CONFIG
  1395. imply USE_PREBOOT
  1396. help
  1397. Support for STM32MP SoC family developed by STMicroelectronics,
  1398. MPUs based on ARM cortex A core
  1399. U-BOOT is running in DDR, loaded by the First Stage BootLoader (FSBL).
  1400. FSBL can be TF-A: Trusted Firmware for Cortex A, for trusted boot
  1401. chain.
  1402. SPL is the unsecure FSBL for the basic boot chain.
  1403. config ARCH_ROCKCHIP
  1404. bool "Support Rockchip SoCs"
  1405. select BLK
  1406. select DM
  1407. select DM_GPIO
  1408. select DM_I2C
  1409. select DM_MMC
  1410. select DM_PWM
  1411. select DM_REGULATOR
  1412. select DM_SERIAL
  1413. select DM_SPI
  1414. select DM_SPI_FLASH
  1415. select DM_USB if USB
  1416. select ENABLE_ARM_SOC_BOOT0_HOOK
  1417. select OF_CONTROL
  1418. select SPI
  1419. select SPL_DM if SPL
  1420. select SYS_MALLOC_F
  1421. select SYS_THUMB_BUILD if !ARM64
  1422. imply ADC
  1423. imply CMD_DM
  1424. imply DEBUG_UART_BOARD_INIT
  1425. imply DISTRO_DEFAULTS
  1426. imply FAT_WRITE
  1427. imply SARADC_ROCKCHIP
  1428. imply SPL_SYSRESET
  1429. imply SPL_SYS_MALLOC_SIMPLE
  1430. imply SYS_NS16550
  1431. imply TPL_SYSRESET
  1432. imply USB_FUNCTION_FASTBOOT
  1433. config TARGET_THUNDERX_88XX
  1434. bool "Support ThunderX 88xx"
  1435. select ARM64
  1436. select OF_CONTROL
  1437. select PL01X_SERIAL
  1438. select SYS_CACHE_SHIFT_7
  1439. config ARCH_ASPEED
  1440. bool "Support Aspeed SoCs"
  1441. select DM
  1442. select OF_CONTROL
  1443. imply CMD_DM
  1444. config TARGET_DURIAN
  1445. bool "Support Phytium Durian Platform"
  1446. select ARM64
  1447. help
  1448. Support for durian platform.
  1449. It has 2GB Sdram, uart and pcie.
  1450. endchoice
  1451. config ARCH_SUPPORT_TFABOOT
  1452. bool
  1453. config TFABOOT
  1454. bool "Support for booting from TF-A"
  1455. depends on ARCH_SUPPORT_TFABOOT
  1456. default n
  1457. help
  1458. Enabling this will make a U-Boot binary that is capable of being
  1459. booted via TF-A (Trusted Firmware for Cortex-A).
  1460. config TI_SECURE_DEVICE
  1461. bool "HS Device Type Support"
  1462. depends on ARCH_KEYSTONE || ARCH_OMAP2PLUS || ARCH_K3
  1463. help
  1464. If a high secure (HS) device type is being used, this config
  1465. must be set. This option impacts various aspects of the
  1466. build system (to create signed boot images that can be
  1467. authenticated) and the code. See the doc/README.ti-secure
  1468. file for further details.
  1469. if AM43XX || AM33XX || OMAP54XX || ARCH_KEYSTONE
  1470. config ISW_ENTRY_ADDR
  1471. hex "Address in memory or XIP address of bootloader entry point"
  1472. default 0x402F4000 if AM43XX
  1473. default 0x402F0400 if AM33XX
  1474. default 0x40301350 if OMAP54XX
  1475. help
  1476. After any reset, the boot ROM searches the boot media for a valid
  1477. boot image. For non-XIP devices, the ROM then copies the image into
  1478. internal memory. For all boot modes, after the ROM processes the
  1479. boot image it eventually computes the entry point address depending
  1480. on the device type (secure/non-secure), boot media (xip/non-xip) and
  1481. image headers.
  1482. endif
  1483. source "arch/arm/mach-aspeed/Kconfig"
  1484. source "arch/arm/mach-at91/Kconfig"
  1485. source "arch/arm/mach-bcm283x/Kconfig"
  1486. source "arch/arm/mach-bcmstb/Kconfig"
  1487. source "arch/arm/mach-davinci/Kconfig"
  1488. source "arch/arm/mach-exynos/Kconfig"
  1489. source "arch/arm/mach-highbank/Kconfig"
  1490. source "arch/arm/mach-integrator/Kconfig"
  1491. source "arch/arm/mach-k3/Kconfig"
  1492. source "arch/arm/mach-keystone/Kconfig"
  1493. source "arch/arm/mach-kirkwood/Kconfig"
  1494. source "arch/arm/cpu/arm926ejs/lpc32xx/Kconfig"
  1495. source "arch/arm/mach-mvebu/Kconfig"
  1496. source "arch/arm/cpu/armv7/ls102xa/Kconfig"
  1497. source "arch/arm/mach-imx/mx2/Kconfig"
  1498. source "arch/arm/mach-imx/mx3/Kconfig"
  1499. source "arch/arm/mach-imx/mx5/Kconfig"
  1500. source "arch/arm/mach-imx/mx6/Kconfig"
  1501. source "arch/arm/mach-imx/mx7/Kconfig"
  1502. source "arch/arm/mach-imx/mx7ulp/Kconfig"
  1503. source "arch/arm/mach-imx/imx8/Kconfig"
  1504. source "arch/arm/mach-imx/imx8m/Kconfig"
  1505. source "arch/arm/mach-imx/mxs/Kconfig"
  1506. source "arch/arm/mach-omap2/Kconfig"
  1507. source "arch/arm/cpu/armv8/fsl-layerscape/Kconfig"
  1508. source "arch/arm/mach-orion5x/Kconfig"
  1509. source "arch/arm/mach-owl/Kconfig"
  1510. source "arch/arm/mach-rmobile/Kconfig"
  1511. source "arch/arm/mach-meson/Kconfig"
  1512. source "arch/arm/mach-mediatek/Kconfig"
  1513. source "arch/arm/mach-qemu/Kconfig"
  1514. source "arch/arm/mach-rockchip/Kconfig"
  1515. source "arch/arm/mach-s5pc1xx/Kconfig"
  1516. source "arch/arm/mach-snapdragon/Kconfig"
  1517. source "arch/arm/mach-socfpga/Kconfig"
  1518. source "arch/arm/mach-sti/Kconfig"
  1519. source "arch/arm/mach-stm32/Kconfig"
  1520. source "arch/arm/mach-stm32mp/Kconfig"
  1521. source "arch/arm/mach-sunxi/Kconfig"
  1522. source "arch/arm/mach-tegra/Kconfig"
  1523. source "arch/arm/mach-uniphier/Kconfig"
  1524. source "arch/arm/cpu/armv7/vf610/Kconfig"
  1525. source "arch/arm/mach-zynq/Kconfig"
  1526. source "arch/arm/mach-zynqmp/Kconfig"
  1527. source "arch/arm/mach-versal/Kconfig"
  1528. source "arch/arm/mach-zynqmp-r5/Kconfig"
  1529. source "arch/arm/cpu/armv7/Kconfig"
  1530. source "arch/arm/cpu/armv8/Kconfig"
  1531. source "arch/arm/mach-imx/Kconfig"
  1532. source "board/bosch/shc/Kconfig"
  1533. source "board/bosch/guardian/Kconfig"
  1534. source "board/CarMediaLab/flea3/Kconfig"
  1535. source "board/Marvell/aspenite/Kconfig"
  1536. source "board/Marvell/gplugd/Kconfig"
  1537. source "board/armadeus/apf27/Kconfig"
  1538. source "board/armltd/vexpress/Kconfig"
  1539. source "board/armltd/vexpress64/Kconfig"
  1540. source "board/broadcom/bcm23550_w1d/Kconfig"
  1541. source "board/broadcom/bcm28155_ap/Kconfig"
  1542. source "board/broadcom/bcm963158/Kconfig"
  1543. source "board/broadcom/bcm968580xref/Kconfig"
  1544. source "board/broadcom/bcmcygnus/Kconfig"
  1545. source "board/broadcom/bcmnsp/Kconfig"
  1546. source "board/broadcom/bcmns2/Kconfig"
  1547. source "board/cavium/thunderx/Kconfig"
  1548. source "board/cirrus/edb93xx/Kconfig"
  1549. source "board/eets/pdu001/Kconfig"
  1550. source "board/emulation/qemu-arm/Kconfig"
  1551. source "board/freescale/ls2080a/Kconfig"
  1552. source "board/freescale/ls2080aqds/Kconfig"
  1553. source "board/freescale/ls2080ardb/Kconfig"
  1554. source "board/freescale/ls1088a/Kconfig"
  1555. source "board/freescale/ls1028a/Kconfig"
  1556. source "board/freescale/ls1021aqds/Kconfig"
  1557. source "board/freescale/ls1043aqds/Kconfig"
  1558. source "board/freescale/ls1021atwr/Kconfig"
  1559. source "board/freescale/ls1021atsn/Kconfig"
  1560. source "board/freescale/ls1021aiot/Kconfig"
  1561. source "board/freescale/ls1046aqds/Kconfig"
  1562. source "board/freescale/ls1043ardb/Kconfig"
  1563. source "board/freescale/ls1046ardb/Kconfig"
  1564. source "board/freescale/ls1046afrwy/Kconfig"
  1565. source "board/freescale/ls1012aqds/Kconfig"
  1566. source "board/freescale/ls1012ardb/Kconfig"
  1567. source "board/freescale/ls1012afrdm/Kconfig"
  1568. source "board/freescale/lx2160a/Kconfig"
  1569. source "board/freescale/mx35pdk/Kconfig"
  1570. source "board/freescale/s32v234evb/Kconfig"
  1571. source "board/grinn/chiliboard/Kconfig"
  1572. source "board/gumstix/pepper/Kconfig"
  1573. source "board/hisilicon/hikey/Kconfig"
  1574. source "board/hisilicon/hikey960/Kconfig"
  1575. source "board/hisilicon/poplar/Kconfig"
  1576. source "board/isee/igep003x/Kconfig"
  1577. source "board/phytec/pcm051/Kconfig"
  1578. source "board/silica/pengwyn/Kconfig"
  1579. source "board/spear/spear300/Kconfig"
  1580. source "board/spear/spear310/Kconfig"
  1581. source "board/spear/spear320/Kconfig"
  1582. source "board/spear/spear600/Kconfig"
  1583. source "board/spear/x600/Kconfig"
  1584. source "board/st/stv0991/Kconfig"
  1585. source "board/tcl/sl50/Kconfig"
  1586. source "board/ucRobotics/bubblegum_96/Kconfig"
  1587. source "board/birdland/bav335x/Kconfig"
  1588. source "board/toradex/colibri_pxa270/Kconfig"
  1589. source "board/variscite/dart_6ul/Kconfig"
  1590. source "board/vscom/baltos/Kconfig"
  1591. source "board/woodburn/Kconfig"
  1592. source "board/xilinx/Kconfig"
  1593. source "board/xilinx/zynq/Kconfig"
  1594. source "board/xilinx/zynqmp/Kconfig"
  1595. source "board/phytium/durian/Kconfig"
  1596. source "arch/arm/Kconfig.debug"
  1597. endmenu
  1598. config SPL_LDSCRIPT
  1599. default "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds" if (ARCH_MX23 || ARCH_MX28) && !SPL_FRAMEWORK
  1600. default "arch/arm/cpu/arm1136/u-boot-spl.lds" if CPU_ARM1136
  1601. default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARM64