Kconfig 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516
  1. config ARCH_LS1012A
  2. bool
  3. select ARMV8_SET_SMPEN
  4. select ARM_ERRATA_855873
  5. select FSL_LSCH2
  6. select SYS_FSL_SRDS_1
  7. select SYS_HAS_SERDES
  8. select SYS_FSL_DDR_BE
  9. select SYS_FSL_MMDC
  10. select SYS_FSL_ERRATUM_A010315
  11. select SYS_FSL_ERRATUM_A009798
  12. select SYS_FSL_ERRATUM_A008997
  13. select SYS_FSL_ERRATUM_A009007
  14. select SYS_FSL_ERRATUM_A009008
  15. select ARCH_EARLY_INIT_R
  16. select BOARD_EARLY_INIT_F
  17. select SYS_I2C_MXC
  18. select SYS_I2C_MXC_I2C1
  19. select SYS_I2C_MXC_I2C2
  20. imply PANIC_HANG
  21. config ARCH_LS1043A
  22. bool
  23. select ARMV8_SET_SMPEN
  24. select ARM_ERRATA_855873
  25. select FSL_LSCH2
  26. select SYS_FSL_SRDS_1
  27. select SYS_HAS_SERDES
  28. select SYS_FSL_DDR
  29. select SYS_FSL_DDR_BE
  30. select SYS_FSL_DDR_VER_50
  31. select SYS_FSL_ERRATUM_A008850
  32. select SYS_FSL_ERRATUM_A008997
  33. select SYS_FSL_ERRATUM_A009007
  34. select SYS_FSL_ERRATUM_A009008
  35. select SYS_FSL_ERRATUM_A009660
  36. select SYS_FSL_ERRATUM_A009663
  37. select SYS_FSL_ERRATUM_A009798
  38. select SYS_FSL_ERRATUM_A009929
  39. select SYS_FSL_ERRATUM_A009942
  40. select SYS_FSL_ERRATUM_A010315
  41. select SYS_FSL_ERRATUM_A010539
  42. select SYS_FSL_HAS_DDR3
  43. select SYS_FSL_HAS_DDR4
  44. select ARCH_EARLY_INIT_R
  45. select BOARD_EARLY_INIT_F
  46. select SYS_I2C_MXC
  47. select SYS_I2C_MXC_I2C1
  48. select SYS_I2C_MXC_I2C2
  49. select SYS_I2C_MXC_I2C3
  50. select SYS_I2C_MXC_I2C4
  51. imply SCSI
  52. imply SCSI_AHCI
  53. imply CMD_PCI
  54. config ARCH_LS1046A
  55. bool
  56. select ARMV8_SET_SMPEN
  57. select FSL_LSCH2
  58. select SYS_FSL_SRDS_1
  59. select SYS_HAS_SERDES
  60. select SYS_FSL_DDR
  61. select SYS_FSL_DDR_BE
  62. select SYS_FSL_DDR_VER_50
  63. select SYS_FSL_ERRATUM_A008336
  64. select SYS_FSL_ERRATUM_A008511
  65. select SYS_FSL_ERRATUM_A008850
  66. select SYS_FSL_ERRATUM_A008997
  67. select SYS_FSL_ERRATUM_A009007
  68. select SYS_FSL_ERRATUM_A009008
  69. select SYS_FSL_ERRATUM_A009798
  70. select SYS_FSL_ERRATUM_A009801
  71. select SYS_FSL_ERRATUM_A009803
  72. select SYS_FSL_ERRATUM_A009942
  73. select SYS_FSL_ERRATUM_A010165
  74. select SYS_FSL_ERRATUM_A010539
  75. select SYS_FSL_HAS_DDR4
  76. select SYS_FSL_SRDS_2
  77. select ARCH_EARLY_INIT_R
  78. select BOARD_EARLY_INIT_F
  79. select SYS_I2C_MXC
  80. select SYS_I2C_MXC_I2C1
  81. select SYS_I2C_MXC_I2C2
  82. select SYS_I2C_MXC_I2C3
  83. select SYS_I2C_MXC_I2C4
  84. imply SCSI
  85. imply SCSI_AHCI
  86. config ARCH_LS1088A
  87. bool
  88. select ARMV8_SET_SMPEN
  89. select ARM_ERRATA_855873
  90. select FSL_LSCH3
  91. select SYS_FSL_SRDS_1
  92. select SYS_HAS_SERDES
  93. select SYS_FSL_DDR
  94. select SYS_FSL_DDR_LE
  95. select SYS_FSL_DDR_VER_50
  96. select SYS_FSL_EC1
  97. select SYS_FSL_EC2
  98. select SYS_FSL_ERRATUM_A009803
  99. select SYS_FSL_ERRATUM_A009942
  100. select SYS_FSL_ERRATUM_A010165
  101. select SYS_FSL_ERRATUM_A008511
  102. select SYS_FSL_ERRATUM_A008850
  103. select SYS_FSL_ERRATUM_A009007
  104. select SYS_FSL_HAS_CCI400
  105. select SYS_FSL_HAS_DDR4
  106. select SYS_FSL_HAS_RGMII
  107. select SYS_FSL_HAS_SEC
  108. select SYS_FSL_SEC_COMPAT_5
  109. select SYS_FSL_SEC_LE
  110. select SYS_FSL_SRDS_1
  111. select SYS_FSL_SRDS_2
  112. select FSL_TZASC_1
  113. select ARCH_EARLY_INIT_R
  114. select BOARD_EARLY_INIT_F
  115. select SYS_I2C_MXC
  116. select SYS_I2C_MXC_I2C1
  117. select SYS_I2C_MXC_I2C2
  118. select SYS_I2C_MXC_I2C3
  119. select SYS_I2C_MXC_I2C4
  120. imply SCSI
  121. imply PANIC_HANG
  122. config ARCH_LS2080A
  123. bool
  124. select ARMV8_SET_SMPEN
  125. select ARM_ERRATA_826974
  126. select ARM_ERRATA_828024
  127. select ARM_ERRATA_829520
  128. select ARM_ERRATA_833471
  129. select FSL_LSCH3
  130. select SYS_FSL_SRDS_1
  131. select SYS_HAS_SERDES
  132. select SYS_FSL_DDR
  133. select SYS_FSL_DDR_LE
  134. select SYS_FSL_DDR_VER_50
  135. select SYS_FSL_HAS_CCN504
  136. select SYS_FSL_HAS_DP_DDR
  137. select SYS_FSL_HAS_SEC
  138. select SYS_FSL_HAS_DDR4
  139. select SYS_FSL_SEC_COMPAT_5
  140. select SYS_FSL_SEC_LE
  141. select SYS_FSL_SRDS_2
  142. select FSL_TZASC_1
  143. select FSL_TZASC_2
  144. select SYS_FSL_ERRATUM_A008336
  145. select SYS_FSL_ERRATUM_A008511
  146. select SYS_FSL_ERRATUM_A008514
  147. select SYS_FSL_ERRATUM_A008585
  148. select SYS_FSL_ERRATUM_A008997
  149. select SYS_FSL_ERRATUM_A009007
  150. select SYS_FSL_ERRATUM_A009008
  151. select SYS_FSL_ERRATUM_A009635
  152. select SYS_FSL_ERRATUM_A009663
  153. select SYS_FSL_ERRATUM_A009798
  154. select SYS_FSL_ERRATUM_A009801
  155. select SYS_FSL_ERRATUM_A009803
  156. select SYS_FSL_ERRATUM_A009942
  157. select SYS_FSL_ERRATUM_A010165
  158. select SYS_FSL_ERRATUM_A009203
  159. select ARCH_EARLY_INIT_R
  160. select BOARD_EARLY_INIT_F
  161. select SYS_I2C_MXC
  162. select SYS_I2C_MXC_I2C1
  163. select SYS_I2C_MXC_I2C2
  164. select SYS_I2C_MXC_I2C3
  165. select SYS_I2C_MXC_I2C4
  166. imply DISTRO_DEFAULTS
  167. imply PANIC_HANG
  168. config FSL_LSCH2
  169. bool
  170. select SYS_FSL_HAS_CCI400
  171. select SYS_FSL_HAS_SEC
  172. select SYS_FSL_SEC_COMPAT_5
  173. select SYS_FSL_SEC_BE
  174. config FSL_LSCH3
  175. bool
  176. config FSL_MC_ENET
  177. bool "Management Complex network"
  178. depends on ARCH_LS2080A || ARCH_LS1088A
  179. default y
  180. select RESV_RAM
  181. help
  182. Enable Management Complex (MC) network
  183. menu "Layerscape architecture"
  184. depends on FSL_LSCH2 || FSL_LSCH3
  185. config FSL_PCIE_COMPAT
  186. string "PCIe compatible of Kernel DT"
  187. depends on PCIE_LAYERSCAPE
  188. default "fsl,ls1012a-pcie" if ARCH_LS1012A
  189. default "fsl,ls1043a-pcie" if ARCH_LS1043A
  190. default "fsl,ls1046a-pcie" if ARCH_LS1046A
  191. default "fsl,ls2080a-pcie" if ARCH_LS2080A
  192. default "fsl,ls1088a-pcie" if ARCH_LS1088A
  193. help
  194. This compatible is used to find pci controller node in Kernel DT
  195. to complete fixup.
  196. config HAS_FEATURE_GIC64K_ALIGN
  197. bool
  198. default y if ARCH_LS1043A
  199. config HAS_FEATURE_ENHANCED_MSI
  200. bool
  201. default y if ARCH_LS1043A
  202. menu "Layerscape PPA"
  203. config FSL_LS_PPA
  204. bool "FSL Layerscape PPA firmware support"
  205. depends on !ARMV8_PSCI
  206. select ARMV8_SEC_FIRMWARE_SUPPORT
  207. select SEC_FIRMWARE_ARMV8_PSCI
  208. select ARMV8_SEC_FIRMWARE_ERET_ADDR_REVERT if FSL_LSCH2
  209. help
  210. The FSL Primary Protected Application (PPA) is a software component
  211. which is loaded during boot stage, and then remains resident in RAM
  212. and runs in the TrustZone after boot.
  213. Say y to enable it.
  214. config SPL_FSL_LS_PPA
  215. bool "FSL Layerscape PPA firmware support for SPL build"
  216. depends on !ARMV8_PSCI
  217. select SPL_ARMV8_SEC_FIRMWARE_SUPPORT
  218. select SEC_FIRMWARE_ARMV8_PSCI
  219. select ARMV8_SEC_FIRMWARE_ERET_ADDR_REVERT if FSL_LSCH2
  220. help
  221. The FSL Primary Protected Application (PPA) is a software component
  222. which is loaded during boot stage, and then remains resident in RAM
  223. and runs in the TrustZone after boot. This is to load PPA during SPL
  224. stage instead of the RAM version of U-Boot. Once PPA is initialized,
  225. the rest of U-Boot (including RAM version) runs at EL2.
  226. choice
  227. prompt "FSL Layerscape PPA firmware loading-media select"
  228. depends on FSL_LS_PPA
  229. default SYS_LS_PPA_FW_IN_MMC if SD_BOOT
  230. default SYS_LS_PPA_FW_IN_NAND if NAND_BOOT
  231. default SYS_LS_PPA_FW_IN_XIP
  232. config SYS_LS_PPA_FW_IN_XIP
  233. bool "XIP"
  234. help
  235. Say Y here if the PPA firmware locate at XIP flash, such
  236. as NOR or QSPI flash.
  237. config SYS_LS_PPA_FW_IN_MMC
  238. bool "eMMC or SD Card"
  239. help
  240. Say Y here if the PPA firmware locate at eMMC/SD card.
  241. config SYS_LS_PPA_FW_IN_NAND
  242. bool "NAND"
  243. help
  244. Say Y here if the PPA firmware locate at NAND flash.
  245. endchoice
  246. config LS_PPA_ESBC_HDR_SIZE
  247. hex "Length of PPA ESBC header"
  248. depends on FSL_LS_PPA && CHAIN_OF_TRUST && !SYS_LS_PPA_FW_IN_XIP
  249. default 0x2000
  250. help
  251. Length (in bytes) of PPA ESBC header to be copied from MMC/SD or
  252. NAND to memory to validate PPA image.
  253. endmenu
  254. config SYS_FSL_ERRATUM_A008997
  255. bool "Workaround for USB PHY erratum A008997"
  256. config SYS_FSL_ERRATUM_A009007
  257. bool
  258. help
  259. Workaround for USB PHY erratum A009007
  260. config SYS_FSL_ERRATUM_A009008
  261. bool "Workaround for USB PHY erratum A009008"
  262. config SYS_FSL_ERRATUM_A009798
  263. bool "Workaround for USB PHY erratum A009798"
  264. config SYS_FSL_ERRATUM_A010315
  265. bool "Workaround for PCIe erratum A010315"
  266. config SYS_FSL_ERRATUM_A010539
  267. bool "Workaround for PIN MUX erratum A010539"
  268. config MAX_CPUS
  269. int "Maximum number of CPUs permitted for Layerscape"
  270. default 4 if ARCH_LS1043A
  271. default 4 if ARCH_LS1046A
  272. default 16 if ARCH_LS2080A
  273. default 8 if ARCH_LS1088A
  274. default 1
  275. help
  276. Set this number to the maximum number of possible CPUs in the SoC.
  277. SoCs may have multiple clusters with each cluster may have multiple
  278. ports. If some ports are reserved but higher ports are used for
  279. cores, count the reserved ports. This will allocate enough memory
  280. in spin table to properly handle all cores.
  281. config SECURE_BOOT
  282. bool "Secure Boot"
  283. help
  284. Enable Freescale Secure Boot feature
  285. config QSPI_AHB_INIT
  286. bool "Init the QSPI AHB bus"
  287. help
  288. The default setting for QSPI AHB bus just support 3bytes addressing.
  289. But some QSPI flash size up to 64MBytes, so initialize the QSPI AHB
  290. bus for those flashes to support the full QSPI flash size.
  291. config SYS_CCI400_OFFSET
  292. hex "Offset for CCI400 base"
  293. depends on SYS_FSL_HAS_CCI400
  294. default 0x3090000 if ARCH_LS1088A
  295. default 0x180000 if FSL_LSCH2
  296. help
  297. Offset for CCI400 base
  298. CCI400 base addr = CCSRBAR + CCI400_OFFSET
  299. config SYS_FSL_IFC_BANK_COUNT
  300. int "Maximum banks of Integrated flash controller"
  301. depends on ARCH_LS1043A || ARCH_LS1046A || ARCH_LS2080A || ARCH_LS1088A
  302. default 4 if ARCH_LS1043A
  303. default 4 if ARCH_LS1046A
  304. default 8 if ARCH_LS2080A || ARCH_LS1088A
  305. config SYS_FSL_HAS_CCI400
  306. bool
  307. config SYS_FSL_HAS_CCN504
  308. bool
  309. config SYS_FSL_HAS_DP_DDR
  310. bool
  311. config SYS_FSL_SRDS_1
  312. bool
  313. config SYS_FSL_SRDS_2
  314. bool
  315. config SYS_HAS_SERDES
  316. bool
  317. config FSL_TZASC_1
  318. bool
  319. config FSL_TZASC_2
  320. bool
  321. endmenu
  322. menu "Layerscape clock tree configuration"
  323. depends on FSL_LSCH2 || FSL_LSCH3
  324. config SYS_FSL_CLK
  325. bool "Enable clock tree initialization"
  326. default y
  327. config CLUSTER_CLK_FREQ
  328. int "Reference clock of core cluster"
  329. depends on ARCH_LS1012A
  330. default 100000000
  331. help
  332. This number is the reference clock frequency of core PLL.
  333. For most platforms, the core PLL and Platform PLL have the same
  334. reference clock, but for some platforms, LS1012A for instance,
  335. they are provided sepatately.
  336. config SYS_FSL_PCLK_DIV
  337. int "Platform clock divider"
  338. default 1 if ARCH_LS1043A
  339. default 1 if ARCH_LS1046A
  340. default 1 if ARCH_LS1088A
  341. default 2
  342. help
  343. This is the divider that is used to derive Platform clock from
  344. Platform PLL, in another word:
  345. Platform_clk = Platform_PLL_freq / this_divider
  346. config SYS_FSL_DSPI_CLK_DIV
  347. int "DSPI clock divider"
  348. default 1 if ARCH_LS1043A
  349. default 2
  350. help
  351. This is the divider that is used to derive DSPI clock from Platform
  352. clock, in another word DSPI_clk = Platform_clk / this_divider.
  353. config SYS_FSL_DUART_CLK_DIV
  354. int "DUART clock divider"
  355. default 1 if ARCH_LS1043A
  356. default 2
  357. help
  358. This is the divider that is used to derive DUART clock from Platform
  359. clock, in another word DUART_clk = Platform_clk / this_divider.
  360. config SYS_FSL_I2C_CLK_DIV
  361. int "I2C clock divider"
  362. default 1 if ARCH_LS1043A
  363. default 2
  364. help
  365. This is the divider that is used to derive I2C clock from Platform
  366. clock, in another word I2C_clk = Platform_clk / this_divider.
  367. config SYS_FSL_IFC_CLK_DIV
  368. int "IFC clock divider"
  369. default 1 if ARCH_LS1043A
  370. default 2
  371. help
  372. This is the divider that is used to derive IFC clock from Platform
  373. clock, in another word IFC_clk = Platform_clk / this_divider.
  374. config SYS_FSL_LPUART_CLK_DIV
  375. int "LPUART clock divider"
  376. default 1 if ARCH_LS1043A
  377. default 2
  378. help
  379. This is the divider that is used to derive LPUART clock from Platform
  380. clock, in another word LPUART_clk = Platform_clk / this_divider.
  381. config SYS_FSL_SDHC_CLK_DIV
  382. int "SDHC clock divider"
  383. default 1 if ARCH_LS1043A
  384. default 1 if ARCH_LS1012A
  385. default 2
  386. help
  387. This is the divider that is used to derive SDHC clock from Platform
  388. clock, in another word SDHC_clk = Platform_clk / this_divider.
  389. config SYS_FSL_QMAN_CLK_DIV
  390. int "QMAN clock divider"
  391. default 1 if ARCH_LS1043A
  392. default 2
  393. help
  394. This is the divider that is used to derive QMAN clock from Platform
  395. clock, in another word QMAN_clk = Platform_clk / this_divider.
  396. endmenu
  397. config RESV_RAM
  398. bool
  399. help
  400. Reserve memory from the top, tracked by gd->arch.resv_ram. This
  401. reserved RAM can be used by special driver that resides in memory
  402. after U-Boot exits. It's up to implementation to allocate and allow
  403. access to this reserved memory. For example, the reserved RAM can
  404. be at the high end of physical memory. The reserve RAM may be
  405. excluded from memory bank(s) passed to OS, or marked as reserved.
  406. config SYS_FSL_EC1
  407. bool
  408. help
  409. Ethernet controller 1, this is connected to MAC3.
  410. Provides DPAA2 capabilities
  411. config SYS_FSL_EC2
  412. bool
  413. help
  414. Ethernet controller 2, this is connected to MAC4.
  415. Provides DPAA2 capabilities
  416. config SYS_FSL_ERRATUM_A008336
  417. bool
  418. config SYS_FSL_ERRATUM_A008514
  419. bool
  420. config SYS_FSL_ERRATUM_A008585
  421. bool
  422. config SYS_FSL_ERRATUM_A008850
  423. bool
  424. config SYS_FSL_ERRATUM_A009203
  425. bool
  426. config SYS_FSL_ERRATUM_A009635
  427. bool
  428. config SYS_FSL_ERRATUM_A009660
  429. bool
  430. config SYS_FSL_ERRATUM_A009929
  431. bool
  432. config SYS_FSL_HAS_RGMII
  433. bool
  434. depends on SYS_FSL_EC1 || SYS_FSL_EC2
  435. config SYS_MC_RSV_MEM_ALIGN
  436. hex "Management Complex reserved memory alignment"
  437. depends on RESV_RAM
  438. default 0x20000000 if ARCH_LS2080A || ARCH_LS1088A
  439. help
  440. Reserved memory needs to be aligned for MC to use. Default value
  441. is 512MB.
  442. config SPL_LDSCRIPT
  443. default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARCH_LS1043A || ARCH_LS1046A || ARCH_LS2080A
  444. config HAS_FSL_XHCI_USB
  445. bool
  446. default y if ARCH_LS1043A || ARCH_LS1046A
  447. help
  448. For some SoC(such as LS1043A and LS1046A), USB and QE-HDLC multiplex use
  449. pins, select it when the pins are assigned to USB.