York Sun | b3d7164 | 2016-09-26 08:09:26 -0700 | [diff] [blame] | 1 | config ARCH_LS1012A |
York Sun | fcd0e74 | 2016-10-04 14:31:47 -0700 | [diff] [blame] | 2 | bool |
Hou Zhiqiang | 4d1525a | 2017-01-06 17:41:11 +0800 | [diff] [blame] | 3 | select ARMV8_SET_SMPEN |
York Sun | 4dd8c61 | 2016-10-04 14:31:48 -0700 | [diff] [blame] | 4 | select FSL_LSCH2 |
York Sun | b6fffd8 | 2016-10-04 18:03:08 -0700 | [diff] [blame] | 5 | select SYS_FSL_DDR_BE |
York Sun | b3d7164 | 2016-09-26 08:09:26 -0700 | [diff] [blame] | 6 | select SYS_FSL_MMDC |
York Sun | 149eb33 | 2016-09-26 08:09:27 -0700 | [diff] [blame] | 7 | select SYS_FSL_ERRATUM_A010315 |
Simon Glass | 62adede | 2017-01-23 13:31:19 -0700 | [diff] [blame] | 8 | select ARCH_EARLY_INIT_R |
Simon Glass | 7a99a87 | 2017-01-23 13:31:20 -0700 | [diff] [blame] | 9 | select BOARD_EARLY_INIT_F |
York Sun | 149eb33 | 2016-09-26 08:09:27 -0700 | [diff] [blame] | 10 | |
| 11 | config ARCH_LS1043A |
York Sun | fcd0e74 | 2016-10-04 14:31:47 -0700 | [diff] [blame] | 12 | bool |
Hou Zhiqiang | 4d1525a | 2017-01-06 17:41:11 +0800 | [diff] [blame] | 13 | select ARMV8_SET_SMPEN |
York Sun | 4dd8c61 | 2016-10-04 14:31:48 -0700 | [diff] [blame] | 14 | select FSL_LSCH2 |
York Sun | d297d39 | 2016-12-28 08:43:40 -0800 | [diff] [blame] | 15 | select SYS_FSL_DDR |
York Sun | b6fffd8 | 2016-10-04 18:03:08 -0700 | [diff] [blame] | 16 | select SYS_FSL_DDR_BE |
| 17 | select SYS_FSL_DDR_VER_50 |
York Sun | 1dc61ca | 2016-12-28 08:43:41 -0800 | [diff] [blame] | 18 | select SYS_FSL_ERRATUM_A008850 |
| 19 | select SYS_FSL_ERRATUM_A009660 |
| 20 | select SYS_FSL_ERRATUM_A009663 |
| 21 | select SYS_FSL_ERRATUM_A009929 |
| 22 | select SYS_FSL_ERRATUM_A009942 |
York Sun | 149eb33 | 2016-09-26 08:09:27 -0700 | [diff] [blame] | 23 | select SYS_FSL_ERRATUM_A010315 |
Hou Zhiqiang | c06b30a | 2016-09-29 12:42:44 +0800 | [diff] [blame] | 24 | select SYS_FSL_ERRATUM_A010539 |
York Sun | d297d39 | 2016-12-28 08:43:40 -0800 | [diff] [blame] | 25 | select SYS_FSL_HAS_DDR3 |
| 26 | select SYS_FSL_HAS_DDR4 |
Simon Glass | 62adede | 2017-01-23 13:31:19 -0700 | [diff] [blame] | 27 | select ARCH_EARLY_INIT_R |
Simon Glass | 7a99a87 | 2017-01-23 13:31:20 -0700 | [diff] [blame] | 28 | select BOARD_EARLY_INIT_F |
York Sun | b3d7164 | 2016-09-26 08:09:26 -0700 | [diff] [blame] | 29 | |
York Sun | bad4984 | 2016-09-26 08:09:24 -0700 | [diff] [blame] | 30 | config ARCH_LS1046A |
York Sun | fcd0e74 | 2016-10-04 14:31:47 -0700 | [diff] [blame] | 31 | bool |
Hou Zhiqiang | 4d1525a | 2017-01-06 17:41:11 +0800 | [diff] [blame] | 32 | select ARMV8_SET_SMPEN |
York Sun | 4dd8c61 | 2016-10-04 14:31:48 -0700 | [diff] [blame] | 33 | select FSL_LSCH2 |
York Sun | d297d39 | 2016-12-28 08:43:40 -0800 | [diff] [blame] | 34 | select SYS_FSL_DDR |
York Sun | b6fffd8 | 2016-10-04 18:03:08 -0700 | [diff] [blame] | 35 | select SYS_FSL_DDR_BE |
York Sun | b6fffd8 | 2016-10-04 18:03:08 -0700 | [diff] [blame] | 36 | select SYS_FSL_DDR_VER_50 |
York Sun | f195cf7 | 2017-01-27 09:57:31 -0800 | [diff] [blame] | 37 | select SYS_FSL_ERRATUM_A008336 |
York Sun | 1dc61ca | 2016-12-28 08:43:41 -0800 | [diff] [blame] | 38 | select SYS_FSL_ERRATUM_A008511 |
| 39 | select SYS_FSL_ERRATUM_A009801 |
| 40 | select SYS_FSL_ERRATUM_A009803 |
| 41 | select SYS_FSL_ERRATUM_A009942 |
| 42 | select SYS_FSL_ERRATUM_A010165 |
Hou Zhiqiang | c06b30a | 2016-09-29 12:42:44 +0800 | [diff] [blame] | 43 | select SYS_FSL_ERRATUM_A010539 |
York Sun | d297d39 | 2016-12-28 08:43:40 -0800 | [diff] [blame] | 44 | select SYS_FSL_HAS_DDR4 |
York Sun | 6b62ef0 | 2016-10-04 18:01:34 -0700 | [diff] [blame] | 45 | select SYS_FSL_SRDS_2 |
Simon Glass | 62adede | 2017-01-23 13:31:19 -0700 | [diff] [blame] | 46 | select ARCH_EARLY_INIT_R |
Simon Glass | 7a99a87 | 2017-01-23 13:31:20 -0700 | [diff] [blame] | 47 | select BOARD_EARLY_INIT_F |
York Sun | b3d7164 | 2016-09-26 08:09:26 -0700 | [diff] [blame] | 48 | |
York Sun | fcd0e74 | 2016-10-04 14:31:47 -0700 | [diff] [blame] | 49 | config ARCH_LS2080A |
| 50 | bool |
Hou Zhiqiang | 4d1525a | 2017-01-06 17:41:11 +0800 | [diff] [blame] | 51 | select ARMV8_SET_SMPEN |
Tom Rini | bacb52c | 2017-03-07 07:13:42 -0500 | [diff] [blame] | 52 | select ARM_ERRATA_826974 |
| 53 | select ARM_ERRATA_828024 |
| 54 | select ARM_ERRATA_829520 |
| 55 | select ARM_ERRATA_833471 |
York Sun | 4dd8c61 | 2016-10-04 14:31:48 -0700 | [diff] [blame] | 56 | select FSL_LSCH3 |
York Sun | d297d39 | 2016-12-28 08:43:40 -0800 | [diff] [blame] | 57 | select SYS_FSL_DDR |
York Sun | b6fffd8 | 2016-10-04 18:03:08 -0700 | [diff] [blame] | 58 | select SYS_FSL_DDR_LE |
| 59 | select SYS_FSL_DDR_VER_50 |
York Sun | 6b62ef0 | 2016-10-04 18:01:34 -0700 | [diff] [blame] | 60 | select SYS_FSL_HAS_DP_DDR |
York Sun | 92c36e2 | 2016-12-28 08:43:30 -0800 | [diff] [blame] | 61 | select SYS_FSL_HAS_SEC |
York Sun | d297d39 | 2016-12-28 08:43:40 -0800 | [diff] [blame] | 62 | select SYS_FSL_HAS_DDR4 |
York Sun | 92c36e2 | 2016-12-28 08:43:30 -0800 | [diff] [blame] | 63 | select SYS_FSL_SEC_COMPAT_5 |
York Sun | fa419942 | 2016-12-28 08:43:31 -0800 | [diff] [blame] | 64 | select SYS_FSL_SEC_LE |
York Sun | 6b62ef0 | 2016-10-04 18:01:34 -0700 | [diff] [blame] | 65 | select SYS_FSL_SRDS_2 |
York Sun | 1dc61ca | 2016-12-28 08:43:41 -0800 | [diff] [blame] | 66 | select SYS_FSL_ERRATUM_A008336 |
| 67 | select SYS_FSL_ERRATUM_A008511 |
| 68 | select SYS_FSL_ERRATUM_A008514 |
| 69 | select SYS_FSL_ERRATUM_A008585 |
| 70 | select SYS_FSL_ERRATUM_A009635 |
| 71 | select SYS_FSL_ERRATUM_A009663 |
| 72 | select SYS_FSL_ERRATUM_A009801 |
| 73 | select SYS_FSL_ERRATUM_A009803 |
| 74 | select SYS_FSL_ERRATUM_A009942 |
| 75 | select SYS_FSL_ERRATUM_A010165 |
Simon Glass | 62adede | 2017-01-23 13:31:19 -0700 | [diff] [blame] | 76 | select ARCH_EARLY_INIT_R |
Simon Glass | 7a99a87 | 2017-01-23 13:31:20 -0700 | [diff] [blame] | 77 | select BOARD_EARLY_INIT_F |
York Sun | 4dd8c61 | 2016-10-04 14:31:48 -0700 | [diff] [blame] | 78 | |
| 79 | config FSL_LSCH2 |
| 80 | bool |
York Sun | 92c36e2 | 2016-12-28 08:43:30 -0800 | [diff] [blame] | 81 | select SYS_FSL_HAS_SEC |
| 82 | select SYS_FSL_SEC_COMPAT_5 |
York Sun | fa419942 | 2016-12-28 08:43:31 -0800 | [diff] [blame] | 83 | select SYS_FSL_SEC_BE |
York Sun | 6b62ef0 | 2016-10-04 18:01:34 -0700 | [diff] [blame] | 84 | select SYS_FSL_SRDS_1 |
| 85 | select SYS_HAS_SERDES |
York Sun | 4dd8c61 | 2016-10-04 14:31:48 -0700 | [diff] [blame] | 86 | |
| 87 | config FSL_LSCH3 |
| 88 | bool |
York Sun | 6b62ef0 | 2016-10-04 18:01:34 -0700 | [diff] [blame] | 89 | select SYS_FSL_SRDS_1 |
| 90 | select SYS_HAS_SERDES |
York Sun | 4dd8c61 | 2016-10-04 14:31:48 -0700 | [diff] [blame] | 91 | |
York Sun | 6c08974 | 2017-03-06 09:02:25 -0800 | [diff] [blame] | 92 | config FSL_MC_ENET |
| 93 | bool "Management Complex network" |
| 94 | depends on ARCH_LS2080A |
| 95 | default y |
| 96 | select RESV_RAM |
| 97 | help |
| 98 | Enable Management Complex (MC) network |
| 99 | |
York Sun | 4dd8c61 | 2016-10-04 14:31:48 -0700 | [diff] [blame] | 100 | menu "Layerscape architecture" |
| 101 | depends on FSL_LSCH2 || FSL_LSCH3 |
York Sun | fcd0e74 | 2016-10-04 14:31:47 -0700 | [diff] [blame] | 102 | |
Hou Zhiqiang | d553bf2 | 2016-12-13 14:54:24 +0800 | [diff] [blame] | 103 | config FSL_PCIE_COMPAT |
| 104 | string "PCIe compatible of Kernel DT" |
| 105 | depends on PCIE_LAYERSCAPE |
| 106 | default "fsl,ls1012a-pcie" if ARCH_LS1012A |
| 107 | default "fsl,ls1043a-pcie" if ARCH_LS1043A |
| 108 | default "fsl,ls1046a-pcie" if ARCH_LS1046A |
| 109 | default "fsl,ls2080a-pcie" if ARCH_LS2080A |
| 110 | help |
| 111 | This compatible is used to find pci controller node in Kernel DT |
| 112 | to complete fixup. |
| 113 | |
Wenbin Song | a8f57a9 | 2017-01-17 18:31:15 +0800 | [diff] [blame] | 114 | config HAS_FEATURE_GIC64K_ALIGN |
| 115 | bool |
| 116 | default y if ARCH_LS1043A |
| 117 | |
Wenbin Song | c6bc7c0 | 2017-01-17 18:31:16 +0800 | [diff] [blame] | 118 | config HAS_FEATURE_ENHANCED_MSI |
| 119 | bool |
| 120 | default y if ARCH_LS1043A |
Wenbin Song | a8f57a9 | 2017-01-17 18:31:15 +0800 | [diff] [blame] | 121 | |
macro.wave.z@gmail.com | ec2d7ed | 2016-12-08 11:58:21 +0800 | [diff] [blame] | 122 | menu "Layerscape PPA" |
| 123 | config FSL_LS_PPA |
| 124 | bool "FSL Layerscape PPA firmware support" |
macro.wave.z@gmail.com | 01bd334 | 2016-12-08 11:58:22 +0800 | [diff] [blame] | 125 | depends on !ARMV8_PSCI |
Hou Zhiqiang | bff56d5 | 2017-01-16 17:31:49 +0800 | [diff] [blame] | 126 | select ARMV8_SEC_FIRMWARE_SUPPORT |
Hou Zhiqiang | 6be115d | 2017-01-16 17:31:48 +0800 | [diff] [blame] | 127 | select SEC_FIRMWARE_ARMV8_PSCI |
Hou Zhiqiang | bff56d5 | 2017-01-16 17:31:49 +0800 | [diff] [blame] | 128 | select ARMV8_SEC_FIRMWARE_ERET_ADDR_REVERT if FSL_LSCH2 |
macro.wave.z@gmail.com | ec2d7ed | 2016-12-08 11:58:21 +0800 | [diff] [blame] | 129 | help |
| 130 | The FSL Primary Protected Application (PPA) is a software component |
| 131 | which is loaded during boot stage, and then remains resident in RAM |
| 132 | and runs in the TrustZone after boot. |
| 133 | Say y to enable it. |
Hou Zhiqiang | bff56d5 | 2017-01-16 17:31:49 +0800 | [diff] [blame] | 134 | choice |
| 135 | prompt "FSL Layerscape PPA firmware loading-media select" |
| 136 | depends on FSL_LS_PPA |
| 137 | default SYS_LS_PPA_FW_IN_XIP |
| 138 | |
| 139 | config SYS_LS_PPA_FW_IN_XIP |
| 140 | bool "XIP" |
| 141 | help |
| 142 | Say Y here if the PPA firmware locate at XIP flash, such |
| 143 | as NOR or QSPI flash. |
| 144 | |
| 145 | endchoice |
| 146 | |
| 147 | config SYS_LS_PPA_FW_ADDR |
| 148 | hex "Address of PPA firmware loading from" |
| 149 | depends on FSL_LS_PPA |
| 150 | default 0x40500000 if SYS_LS_PPA_FW_IN_XIP && QSPI_BOOT |
| 151 | default 0x60500000 if SYS_LS_PPA_FW_IN_XIP |
| 152 | help |
| 153 | If the PPA firmware locate at XIP flash, such as NOR or |
| 154 | QSPI flash, this address is a directly memory-mapped. |
| 155 | If it is in a serial accessed flash, such as NAND and SD |
| 156 | card, it is a byte offset. |
macro.wave.z@gmail.com | ec2d7ed | 2016-12-08 11:58:21 +0800 | [diff] [blame] | 157 | endmenu |
| 158 | |
York Sun | 149eb33 | 2016-09-26 08:09:27 -0700 | [diff] [blame] | 159 | config SYS_FSL_ERRATUM_A010315 |
| 160 | bool "Workaround for PCIe erratum A010315" |
Hou Zhiqiang | c06b30a | 2016-09-29 12:42:44 +0800 | [diff] [blame] | 161 | |
| 162 | config SYS_FSL_ERRATUM_A010539 |
| 163 | bool "Workaround for PIN MUX erratum A010539" |
York Sun | 4dd8c61 | 2016-10-04 14:31:48 -0700 | [diff] [blame] | 164 | |
York Sun | f188d22 | 2016-10-04 14:45:01 -0700 | [diff] [blame] | 165 | config MAX_CPUS |
| 166 | int "Maximum number of CPUs permitted for Layerscape" |
| 167 | default 4 if ARCH_LS1043A |
| 168 | default 4 if ARCH_LS1046A |
| 169 | default 16 if ARCH_LS2080A |
| 170 | default 1 |
| 171 | help |
| 172 | Set this number to the maximum number of possible CPUs in the SoC. |
| 173 | SoCs may have multiple clusters with each cluster may have multiple |
| 174 | ports. If some ports are reserved but higher ports are used for |
| 175 | cores, count the reserved ports. This will allocate enough memory |
| 176 | in spin table to properly handle all cores. |
| 177 | |
York Sun | 728e700 | 2016-12-02 09:32:35 -0800 | [diff] [blame] | 178 | config SECURE_BOOT |
York Sun | 8a3d8ed | 2017-01-04 10:32:08 -0800 | [diff] [blame] | 179 | bool "Secure Boot" |
York Sun | 728e700 | 2016-12-02 09:32:35 -0800 | [diff] [blame] | 180 | help |
| 181 | Enable Freescale Secure Boot feature |
| 182 | |
Yuan Yao | 52ae4fd | 2016-12-01 10:13:52 +0800 | [diff] [blame] | 183 | config QSPI_AHB_INIT |
| 184 | bool "Init the QSPI AHB bus" |
| 185 | help |
| 186 | The default setting for QSPI AHB bus just support 3bytes addressing. |
| 187 | But some QSPI flash size up to 64MBytes, so initialize the QSPI AHB |
| 188 | bus for those flashes to support the full QSPI flash size. |
| 189 | |
York Sun | e7310a3 | 2016-10-04 14:45:54 -0700 | [diff] [blame] | 190 | config SYS_FSL_IFC_BANK_COUNT |
| 191 | int "Maximum banks of Integrated flash controller" |
| 192 | depends on ARCH_LS1043A || ARCH_LS1046A || ARCH_LS2080A |
| 193 | default 4 if ARCH_LS1043A |
| 194 | default 4 if ARCH_LS1046A |
| 195 | default 8 if ARCH_LS2080A |
| 196 | |
York Sun | 0dc9abb | 2016-10-04 14:46:50 -0700 | [diff] [blame] | 197 | config SYS_FSL_HAS_DP_DDR |
| 198 | bool |
| 199 | |
York Sun | 6b62ef0 | 2016-10-04 18:01:34 -0700 | [diff] [blame] | 200 | config SYS_FSL_SRDS_1 |
| 201 | bool |
| 202 | |
| 203 | config SYS_FSL_SRDS_2 |
| 204 | bool |
| 205 | |
| 206 | config SYS_HAS_SERDES |
| 207 | bool |
| 208 | |
York Sun | 4dd8c61 | 2016-10-04 14:31:48 -0700 | [diff] [blame] | 209 | endmenu |
York Sun | 1dc61ca | 2016-12-28 08:43:41 -0800 | [diff] [blame] | 210 | |
Hou Zhiqiang | 3f91cda | 2017-01-10 16:44:15 +0800 | [diff] [blame] | 211 | menu "Layerscape clock tree configuration" |
| 212 | depends on FSL_LSCH2 || FSL_LSCH3 |
| 213 | |
| 214 | config SYS_FSL_CLK |
| 215 | bool "Enable clock tree initialization" |
| 216 | default y |
| 217 | |
| 218 | config CLUSTER_CLK_FREQ |
| 219 | int "Reference clock of core cluster" |
| 220 | depends on ARCH_LS1012A |
| 221 | default 100000000 |
| 222 | help |
| 223 | This number is the reference clock frequency of core PLL. |
| 224 | For most platforms, the core PLL and Platform PLL have the same |
| 225 | reference clock, but for some platforms, LS1012A for instance, |
| 226 | they are provided sepatately. |
| 227 | |
| 228 | config SYS_FSL_PCLK_DIV |
| 229 | int "Platform clock divider" |
| 230 | default 1 if ARCH_LS1043A |
| 231 | default 1 if ARCH_LS1046A |
| 232 | default 2 |
| 233 | help |
| 234 | This is the divider that is used to derive Platform clock from |
| 235 | Platform PLL, in another word: |
| 236 | Platform_clk = Platform_PLL_freq / this_divider |
| 237 | |
| 238 | config SYS_FSL_DSPI_CLK_DIV |
| 239 | int "DSPI clock divider" |
| 240 | default 1 if ARCH_LS1043A |
| 241 | default 2 |
| 242 | help |
| 243 | This is the divider that is used to derive DSPI clock from Platform |
| 244 | PLL, in another word DSPI_clk = Platform_PLL_freq / this_divider. |
| 245 | |
| 246 | config SYS_FSL_DUART_CLK_DIV |
| 247 | int "DUART clock divider" |
| 248 | default 1 if ARCH_LS1043A |
| 249 | default 2 |
| 250 | help |
| 251 | This is the divider that is used to derive DUART clock from Platform |
| 252 | clock, in another word DUART_clk = Platform_clk / this_divider. |
| 253 | |
| 254 | config SYS_FSL_I2C_CLK_DIV |
| 255 | int "I2C clock divider" |
| 256 | default 1 if ARCH_LS1043A |
| 257 | default 2 |
| 258 | help |
| 259 | This is the divider that is used to derive I2C clock from Platform |
| 260 | clock, in another word I2C_clk = Platform_clk / this_divider. |
| 261 | |
| 262 | config SYS_FSL_IFC_CLK_DIV |
| 263 | int "IFC clock divider" |
| 264 | default 1 if ARCH_LS1043A |
| 265 | default 2 |
| 266 | help |
| 267 | This is the divider that is used to derive IFC clock from Platform |
| 268 | clock, in another word IFC_clk = Platform_clk / this_divider. |
| 269 | |
| 270 | config SYS_FSL_LPUART_CLK_DIV |
| 271 | int "LPUART clock divider" |
| 272 | default 1 if ARCH_LS1043A |
| 273 | default 2 |
| 274 | help |
| 275 | This is the divider that is used to derive LPUART clock from Platform |
| 276 | clock, in another word LPUART_clk = Platform_clk / this_divider. |
| 277 | |
| 278 | config SYS_FSL_SDHC_CLK_DIV |
| 279 | int "SDHC clock divider" |
| 280 | default 1 if ARCH_LS1043A |
| 281 | default 1 if ARCH_LS1012A |
| 282 | default 2 |
| 283 | help |
| 284 | This is the divider that is used to derive SDHC clock from Platform |
| 285 | clock, in another word SDHC_clk = Platform_clk / this_divider. |
| 286 | endmenu |
| 287 | |
York Sun | d6964b3 | 2017-03-06 09:02:24 -0800 | [diff] [blame] | 288 | config RESV_RAM |
| 289 | bool |
| 290 | help |
| 291 | Reserve memory from the top, tracked by gd->arch.resv_ram. This |
| 292 | reserved RAM can be used by special driver that resides in memory |
| 293 | after U-Boot exits. It's up to implementation to allocate and allow |
| 294 | access to this reserved memory. For example, the reserved RAM can |
| 295 | be at the high end of physical memory. The reserve RAM may be |
| 296 | excluded from memory bank(s) passed to OS, or marked as reserved. |
| 297 | |
York Sun | 1dc61ca | 2016-12-28 08:43:41 -0800 | [diff] [blame] | 298 | config SYS_FSL_ERRATUM_A008336 |
| 299 | bool |
| 300 | |
| 301 | config SYS_FSL_ERRATUM_A008514 |
| 302 | bool |
| 303 | |
| 304 | config SYS_FSL_ERRATUM_A008585 |
| 305 | bool |
| 306 | |
| 307 | config SYS_FSL_ERRATUM_A008850 |
| 308 | bool |
| 309 | |
| 310 | config SYS_FSL_ERRATUM_A009635 |
| 311 | bool |
| 312 | |
| 313 | config SYS_FSL_ERRATUM_A009660 |
| 314 | bool |
| 315 | |
| 316 | config SYS_FSL_ERRATUM_A009929 |
| 317 | bool |
York Sun | 1a77075 | 2017-03-06 09:02:26 -0800 | [diff] [blame^] | 318 | |
| 319 | config SYS_MC_RSV_MEM_ALIGN |
| 320 | hex "Management Complex reserved memory alignment" |
| 321 | depends on RESV_RAM |
| 322 | default 0x20000000 |
| 323 | help |
| 324 | Reserved memory needs to be aligned for MC to use. Default value |
| 325 | is 512MB. |