Kconfig 43 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825
  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 into 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 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 in 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 by 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 mandantory 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 SPL 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 do 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 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 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 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 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 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 implementation may be faster under some conditions
  382. but may increase the binary size.
  383. config ARM64_SUPPORT_AARCH32
  384. bool "ARM64 system support AArch32 execution state"
  385. depends on ARM64
  386. default y if !TARGET_THUNDERX_88XX
  387. help
  388. This ARM64 system supports AArch32 execution state.
  389. choice
  390. prompt "Target select"
  391. default TARGET_HIKEY
  392. config ARCH_AT91
  393. bool "Atmel AT91"
  394. select SPL_BOARD_INIT if SPL && !TARGET_SMARTWEB
  395. config TARGET_EDB93XX
  396. bool "Support edb93xx"
  397. select CPU_ARM920T
  398. select PL010_SERIAL
  399. config TARGET_ASPENITE
  400. bool "Support aspenite"
  401. select CPU_ARM926EJS
  402. config TARGET_GPLUGD
  403. bool "Support gplugd"
  404. select CPU_ARM926EJS
  405. config ARCH_DAVINCI
  406. bool "TI DaVinci"
  407. select CPU_ARM926EJS
  408. imply CMD_SAVES
  409. help
  410. Support for TI's DaVinci platform.
  411. config KIRKWOOD
  412. bool "Marvell Kirkwood"
  413. select ARCH_MISC_INIT
  414. select BOARD_EARLY_INIT_F
  415. select CPU_ARM926EJS
  416. config ARCH_MVEBU
  417. bool "Marvell MVEBU family (Armada XP/375/38x/3700/7K/8K)"
  418. select DM
  419. select DM_ETH
  420. select DM_SERIAL
  421. select DM_SPI
  422. select DM_SPI_FLASH
  423. select OF_CONTROL
  424. select OF_SEPARATE
  425. select SPI
  426. imply CMD_DM
  427. config TARGET_APF27
  428. bool "Support apf27"
  429. select CPU_ARM926EJS
  430. select SUPPORT_SPL
  431. config ORION5X
  432. bool "Marvell Orion"
  433. select CPU_ARM926EJS
  434. config TARGET_SPEAR300
  435. bool "Support spear300"
  436. select BOARD_EARLY_INIT_F
  437. select CPU_ARM926EJS
  438. select PL011_SERIAL
  439. imply CMD_SAVES
  440. config TARGET_SPEAR310
  441. bool "Support spear310"
  442. select BOARD_EARLY_INIT_F
  443. select CPU_ARM926EJS
  444. select PL011_SERIAL
  445. imply CMD_SAVES
  446. config TARGET_SPEAR320
  447. bool "Support spear320"
  448. select BOARD_EARLY_INIT_F
  449. select CPU_ARM926EJS
  450. select PL011_SERIAL
  451. imply CMD_SAVES
  452. config TARGET_SPEAR600
  453. bool "Support spear600"
  454. select BOARD_EARLY_INIT_F
  455. select CPU_ARM926EJS
  456. select PL011_SERIAL
  457. imply CMD_SAVES
  458. config TARGET_STV0991
  459. bool "Support stv0991"
  460. select CPU_V7A
  461. select DM
  462. select DM_SERIAL
  463. select DM_SPI
  464. select DM_SPI_FLASH
  465. select PL01X_SERIAL
  466. select SPI
  467. select SPI_FLASH
  468. imply CMD_DM
  469. config TARGET_X600
  470. bool "Support x600"
  471. select BOARD_LATE_INIT
  472. select CPU_ARM926EJS
  473. select PL011_SERIAL
  474. select SUPPORT_SPL
  475. config TARGET_WOODBURN
  476. bool "Support woodburn"
  477. select CPU_ARM1136
  478. config TARGET_WOODBURN_SD
  479. bool "Support woodburn_sd"
  480. select CPU_ARM1136
  481. select SUPPORT_SPL
  482. config TARGET_FLEA3
  483. bool "Support flea3"
  484. select CPU_ARM1136
  485. config TARGET_MX35PDK
  486. bool "Support mx35pdk"
  487. select BOARD_LATE_INIT
  488. select CPU_ARM1136
  489. config ARCH_BCM283X
  490. bool "Broadcom BCM283X family"
  491. select DM
  492. select DM_GPIO
  493. select DM_SERIAL
  494. select OF_CONTROL
  495. select PL01X_SERIAL
  496. select SERIAL_SEARCH_ALL
  497. imply CMD_DM
  498. imply FAT_WRITE
  499. config ARCH_BCM63158
  500. bool "Broadcom BCM63158 family"
  501. select DM
  502. select OF_CONTROL
  503. imply CMD_DM
  504. config ARCH_BCM6858
  505. bool "Broadcom BCM6858 family"
  506. select DM
  507. select OF_CONTROL
  508. imply CMD_DM
  509. config TARGET_VEXPRESS_CA15_TC2
  510. bool "Support vexpress_ca15_tc2"
  511. select CPU_V7A
  512. select CPU_V7_HAS_NONSEC
  513. select CPU_V7_HAS_VIRT
  514. select PL011_SERIAL
  515. config ARCH_BCMSTB
  516. bool "Broadcom BCM7XXX family"
  517. select CPU_V7A
  518. select DM
  519. select OF_CONTROL
  520. select OF_PRIOR_STAGE
  521. imply CMD_DM
  522. help
  523. This enables support for Broadcom ARM-based set-top box
  524. chipsets, including the 7445 family of chips.
  525. config TARGET_VEXPRESS_CA5X2
  526. bool "Support vexpress_ca5x2"
  527. select CPU_V7A
  528. select PL011_SERIAL
  529. config TARGET_VEXPRESS_CA9X4
  530. bool "Support vexpress_ca9x4"
  531. select CPU_V7A
  532. select PL011_SERIAL
  533. config TARGET_BCM23550_W1D
  534. bool "Support bcm23550_w1d"
  535. select CPU_V7A
  536. imply CRC32_VERIFY
  537. imply FAT_WRITE
  538. config TARGET_BCM28155_AP
  539. bool "Support bcm28155_ap"
  540. select CPU_V7A
  541. imply CRC32_VERIFY
  542. imply FAT_WRITE
  543. config TARGET_BCMCYGNUS
  544. bool "Support bcmcygnus"
  545. select CPU_V7A
  546. imply BCM_SF2_ETH
  547. imply BCM_SF2_ETH_GMAC
  548. imply CMD_HASH
  549. imply CRC32_VERIFY
  550. imply FAT_WRITE
  551. imply HASH_VERIFY
  552. imply NETDEVICES
  553. config TARGET_BCMNSP
  554. bool "Support bcmnsp"
  555. select CPU_V7A
  556. config TARGET_BCMNS2
  557. bool "Support Broadcom Northstar2"
  558. select ARM64
  559. help
  560. Support for Broadcom Northstar 2 SoCs. NS2 is a quad-core 64-bit
  561. ARMv8 Cortex-A57 processors targeting a broad range of networking
  562. applications
  563. config ARCH_EXYNOS
  564. bool "Samsung EXYNOS"
  565. select DM
  566. select DM_GPIO
  567. select DM_I2C
  568. select DM_KEYBOARD
  569. select DM_SERIAL
  570. select DM_SPI
  571. select DM_SPI_FLASH
  572. select SPI
  573. imply SYS_THUMB_BUILD
  574. imply CMD_DM
  575. imply FAT_WRITE
  576. config ARCH_S5PC1XX
  577. bool "Samsung S5PC1XX"
  578. select CPU_V7A
  579. select DM
  580. select DM_GPIO
  581. select DM_I2C
  582. select DM_SERIAL
  583. imply CMD_DM
  584. config ARCH_HIGHBANK
  585. bool "Calxeda Highbank"
  586. select CPU_V7A
  587. select PL011_SERIAL
  588. config ARCH_INTEGRATOR
  589. bool "ARM Ltd. Integrator family"
  590. select DM
  591. select DM_SERIAL
  592. select PL01X_SERIAL
  593. imply CMD_DM
  594. config ARCH_KEYSTONE
  595. bool "TI Keystone"
  596. select CMD_POWEROFF
  597. select CPU_V7A
  598. select SUPPORT_SPL
  599. select SYS_ARCH_TIMER
  600. select SYS_THUMB_BUILD
  601. imply CMD_MTDPARTS
  602. imply CMD_SAVES
  603. imply FIT
  604. config ARCH_K3
  605. bool "Texas Instruments' K3 Architecture"
  606. select SPL
  607. select SUPPORT_SPL
  608. select FIT
  609. config ARCH_OMAP2PLUS
  610. bool "TI OMAP2+"
  611. select CPU_V7A
  612. select SPL_BOARD_INIT if SPL
  613. select SPL_STACK_R if SPL
  614. select SUPPORT_SPL
  615. imply FIT
  616. config ARCH_MESON
  617. bool "Amlogic Meson"
  618. imply DISTRO_DEFAULTS
  619. help
  620. Support for the Meson SoC family developed by Amlogic Inc.,
  621. targeted at media players and tablet computers. We currently
  622. support the S905 (GXBaby) 64-bit SoC.
  623. config ARCH_MEDIATEK
  624. bool "MediaTek SoCs"
  625. select BINMAN
  626. select DM
  627. select OF_CONTROL
  628. select SPL_DM if SPL
  629. select SPL_LIBCOMMON_SUPPORT if SPL
  630. select SPL_LIBGENERIC_SUPPORT if SPL
  631. select SPL_OF_CONTROL if SPL
  632. select SUPPORT_SPL
  633. help
  634. Support for the MediaTek SoCs family developed by MediaTek Inc.
  635. Please refer to doc/README.mediatek for more information.
  636. config ARCH_LPC32XX
  637. bool "NXP LPC32xx platform"
  638. select CPU_ARM926EJS
  639. select DM
  640. select DM_GPIO
  641. select DM_SERIAL
  642. select SPL_DM if SPL
  643. select SUPPORT_SPL
  644. imply CMD_DM
  645. config ARCH_IMX8
  646. bool "NXP i.MX8 platform"
  647. select ARM64
  648. select DM
  649. select OF_CONTROL
  650. config ARCH_IMX8M
  651. bool "NXP i.MX8M platform"
  652. select ARM64
  653. select DM
  654. select SUPPORT_SPL
  655. imply CMD_DM
  656. config ARCH_MX23
  657. bool "NXP i.MX23 family"
  658. select CPU_ARM926EJS
  659. select PL011_SERIAL
  660. select SUPPORT_SPL
  661. config ARCH_MX25
  662. bool "NXP MX25"
  663. select CPU_ARM926EJS
  664. imply MXC_GPIO
  665. config ARCH_MX28
  666. bool "NXP i.MX28 family"
  667. select CPU_ARM926EJS
  668. select PL011_SERIAL
  669. select SUPPORT_SPL
  670. config ARCH_MX31
  671. bool "NXP i.MX31 family"
  672. select CPU_ARM1136
  673. config ARCH_MX7ULP
  674. bool "NXP MX7ULP"
  675. select CPU_V7A
  676. select ROM_UNIFIED_SECTIONS
  677. imply MXC_GPIO
  678. config ARCH_MX7
  679. bool "Freescale MX7"
  680. select ARCH_MISC_INIT
  681. select BOARD_EARLY_INIT_F
  682. select CPU_V7A
  683. select SYS_FSL_HAS_SEC if IMX_HAB
  684. select SYS_FSL_SEC_COMPAT_4
  685. select SYS_FSL_SEC_LE
  686. imply MXC_GPIO
  687. config ARCH_MX6
  688. bool "Freescale MX6"
  689. select CPU_V7A
  690. select SYS_FSL_HAS_SEC if IMX_HAB
  691. select SYS_FSL_SEC_COMPAT_4
  692. select SYS_FSL_SEC_LE
  693. select SYS_THUMB_BUILD if SPL
  694. imply MXC_GPIO
  695. if ARCH_MX6
  696. config SPL_LDSCRIPT
  697. default "arch/arm/mach-omap2/u-boot-spl.lds"
  698. endif
  699. config ARCH_MX5
  700. bool "Freescale MX5"
  701. select BOARD_EARLY_INIT_F
  702. select CPU_V7A
  703. imply MXC_GPIO
  704. config ARCH_OWL
  705. bool "Actions Semi OWL SoCs"
  706. select ARM64
  707. select DM
  708. select DM_SERIAL
  709. select OF_CONTROL
  710. imply CMD_DM
  711. config ARCH_QEMU
  712. bool "QEMU Virtual Platform"
  713. select ARCH_SUPPORT_TFABOOT
  714. select DM
  715. select DM_SERIAL
  716. select OF_CONTROL
  717. select PL01X_SERIAL
  718. imply CMD_DM
  719. imply DM_RTC
  720. imply RTC_PL031
  721. config ARCH_RMOBILE
  722. bool "Renesas ARM SoCs"
  723. select BOARD_EARLY_INIT_F if !RZA1
  724. select DM
  725. select DM_SERIAL
  726. imply CMD_DM
  727. imply FAT_WRITE
  728. imply SYS_THUMB_BUILD
  729. imply ARCH_MISC_INIT if DISPLAY_CPUINFO
  730. config TARGET_S32V234EVB
  731. bool "Support s32v234evb"
  732. select ARM64
  733. select SYS_FSL_ERRATUM_ESDHC111
  734. config ARCH_SNAPDRAGON
  735. bool "Qualcomm Snapdragon SoCs"
  736. select ARM64
  737. select DM
  738. select DM_GPIO
  739. select DM_SERIAL
  740. select MSM_SMEM
  741. select OF_CONTROL
  742. select OF_SEPARATE
  743. select SMEM
  744. select SPMI
  745. imply CMD_DM
  746. config ARCH_SOCFPGA
  747. bool "Altera SOCFPGA family"
  748. select ARCH_EARLY_INIT_R
  749. select ARCH_MISC_INIT if !TARGET_SOCFPGA_ARRIA10
  750. select ARM64 if TARGET_SOCFPGA_STRATIX10
  751. select CPU_V7A if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
  752. select DM
  753. select DM_SERIAL
  754. select ENABLE_ARM_SOC_BOOT0_HOOK if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
  755. select OF_CONTROL
  756. select SPL_DM_RESET if DM_RESET
  757. select SPL_DM_SERIAL
  758. select SPL_LIBCOMMON_SUPPORT
  759. select SPL_LIBGENERIC_SUPPORT
  760. select SPL_NAND_SUPPORT if SPL_NAND_DENALI
  761. select SPL_OF_CONTROL
  762. select SPL_SEPARATE_BSS if TARGET_SOCFPGA_STRATIX10
  763. select SPL_SERIAL_SUPPORT
  764. select SPL_SYSRESET
  765. select SPL_WATCHDOG_SUPPORT
  766. select SUPPORT_SPL
  767. select SYS_NS16550
  768. select SYS_THUMB_BUILD if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
  769. select SYSRESET
  770. select SYSRESET_SOCFPGA if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
  771. select SYSRESET_SOCFPGA_S10 if TARGET_SOCFPGA_STRATIX10
  772. imply CMD_DM
  773. imply CMD_MTDPARTS
  774. imply CRC32_VERIFY
  775. imply DM_SPI
  776. imply DM_SPI_FLASH
  777. imply FAT_WRITE
  778. imply SPL
  779. imply SPL_DM
  780. imply SPL_LIBDISK_SUPPORT
  781. imply SPL_MMC_SUPPORT
  782. imply SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
  783. imply SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE
  784. imply SPL_SPI_FLASH_SUPPORT
  785. imply SPL_SPI_SUPPORT
  786. imply L2X0_CACHE
  787. config ARCH_SUNXI
  788. bool "Support sunxi (Allwinner) SoCs"
  789. select BINMAN
  790. select CMD_GPIO
  791. select CMD_MMC if MMC
  792. select CMD_USB if DISTRO_DEFAULTS
  793. select CLK
  794. select DM
  795. select DM_ETH
  796. select DM_GPIO
  797. select DM_KEYBOARD
  798. select DM_MMC if MMC
  799. select DM_SCSI if SCSI
  800. select DM_SERIAL
  801. select DM_USB if DISTRO_DEFAULTS
  802. select OF_BOARD_SETUP
  803. select OF_CONTROL
  804. select OF_SEPARATE
  805. select SPECIFY_CONSOLE_INDEX
  806. select SPL_STACK_R if SPL
  807. select SPL_SYS_MALLOC_SIMPLE if SPL
  808. select SPL_SYS_THUMB_BUILD if !ARM64
  809. select SUNXI_GPIO
  810. select SYS_NS16550
  811. select SYS_THUMB_BUILD if !ARM64
  812. select USB if DISTRO_DEFAULTS
  813. select USB_KEYBOARD if DISTRO_DEFAULTS
  814. select USB_STORAGE if DISTRO_DEFAULTS
  815. select USE_TINY_PRINTF
  816. imply CMD_DM
  817. imply CMD_GPT
  818. imply CMD_UBI if NAND
  819. imply DISTRO_DEFAULTS
  820. imply FAT_WRITE
  821. imply FIT
  822. imply OF_LIBFDT_OVERLAY
  823. imply PRE_CONSOLE_BUFFER
  824. imply SPL_GPIO_SUPPORT
  825. imply SPL_LIBCOMMON_SUPPORT
  826. imply SPL_LIBGENERIC_SUPPORT
  827. imply SPL_MMC_SUPPORT if MMC
  828. imply SPL_POWER_SUPPORT
  829. imply SPL_SERIAL_SUPPORT
  830. imply USB_GADGET
  831. config ARCH_VERSAL
  832. bool "Support Xilinx Versal Platform"
  833. select ARM64
  834. select CLK
  835. select DM
  836. select DM_ETH if NET
  837. select DM_MMC if MMC
  838. select DM_SERIAL
  839. select OF_CONTROL
  840. config ARCH_VF610
  841. bool "Freescale Vybrid"
  842. select CPU_V7A
  843. select SYS_FSL_ERRATUM_ESDHC111
  844. imply CMD_MTDPARTS
  845. imply NAND
  846. config ARCH_ZYNQ
  847. bool "Xilinx Zynq based platform"
  848. select BOARD_EARLY_INIT_F if WDT
  849. select CLK
  850. select CLK_ZYNQ
  851. select CPU_V7A
  852. select DM
  853. select DM_ETH if NET
  854. select DM_MMC if MMC
  855. select DM_SERIAL
  856. select DM_SPI
  857. select DM_SPI_FLASH
  858. select DM_USB if USB
  859. select OF_CONTROL
  860. select SPI
  861. select SPL_BOARD_INIT if SPL
  862. select SPL_CLK if SPL
  863. select SPL_DM if SPL
  864. select SPL_OF_CONTROL if SPL
  865. select SPL_SEPARATE_BSS if SPL
  866. select SUPPORT_SPL
  867. imply ARCH_EARLY_INIT_R
  868. imply BOARD_LATE_INIT
  869. imply CMD_CLK
  870. imply CMD_DM
  871. imply CMD_SPL
  872. imply FAT_WRITE
  873. config ARCH_ZYNQMP_R5
  874. bool "Xilinx ZynqMP R5 based platform"
  875. select CLK
  876. select CPU_V7R
  877. select DM
  878. select DM_ETH if NET
  879. select DM_MMC if MMC
  880. select DM_SERIAL
  881. select OF_CONTROL
  882. imply CMD_DM
  883. imply DM_USB_GADGET
  884. config ARCH_ZYNQMP
  885. bool "Xilinx ZynqMP based platform"
  886. select ARM64
  887. select CLK
  888. select DM
  889. select DM_ETH if NET
  890. select DM_MMC if MMC
  891. select DM_SERIAL
  892. select DM_SPI if SPI
  893. select DM_SPI_FLASH if DM_SPI
  894. select DM_USB if USB
  895. select OF_CONTROL
  896. select SPL_BOARD_INIT if SPL
  897. select SPL_CLK if SPL
  898. select SPL_SEPARATE_BSS if SPL
  899. select SUPPORT_SPL
  900. imply BOARD_LATE_INIT
  901. imply CMD_DM
  902. imply FAT_WRITE
  903. imply MP
  904. imply DM_USB_GADGET
  905. config TEGRA
  906. bool "NVIDIA Tegra"
  907. imply DISTRO_DEFAULTS
  908. imply FAT_WRITE
  909. config TARGET_VEXPRESS64_AEMV8A
  910. bool "Support vexpress_aemv8a"
  911. select ARM64
  912. select PL01X_SERIAL
  913. config TARGET_VEXPRESS64_BASE_FVP
  914. bool "Support Versatile Express ARMv8a FVP BASE model"
  915. select ARM64
  916. select PL01X_SERIAL
  917. select SEMIHOSTING
  918. config TARGET_VEXPRESS64_JUNO
  919. bool "Support Versatile Express Juno Development Platform"
  920. select ARM64
  921. select PL01X_SERIAL
  922. config TARGET_LS2080A_EMU
  923. bool "Support ls2080a_emu"
  924. select ARCH_LS2080A
  925. select ARCH_MISC_INIT
  926. select ARM64
  927. select ARMV8_MULTIENTRY
  928. select FSL_DDR_SYNC_REFRESH
  929. help
  930. Support for Freescale LS2080A_EMU platform
  931. The LS2080A Development System (EMULATOR) is a pre silicon
  932. development platform that supports the QorIQ LS2080A
  933. Layerscape Architecture processor.
  934. config TARGET_LS2080A_SIMU
  935. bool "Support ls2080a_simu"
  936. select ARCH_LS2080A
  937. select ARCH_MISC_INIT
  938. select ARM64
  939. select ARMV8_MULTIENTRY
  940. select BOARD_LATE_INIT
  941. help
  942. Support for Freescale LS2080A_SIMU platform
  943. The LS2080A Development System (QDS) is a pre silicon
  944. development platform that supports the QorIQ LS2080A
  945. Layerscape Architecture processor.
  946. config TARGET_LS1088AQDS
  947. bool "Support ls1088aqds"
  948. select ARCH_LS1088A
  949. select ARCH_MISC_INIT
  950. select ARM64
  951. select ARMV8_MULTIENTRY
  952. select ARCH_SUPPORT_TFABOOT
  953. select BOARD_LATE_INIT
  954. select SUPPORT_SPL
  955. select FSL_DDR_INTERACTIVE if !SD_BOOT
  956. help
  957. Support for NXP LS1088AQDS platform
  958. The LS1088A Development System (QDS) is a high-performance
  959. development platform that supports the QorIQ LS1088A
  960. Layerscape Architecture processor.
  961. config TARGET_LS2080AQDS
  962. bool "Support ls2080aqds"
  963. select ARCH_LS2080A
  964. select ARCH_MISC_INIT
  965. select ARM64
  966. select ARMV8_MULTIENTRY
  967. select ARCH_SUPPORT_TFABOOT
  968. select BOARD_LATE_INIT
  969. select SUPPORT_SPL
  970. imply SCSI
  971. imply SCSI_AHCI
  972. select FSL_DDR_BIST
  973. select FSL_DDR_INTERACTIVE if !SPL
  974. help
  975. Support for Freescale LS2080AQDS platform
  976. The LS2080A Development System (QDS) is a high-performance
  977. development platform that supports the QorIQ LS2080A
  978. Layerscape Architecture processor.
  979. config TARGET_LS2080ARDB
  980. bool "Support ls2080ardb"
  981. select ARCH_LS2080A
  982. select ARCH_MISC_INIT
  983. select ARM64
  984. select ARMV8_MULTIENTRY
  985. select ARCH_SUPPORT_TFABOOT
  986. select BOARD_LATE_INIT
  987. select SUPPORT_SPL
  988. select FSL_DDR_BIST
  989. select FSL_DDR_INTERACTIVE if !SPL
  990. imply SCSI
  991. imply SCSI_AHCI
  992. help
  993. Support for Freescale LS2080ARDB platform.
  994. The LS2080A Reference design board (RDB) is a high-performance
  995. development platform that supports the QorIQ LS2080A
  996. Layerscape Architecture processor.
  997. config TARGET_LS2081ARDB
  998. bool "Support ls2081ardb"
  999. select ARCH_LS2080A
  1000. select ARCH_MISC_INIT
  1001. select ARM64
  1002. select ARMV8_MULTIENTRY
  1003. select BOARD_LATE_INIT
  1004. select SUPPORT_SPL
  1005. help
  1006. Support for Freescale LS2081ARDB platform.
  1007. The LS2081A Reference design board (RDB) is a high-performance
  1008. development platform that supports the QorIQ LS2081A/LS2041A
  1009. Layerscape Architecture processor.
  1010. config TARGET_LX2160ARDB
  1011. bool "Support lx2160ardb"
  1012. select ARCH_LX2160A
  1013. select ARCH_MISC_INIT
  1014. select ARM64
  1015. select ARMV8_MULTIENTRY
  1016. select ARCH_SUPPORT_TFABOOT
  1017. select BOARD_LATE_INIT
  1018. help
  1019. Support for NXP LX2160ARDB platform.
  1020. The lx2160ardb (LX2160A Reference design board (RDB)
  1021. is a high-performance development platform that supports the
  1022. QorIQ LX2160A/LX2120A/LX2080A Layerscape Architecture processor.
  1023. config TARGET_LX2160AQDS
  1024. bool "Support lx2160aqds"
  1025. select ARCH_LX2160A
  1026. select ARCH_MISC_INIT
  1027. select ARM64
  1028. select ARMV8_MULTIENTRY
  1029. select ARCH_SUPPORT_TFABOOT
  1030. select BOARD_LATE_INIT
  1031. help
  1032. Support for NXP LX2160AQDS platform.
  1033. The lx2160aqds (LX2160A QorIQ Development System (QDS)
  1034. is a high-performance development platform that supports the
  1035. QorIQ LX2160A/LX2120A/LX2080A Layerscape Architecture processor.
  1036. config TARGET_HIKEY
  1037. bool "Support HiKey 96boards Consumer Edition Platform"
  1038. select ARM64
  1039. select DM
  1040. select DM_GPIO
  1041. select DM_SERIAL
  1042. select OF_CONTROL
  1043. select PL01X_SERIAL
  1044. select SPECIFY_CONSOLE_INDEX
  1045. imply CMD_DM
  1046. help
  1047. Support for HiKey 96boards platform. It features a HI6220
  1048. SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.
  1049. config TARGET_HIKEY960
  1050. bool "Support HiKey960 96boards Consumer Edition Platform"
  1051. select ARM64
  1052. select DM
  1053. select DM_SERIAL
  1054. select OF_CONTROL
  1055. select PL01X_SERIAL
  1056. imply CMD_DM
  1057. help
  1058. Support for HiKey960 96boards platform. It features a HI3660
  1059. SoC, with 4xA73 CPU, 4xA53 CPU, MALI-G71 GPU, and 3GB RAM.
  1060. config TARGET_POPLAR
  1061. bool "Support Poplar 96boards Enterprise Edition Platform"
  1062. select ARM64
  1063. select DM
  1064. select DM_SERIAL
  1065. select DM_USB
  1066. select OF_CONTROL
  1067. select PL01X_SERIAL
  1068. imply CMD_DM
  1069. help
  1070. Support for Poplar 96boards EE platform. It features a HI3798cv200
  1071. SoC, with 4xA53 CPU, 1GB RAM and the high performance Mali T720 GPU
  1072. making it capable of running any commercial set-top solution based on
  1073. Linux or Android.
  1074. config TARGET_LS1012AQDS
  1075. bool "Support ls1012aqds"
  1076. select ARCH_LS1012A
  1077. select ARM64
  1078. select ARCH_SUPPORT_TFABOOT
  1079. select BOARD_LATE_INIT
  1080. help
  1081. Support for Freescale LS1012AQDS platform.
  1082. The LS1012A Development System (QDS) is a high-performance
  1083. development platform that supports the QorIQ LS1012A
  1084. Layerscape Architecture processor.
  1085. config TARGET_LS1012ARDB
  1086. bool "Support ls1012ardb"
  1087. select ARCH_LS1012A
  1088. select ARM64
  1089. select ARCH_SUPPORT_TFABOOT
  1090. select BOARD_LATE_INIT
  1091. imply SCSI
  1092. imply SCSI_AHCI
  1093. help
  1094. Support for Freescale LS1012ARDB platform.
  1095. The LS1012A Reference design board (RDB) is a high-performance
  1096. development platform that supports the QorIQ LS1012A
  1097. Layerscape Architecture processor.
  1098. config TARGET_LS1012A2G5RDB
  1099. bool "Support ls1012a2g5rdb"
  1100. select ARCH_LS1012A
  1101. select ARM64
  1102. select ARCH_SUPPORT_TFABOOT
  1103. select BOARD_LATE_INIT
  1104. imply SCSI
  1105. help
  1106. Support for Freescale LS1012A2G5RDB platform.
  1107. The LS1012A 2G5 Reference design board (RDB) is a high-performance
  1108. development platform that supports the QorIQ LS1012A
  1109. Layerscape Architecture processor.
  1110. config TARGET_LS1012AFRWY
  1111. bool "Support ls1012afrwy"
  1112. select ARCH_LS1012A
  1113. select ARM64
  1114. select ARCH_SUPPORT_TFABOOT
  1115. select BOARD_LATE_INIT
  1116. imply SCSI
  1117. imply SCSI_AHCI
  1118. help
  1119. Support for Freescale LS1012AFRWY platform.
  1120. The LS1012A FRWY board (FRWY) is a high-performance
  1121. development platform that supports the QorIQ LS1012A
  1122. Layerscape Architecture processor.
  1123. config TARGET_LS1012AFRDM
  1124. bool "Support ls1012afrdm"
  1125. select ARCH_LS1012A
  1126. select ARM64
  1127. select ARCH_SUPPORT_TFABOOT
  1128. help
  1129. Support for Freescale LS1012AFRDM platform.
  1130. The LS1012A Freedom board (FRDM) is a high-performance
  1131. development platform that supports the QorIQ LS1012A
  1132. Layerscape Architecture processor.
  1133. config TARGET_LS1028AQDS
  1134. bool "Support ls1028aqds"
  1135. select ARCH_LS1028A
  1136. select ARM64
  1137. select ARMV8_MULTIENTRY
  1138. select ARCH_SUPPORT_TFABOOT
  1139. select BOARD_LATE_INIT
  1140. select ARCH_MISC_INIT
  1141. help
  1142. Support for Freescale LS1028AQDS platform
  1143. The LS1028A Development System (QDS) is a high-performance
  1144. development platform that supports the QorIQ LS1028A
  1145. Layerscape Architecture processor.
  1146. config TARGET_LS1028ARDB
  1147. bool "Support ls1028ardb"
  1148. select ARCH_LS1028A
  1149. select ARM64
  1150. select ARMV8_MULTIENTRY
  1151. select ARCH_SUPPORT_TFABOOT
  1152. help
  1153. Support for Freescale LS1028ARDB platform
  1154. The LS1028A Development System (RDB) is a high-performance
  1155. development platform that supports the QorIQ LS1028A
  1156. Layerscape Architecture processor.
  1157. config TARGET_LS1088ARDB
  1158. bool "Support ls1088ardb"
  1159. select ARCH_LS1088A
  1160. select ARCH_MISC_INIT
  1161. select ARM64
  1162. select ARMV8_MULTIENTRY
  1163. select ARCH_SUPPORT_TFABOOT
  1164. select BOARD_LATE_INIT
  1165. select SUPPORT_SPL
  1166. select FSL_DDR_INTERACTIVE if !SD_BOOT
  1167. help
  1168. Support for NXP LS1088ARDB platform.
  1169. The LS1088A Reference design board (RDB) is a high-performance
  1170. development platform that supports the QorIQ LS1088A
  1171. Layerscape Architecture processor.
  1172. config TARGET_LS1021AQDS
  1173. bool "Support ls1021aqds"
  1174. select ARCH_LS1021A
  1175. select ARCH_SUPPORT_PSCI
  1176. select BOARD_EARLY_INIT_F
  1177. select BOARD_LATE_INIT
  1178. select CPU_V7A
  1179. select CPU_V7_HAS_NONSEC
  1180. select CPU_V7_HAS_VIRT
  1181. select LS1_DEEP_SLEEP
  1182. select SUPPORT_SPL
  1183. select SYS_FSL_DDR
  1184. select FSL_DDR_INTERACTIVE
  1185. imply SCSI
  1186. config TARGET_LS1021ATWR
  1187. bool "Support ls1021atwr"
  1188. select ARCH_LS1021A
  1189. select ARCH_SUPPORT_PSCI
  1190. select BOARD_EARLY_INIT_F
  1191. select BOARD_LATE_INIT
  1192. select CPU_V7A
  1193. select CPU_V7_HAS_NONSEC
  1194. select CPU_V7_HAS_VIRT
  1195. select LS1_DEEP_SLEEP
  1196. select SUPPORT_SPL
  1197. imply SCSI
  1198. config TARGET_LS1021ATSN
  1199. bool "Support ls1021atsn"
  1200. select ARCH_LS1021A
  1201. select ARCH_SUPPORT_PSCI
  1202. select BOARD_EARLY_INIT_F
  1203. select BOARD_LATE_INIT
  1204. select CPU_V7A
  1205. select CPU_V7_HAS_NONSEC
  1206. select CPU_V7_HAS_VIRT
  1207. select LS1_DEEP_SLEEP
  1208. select SUPPORT_SPL
  1209. imply SCSI
  1210. config TARGET_LS1021AIOT
  1211. bool "Support ls1021aiot"
  1212. select ARCH_LS1021A
  1213. select ARCH_SUPPORT_PSCI
  1214. select BOARD_LATE_INIT
  1215. select CPU_V7A
  1216. select CPU_V7_HAS_NONSEC
  1217. select CPU_V7_HAS_VIRT
  1218. select SUPPORT_SPL
  1219. imply SCSI
  1220. help
  1221. Support for Freescale LS1021AIOT platform.
  1222. The LS1021A Freescale board (IOT) is a high-performance
  1223. development platform that supports the QorIQ LS1021A
  1224. Layerscape Architecture processor.
  1225. config TARGET_LS1043AQDS
  1226. bool "Support ls1043aqds"
  1227. select ARCH_LS1043A
  1228. select ARM64
  1229. select ARMV8_MULTIENTRY
  1230. select ARCH_SUPPORT_TFABOOT
  1231. select BOARD_EARLY_INIT_F
  1232. select BOARD_LATE_INIT
  1233. select SUPPORT_SPL
  1234. select FSL_DDR_INTERACTIVE if !SPL
  1235. imply SCSI
  1236. imply SCSI_AHCI
  1237. help
  1238. Support for Freescale LS1043AQDS platform.
  1239. config TARGET_LS1043ARDB
  1240. bool "Support ls1043ardb"
  1241. select ARCH_LS1043A
  1242. select ARM64
  1243. select ARMV8_MULTIENTRY
  1244. select ARCH_SUPPORT_TFABOOT
  1245. select BOARD_EARLY_INIT_F
  1246. select BOARD_LATE_INIT
  1247. select SUPPORT_SPL
  1248. help
  1249. Support for Freescale LS1043ARDB platform.
  1250. config TARGET_LS1046AQDS
  1251. bool "Support ls1046aqds"
  1252. select ARCH_LS1046A
  1253. select ARM64
  1254. select ARMV8_MULTIENTRY
  1255. select ARCH_SUPPORT_TFABOOT
  1256. select BOARD_EARLY_INIT_F
  1257. select BOARD_LATE_INIT
  1258. select DM_SPI_FLASH if DM_SPI
  1259. select SUPPORT_SPL
  1260. select FSL_DDR_BIST if !SPL
  1261. select FSL_DDR_INTERACTIVE if !SPL
  1262. select FSL_DDR_INTERACTIVE if !SPL
  1263. imply SCSI
  1264. help
  1265. Support for Freescale LS1046AQDS platform.
  1266. The LS1046A Development System (QDS) is a high-performance
  1267. development platform that supports the QorIQ LS1046A
  1268. Layerscape Architecture processor.
  1269. config TARGET_LS1046ARDB
  1270. bool "Support ls1046ardb"
  1271. select ARCH_LS1046A
  1272. select ARM64
  1273. select ARMV8_MULTIENTRY
  1274. select ARCH_SUPPORT_TFABOOT
  1275. select BOARD_EARLY_INIT_F
  1276. select BOARD_LATE_INIT
  1277. select DM_SPI_FLASH if DM_SPI
  1278. select POWER_MC34VR500
  1279. select SUPPORT_SPL
  1280. select FSL_DDR_BIST
  1281. select FSL_DDR_INTERACTIVE if !SPL
  1282. imply SCSI
  1283. help
  1284. Support for Freescale LS1046ARDB platform.
  1285. The LS1046A Reference Design Board (RDB) is a high-performance
  1286. development platform that supports the QorIQ LS1046A
  1287. Layerscape Architecture processor.
  1288. config TARGET_LS1046AFRWY
  1289. bool "Support ls1046afrwy"
  1290. select ARCH_LS1046A
  1291. select ARM64
  1292. select ARMV8_MULTIENTRY
  1293. select ARCH_SUPPORT_TFABOOT
  1294. select BOARD_EARLY_INIT_F
  1295. select BOARD_LATE_INIT
  1296. select DM_SPI_FLASH if DM_SPI
  1297. imply SCSI
  1298. help
  1299. Support for Freescale LS1046AFRWY platform.
  1300. The LS1046A Freeway Board (FRWY) is a high-performance
  1301. development platform that supports the QorIQ LS1046A
  1302. Layerscape Architecture processor.
  1303. config TARGET_H2200
  1304. bool "Support h2200"
  1305. select CPU_PXA
  1306. config TARGET_COLIBRI_PXA270
  1307. bool "Support colibri_pxa270"
  1308. select CPU_PXA
  1309. config ARCH_UNIPHIER
  1310. bool "Socionext UniPhier SoCs"
  1311. select BOARD_LATE_INIT
  1312. select DM
  1313. select DM_GPIO
  1314. select DM_I2C
  1315. select DM_MMC
  1316. select DM_RESET
  1317. select DM_SERIAL
  1318. select DM_USB
  1319. select OF_BOARD_SETUP
  1320. select OF_CONTROL
  1321. select OF_LIBFDT
  1322. select PINCTRL
  1323. select SPL_BOARD_INIT if SPL
  1324. select SPL_DM if SPL
  1325. select SPL_LIBCOMMON_SUPPORT if SPL
  1326. select SPL_LIBGENERIC_SUPPORT if SPL
  1327. select SPL_OF_CONTROL if SPL
  1328. select SPL_PINCTRL if SPL
  1329. select SUPPORT_SPL
  1330. imply CMD_DM
  1331. imply DISTRO_DEFAULTS
  1332. imply FAT_WRITE
  1333. help
  1334. Support for UniPhier SoC family developed by Socionext Inc.
  1335. (formerly, System LSI Business Division of Panasonic Corporation)
  1336. config STM32
  1337. bool "Support STMicroelectronics STM32 MCU with cortex M"
  1338. select CPU_V7M
  1339. select DM
  1340. select DM_SERIAL
  1341. imply CMD_DM
  1342. config ARCH_STI
  1343. bool "Support STMicrolectronics SoCs"
  1344. select BLK
  1345. select CPU_V7A
  1346. select DM
  1347. select DM_MMC
  1348. select DM_RESET
  1349. select DM_SERIAL
  1350. imply CMD_DM
  1351. help
  1352. Support for STMicroelectronics STiH407/10 SoC family.
  1353. This SoC is used on Linaro 96Board STiH410-B2260
  1354. config ARCH_STM32MP
  1355. bool "Support STMicroelectronics STM32MP Socs with cortex A"
  1356. select ARCH_MISC_INIT
  1357. select BOARD_LATE_INIT
  1358. select CLK
  1359. select DM
  1360. select DM_GPIO
  1361. select DM_RESET
  1362. select DM_SERIAL
  1363. select MISC
  1364. select OF_CONTROL
  1365. select OF_LIBFDT
  1366. select OF_SYSTEM_SETUP
  1367. select PINCTRL
  1368. select REGMAP
  1369. select SUPPORT_SPL
  1370. select SYSCON
  1371. select SYSRESET
  1372. select SYS_THUMB_BUILD
  1373. imply SPL_SYSRESET
  1374. imply CMD_DM
  1375. imply CMD_POWEROFF
  1376. imply OF_LIBFDT_OVERLAY
  1377. imply ENV_VARS_UBOOT_RUNTIME_CONFIG
  1378. imply USE_PREBOOT
  1379. help
  1380. Support for STM32MP SoC family developed by STMicroelectronics,
  1381. MPUs based on ARM cortex A core
  1382. U-BOOT is running in DDR, loaded by the First Stage BootLoader (FSBL).
  1383. FSBL can be TF-A: Trusted Firmware for Cortex A, for trusted boot
  1384. chain.
  1385. SPL is the unsecure FSBL for the basic boot chain.
  1386. config ARCH_ROCKCHIP
  1387. bool "Support Rockchip SoCs"
  1388. select BLK
  1389. select DM
  1390. select DM_GPIO
  1391. select DM_I2C
  1392. select DM_MMC
  1393. select DM_PWM
  1394. select DM_REGULATOR
  1395. select DM_SERIAL
  1396. select DM_SPI
  1397. select DM_SPI_FLASH
  1398. select DM_USB if USB
  1399. select ENABLE_ARM_SOC_BOOT0_HOOK
  1400. select OF_CONTROL
  1401. select SPI
  1402. select SPL_DM if SPL
  1403. select SPL_SYS_MALLOC_SIMPLE if SPL
  1404. select SYS_MALLOC_F
  1405. select SYS_THUMB_BUILD if !ARM64
  1406. imply ADC
  1407. imply CMD_DM
  1408. imply DEBUG_UART_BOARD_INIT
  1409. imply DISTRO_DEFAULTS
  1410. imply FAT_WRITE
  1411. imply SARADC_ROCKCHIP
  1412. imply SPL_SYSRESET
  1413. imply SYS_NS16550
  1414. imply TPL_SYSRESET
  1415. imply USB_FUNCTION_FASTBOOT
  1416. config TARGET_THUNDERX_88XX
  1417. bool "Support ThunderX 88xx"
  1418. select ARM64
  1419. select OF_CONTROL
  1420. select PL01X_SERIAL
  1421. select SYS_CACHE_SHIFT_7
  1422. config ARCH_ASPEED
  1423. bool "Support Aspeed SoCs"
  1424. select DM
  1425. select OF_CONTROL
  1426. imply CMD_DM
  1427. endchoice
  1428. config ARCH_SUPPORT_TFABOOT
  1429. bool
  1430. config TFABOOT
  1431. bool "Support for booting from TF-A"
  1432. depends on ARCH_SUPPORT_TFABOOT
  1433. default n
  1434. help
  1435. Enabling this will make a U-Boot binary that is capable of being
  1436. booted via TF-A.
  1437. config TI_SECURE_DEVICE
  1438. bool "HS Device Type Support"
  1439. depends on ARCH_KEYSTONE || ARCH_OMAP2PLUS || ARCH_K3
  1440. help
  1441. If a high secure (HS) device type is being used, this config
  1442. must be set. This option impacts various aspects of the
  1443. build system (to create signed boot images that can be
  1444. authenticated) and the code. See the doc/README.ti-secure
  1445. file for further details.
  1446. if AM43XX || AM33XX || OMAP54XX || ARCH_KEYSTONE
  1447. config ISW_ENTRY_ADDR
  1448. hex "Address in memory or XIP address of bootloader entry point"
  1449. default 0x402F4000 if AM43XX
  1450. default 0x402F0400 if AM33XX
  1451. default 0x40301350 if OMAP54XX
  1452. help
  1453. After any reset, the boot ROM searches the boot media for a valid
  1454. boot image. For non-XIP devices, the ROM then copies the image into
  1455. internal memory. For all boot modes, after the ROM processes the
  1456. boot image it eventually computes the entry point address depending
  1457. on the device type (secure/non-secure), boot media (xip/non-xip) and
  1458. image headers.
  1459. endif
  1460. source "arch/arm/mach-aspeed/Kconfig"
  1461. source "arch/arm/mach-at91/Kconfig"
  1462. source "arch/arm/mach-bcm283x/Kconfig"
  1463. source "arch/arm/mach-bcmstb/Kconfig"
  1464. source "arch/arm/mach-davinci/Kconfig"
  1465. source "arch/arm/mach-exynos/Kconfig"
  1466. source "arch/arm/mach-highbank/Kconfig"
  1467. source "arch/arm/mach-integrator/Kconfig"
  1468. source "arch/arm/mach-k3/Kconfig"
  1469. source "arch/arm/mach-keystone/Kconfig"
  1470. source "arch/arm/mach-kirkwood/Kconfig"
  1471. source "arch/arm/cpu/arm926ejs/lpc32xx/Kconfig"
  1472. source "arch/arm/mach-mvebu/Kconfig"
  1473. source "arch/arm/cpu/armv7/ls102xa/Kconfig"
  1474. source "arch/arm/mach-imx/mx2/Kconfig"
  1475. source "arch/arm/mach-imx/mx3/Kconfig"
  1476. source "arch/arm/mach-imx/mx5/Kconfig"
  1477. source "arch/arm/mach-imx/mx6/Kconfig"
  1478. source "arch/arm/mach-imx/mx7/Kconfig"
  1479. source "arch/arm/mach-imx/mx7ulp/Kconfig"
  1480. source "arch/arm/mach-imx/imx8/Kconfig"
  1481. source "arch/arm/mach-imx/imx8m/Kconfig"
  1482. source "arch/arm/mach-imx/mxs/Kconfig"
  1483. source "arch/arm/mach-omap2/Kconfig"
  1484. source "arch/arm/cpu/armv8/fsl-layerscape/Kconfig"
  1485. source "arch/arm/mach-orion5x/Kconfig"
  1486. source "arch/arm/mach-owl/Kconfig"
  1487. source "arch/arm/mach-rmobile/Kconfig"
  1488. source "arch/arm/mach-meson/Kconfig"
  1489. source "arch/arm/mach-mediatek/Kconfig"
  1490. source "arch/arm/mach-qemu/Kconfig"
  1491. source "arch/arm/mach-rockchip/Kconfig"
  1492. source "arch/arm/mach-s5pc1xx/Kconfig"
  1493. source "arch/arm/mach-snapdragon/Kconfig"
  1494. source "arch/arm/mach-socfpga/Kconfig"
  1495. source "arch/arm/mach-sti/Kconfig"
  1496. source "arch/arm/mach-stm32/Kconfig"
  1497. source "arch/arm/mach-stm32mp/Kconfig"
  1498. source "arch/arm/mach-sunxi/Kconfig"
  1499. source "arch/arm/mach-tegra/Kconfig"
  1500. source "arch/arm/mach-uniphier/Kconfig"
  1501. source "arch/arm/cpu/armv7/vf610/Kconfig"
  1502. source "arch/arm/mach-zynq/Kconfig"
  1503. source "arch/arm/mach-zynqmp/Kconfig"
  1504. source "arch/arm/mach-versal/Kconfig"
  1505. source "arch/arm/mach-zynqmp-r5/Kconfig"
  1506. source "arch/arm/cpu/armv7/Kconfig"
  1507. source "arch/arm/cpu/armv8/Kconfig"
  1508. source "arch/arm/mach-imx/Kconfig"
  1509. source "board/bosch/shc/Kconfig"
  1510. source "board/bosch/guardian/Kconfig"
  1511. source "board/CarMediaLab/flea3/Kconfig"
  1512. source "board/Marvell/aspenite/Kconfig"
  1513. source "board/Marvell/gplugd/Kconfig"
  1514. source "board/armadeus/apf27/Kconfig"
  1515. source "board/armltd/vexpress/Kconfig"
  1516. source "board/armltd/vexpress64/Kconfig"
  1517. source "board/broadcom/bcm23550_w1d/Kconfig"
  1518. source "board/broadcom/bcm28155_ap/Kconfig"
  1519. source "board/broadcom/bcm963158/Kconfig"
  1520. source "board/broadcom/bcm968580xref/Kconfig"
  1521. source "board/broadcom/bcmcygnus/Kconfig"
  1522. source "board/broadcom/bcmnsp/Kconfig"
  1523. source "board/broadcom/bcmns2/Kconfig"
  1524. source "board/cavium/thunderx/Kconfig"
  1525. source "board/cirrus/edb93xx/Kconfig"
  1526. source "board/eets/pdu001/Kconfig"
  1527. source "board/emulation/qemu-arm/Kconfig"
  1528. source "board/freescale/ls2080a/Kconfig"
  1529. source "board/freescale/ls2080aqds/Kconfig"
  1530. source "board/freescale/ls2080ardb/Kconfig"
  1531. source "board/freescale/ls1088a/Kconfig"
  1532. source "board/freescale/ls1028a/Kconfig"
  1533. source "board/freescale/ls1021aqds/Kconfig"
  1534. source "board/freescale/ls1043aqds/Kconfig"
  1535. source "board/freescale/ls1021atwr/Kconfig"
  1536. source "board/freescale/ls1021atsn/Kconfig"
  1537. source "board/freescale/ls1021aiot/Kconfig"
  1538. source "board/freescale/ls1046aqds/Kconfig"
  1539. source "board/freescale/ls1043ardb/Kconfig"
  1540. source "board/freescale/ls1046ardb/Kconfig"
  1541. source "board/freescale/ls1046afrwy/Kconfig"
  1542. source "board/freescale/ls1012aqds/Kconfig"
  1543. source "board/freescale/ls1012ardb/Kconfig"
  1544. source "board/freescale/ls1012afrdm/Kconfig"
  1545. source "board/freescale/lx2160a/Kconfig"
  1546. source "board/freescale/mx35pdk/Kconfig"
  1547. source "board/freescale/s32v234evb/Kconfig"
  1548. source "board/grinn/chiliboard/Kconfig"
  1549. source "board/gumstix/pepper/Kconfig"
  1550. source "board/h2200/Kconfig"
  1551. source "board/hisilicon/hikey/Kconfig"
  1552. source "board/hisilicon/hikey960/Kconfig"
  1553. source "board/hisilicon/poplar/Kconfig"
  1554. source "board/isee/igep003x/Kconfig"
  1555. source "board/phytec/pcm051/Kconfig"
  1556. source "board/silica/pengwyn/Kconfig"
  1557. source "board/spear/spear300/Kconfig"
  1558. source "board/spear/spear310/Kconfig"
  1559. source "board/spear/spear320/Kconfig"
  1560. source "board/spear/spear600/Kconfig"
  1561. source "board/spear/x600/Kconfig"
  1562. source "board/st/stv0991/Kconfig"
  1563. source "board/tcl/sl50/Kconfig"
  1564. source "board/ucRobotics/bubblegum_96/Kconfig"
  1565. source "board/birdland/bav335x/Kconfig"
  1566. source "board/toradex/colibri_pxa270/Kconfig"
  1567. source "board/variscite/dart_6ul/Kconfig"
  1568. source "board/vscom/baltos/Kconfig"
  1569. source "board/woodburn/Kconfig"
  1570. source "board/xilinx/Kconfig"
  1571. source "board/xilinx/zynq/Kconfig"
  1572. source "board/xilinx/zynqmp/Kconfig"
  1573. source "arch/arm/Kconfig.debug"
  1574. endmenu
  1575. config SPL_LDSCRIPT
  1576. default "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds" if (ARCH_MX23 || ARCH_MX28) && !SPL_FRAMEWORK
  1577. default "arch/arm/cpu/arm1136/u-boot-spl.lds" if CPU_ARM1136
  1578. default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARM64