Kconfig 41 KB

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