1if ARCH_MVEBU 2 3config HAVE_MVEBU_EFUSE 4 bool 5 6config ARMADA_32BIT 7 bool 8 select ARCH_MISC_INIT 9 select BOARD_EARLY_INIT_F 10 select CPU_V7A 11 select SPL_DM if SPL 12 select SPL_DM_SEQ_ALIAS if SPL 13 select SPL_OF_CONTROL if SPL 14 select SPL_SKIP_LOWLEVEL_INIT if SPL 15 select SPL_SIMPLE_BUS if SPL 16 select SUPPORT_SPL 17 select TRANSLATION_OFFSET 18 19config ARMADA_64BIT 20 bool 21 select ARM64 22 23# ARMv7 SoCs... 24config ARMADA_375 25 bool 26 select ARMADA_32BIT 27 28config ARMADA_38X 29 bool 30 select ARMADA_32BIT 31 select HAVE_MVEBU_EFUSE 32 33config ARMADA_38X_HS_IMPEDANCE_THRESH 34 hex "Armada 38x USB 2.0 High-Speed Impedance Threshold (0x0 - 0x7)" 35 depends on ARMADA_38X 36 default 0x6 37 range 0x0 0x7 38 39config ARMADA_XP 40 bool 41 select ARMADA_32BIT 42 43# ARMv8 SoCs... 44config ARMADA_3700 45 bool 46 select ARM64 47 48# Armada 7K and 8K are very similar - use only one Kconfig symbol for both 49config ARMADA_8K 50 bool 51 select ARM64 52 53# Armada PLL frequency (used for NAND clock generation) 54config SYS_MVEBU_PLL_CLOCK 55 int 56 default "2000000000" if ARMADA_XP || ARMADA_3700 || ARMADA_8K || ARMADA_MSYS 57 default "1000000000" if ARMADA_38X || ARMADA_375 58 59# Armada XP/38x SoC types... 60config MV78230 61 bool 62 select ARMADA_XP 63 64config MV78260 65 bool 66 select ARMADA_XP 67 imply CMD_SATA 68 69config MV78460 70 bool 71 select ARMADA_XP 72 73config ARMADA_MSYS 74 bool 75 select ARMADA_32BIT 76 77config 98DX4251 78 bool 79 select ARMADA_MSYS 80 81config 98DX3336 82 bool 83 select ARMADA_MSYS 84 85config 98DX3236 86 bool 87 select ARMADA_MSYS 88 89config 88F6820 90 bool 91 select ARMADA_38X 92 93choice 94 prompt "Armada XP/375/38x/3700/7K/8K board select" 95 optional 96 97config TARGET_CLEARFOG 98 bool "Support ClearFog" 99 select 88F6820 100 select BOARD_LATE_INIT 101 102config TARGET_HELIOS4 103 bool "Support Helios4" 104 select 88F6820 105 106config TARGET_MVEBU_ARMADA_37XX 107 bool "Support Armada 37xx platforms" 108 select ARMADA_3700 109 imply SCSI 110 111config TARGET_DB_88F6720 112 bool "Support DB-88F6720 Armada 375" 113 select ARMADA_375 114 115config TARGET_DB_88F6820_GP 116 bool "Support DB-88F6820-GP" 117 select 88F6820 118 119config TARGET_DB_88F6820_AMC 120 bool "Support DB-88F6820-AMC" 121 select 88F6820 122 123config TARGET_TURRIS_OMNIA 124 bool "Support Turris Omnia" 125 select 88F6820 126 select BOARD_LATE_INIT 127 select DM_I2C 128 select I2C_MUX 129 select I2C_MUX_PCA954x 130 select SPL_DRIVERS_MISC 131 select SPL_I2C_MUX 132 select SPL_SYS_MALLOC_SIMPLE 133 select SYS_I2C_MVTWSI 134 select ATSHA204A 135 136config TARGET_TURRIS_MOX 137 bool "Support Turris Mox" 138 select ARMADA_3700 139 140config TARGET_MVEBU_ARMADA_8K 141 bool "Support Armada 7k/8k platforms" 142 select ARMADA_8K 143 select BOARD_LATE_INIT 144 imply SCSI 145 146config TARGET_OCTEONTX2_CN913x 147 bool "Support CN913x platforms" 148 select ARMADA_8K 149 imply BOARD_EARLY_INIT_R 150 select BOARD_LATE_INIT 151 imply SCSI 152 153config TARGET_DB_MV784MP_GP 154 bool "Support db-mv784mp-gp" 155 select MV78460 156 157config TARGET_DS414 158 bool "Support Synology DS414" 159 select MV78230 160 161config TARGET_MAXBCM 162 bool "Support maxbcm" 163 select MV78460 164 165config TARGET_THEADORABLE 166 bool "Support theadorable Armada XP" 167 select BOARD_LATE_INIT if USB 168 select MV78260 169 imply CMD_SATA 170 171config TARGET_CONTROLCENTERDC 172 bool "Support CONTROLCENTERDC" 173 select 88F6820 174 175config TARGET_X530 176 bool "Support Allied Telesis x530" 177 select 88F6820 178 179config TARGET_DB_XC3_24G4XG 180 bool "Support DB-XC3-24G4XG" 181 select 98DX3336 182 183config TARGET_CRS3XX_98DX3236 184 bool "Support CRS3XX-98DX3236" 185 select 98DX3236 186 187endchoice 188 189choice 190 prompt "DDR bus width" 191 default DDR_64BIT 192 depends on ARMADA_XP 193 194config DDR_64BIT 195 bool "64bit bus width" 196 197config DDR_32BIT 198 bool "32bit bus width" 199 200endchoice 201 202config DDR_LOG_LEVEL 203 int "DDR training code log level" 204 depends on ARMADA_XP 205 default 0 206 range 0 3 207 help 208 Amount of information provided on error while running the DDR 209 training code. At level 0, provides an error code in a case of 210 failure, RL, WL errors and other algorithm failure. At level 1, 211 provides the D-Unit setup (SPD/Static configuration). At level 2, 212 provides the windows margin as a results of DQS centeralization. 213 At level 3, rovides the windows margin of each DQ as a results of 214 DQS centeralization. 215 216config SYS_BOARD 217 default "clearfog" if TARGET_CLEARFOG 218 default "helios4" if TARGET_HELIOS4 219 default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX 220 default "db-88f6720" if TARGET_DB_88F6720 221 default "db-88f6820-gp" if TARGET_DB_88F6820_GP 222 default "db-88f6820-amc" if TARGET_DB_88F6820_AMC 223 default "turris_omnia" if TARGET_TURRIS_OMNIA 224 default "turris_mox" if TARGET_TURRIS_MOX 225 default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K 226 default "octeontx2_cn913x" if TARGET_OCTEONTX2_CN913x 227 default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP 228 default "ds414" if TARGET_DS414 229 default "maxbcm" if TARGET_MAXBCM 230 default "theadorable" if TARGET_THEADORABLE 231 default "a38x" if TARGET_CONTROLCENTERDC 232 default "x530" if TARGET_X530 233 default "db-xc3-24g4xg" if TARGET_DB_XC3_24G4XG 234 default "crs3xx-98dx3236" if TARGET_CRS3XX_98DX3236 235 236config SYS_CONFIG_NAME 237 default "clearfog" if TARGET_CLEARFOG 238 default "helios4" if TARGET_HELIOS4 239 default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX 240 default "db-88f6720" if TARGET_DB_88F6720 241 default "db-88f6820-gp" if TARGET_DB_88F6820_GP 242 default "db-88f6820-amc" if TARGET_DB_88F6820_AMC 243 default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K 244 default "mvebu_armada-8k" if TARGET_OCTEONTX2_CN913x 245 default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP 246 default "ds414" if TARGET_DS414 247 default "maxbcm" if TARGET_MAXBCM 248 default "theadorable" if TARGET_THEADORABLE 249 default "turris_omnia" if TARGET_TURRIS_OMNIA 250 default "turris_mox" if TARGET_TURRIS_MOX 251 default "controlcenterdc" if TARGET_CONTROLCENTERDC 252 default "x530" if TARGET_X530 253 default "db-xc3-24g4xg" if TARGET_DB_XC3_24G4XG 254 default "crs3xx-98dx3236" if TARGET_CRS3XX_98DX3236 255 256config SYS_VENDOR 257 default "Marvell" if TARGET_DB_MV784MP_GP 258 default "Marvell" if TARGET_MVEBU_ARMADA_37XX 259 default "Marvell" if TARGET_DB_88F6720 260 default "Marvell" if TARGET_DB_88F6820_GP 261 default "Marvell" if TARGET_DB_88F6820_AMC 262 default "Marvell" if TARGET_MVEBU_ARMADA_8K 263 default "Marvell" if TARGET_OCTEONTX2_CN913x 264 default "Marvell" if TARGET_DB_XC3_24G4XG 265 default "Marvell" if TARGET_MVEBU_DB_88F7040 266 default "solidrun" if TARGET_CLEARFOG 267 default "kobol" if TARGET_HELIOS4 268 default "Synology" if TARGET_DS414 269 default "CZ.NIC" if TARGET_TURRIS_OMNIA 270 default "CZ.NIC" if TARGET_TURRIS_MOX 271 default "gdsys" if TARGET_CONTROLCENTERDC 272 default "alliedtelesis" if TARGET_X530 273 default "mikrotik" if TARGET_CRS3XX_98DX3236 274 275config SYS_SOC 276 default "mvebu" 277 278choice 279 prompt "Boot method" 280 depends on SPL 281 282config MVEBU_SPL_BOOT_DEVICE_SPI 283 bool "SPI NOR flash" 284 imply ENV_IS_IN_SPI_FLASH 285 imply SPL_DM_SPI 286 imply SPL_SPI_FLASH_SUPPORT 287 imply SPL_SPI_LOAD 288 imply SPL_SPI 289 select SPL_BOOTROM_SUPPORT 290 291config MVEBU_SPL_BOOT_DEVICE_MMC 292 bool "SDIO/MMC card" 293 imply ENV_IS_IN_MMC 294 # GPIO needed for eMMC/SD card presence detection 295 imply SPL_DM_GPIO 296 imply SPL_DM_MMC 297 imply SPL_GPIO 298 imply SPL_LIBDISK_SUPPORT 299 imply SPL_MMC 300 select SPL_BOOTROM_SUPPORT 301 302config MVEBU_SPL_BOOT_DEVICE_SATA 303 bool "SATA" 304 imply SPL_SATA 305 imply SPL_LIBDISK_SUPPORT 306 select SPL_BOOTROM_SUPPORT 307 308config MVEBU_SPL_BOOT_DEVICE_UART 309 bool "UART" 310 select SPL_BOOTROM_SUPPORT 311 312endchoice 313 314config MVEBU_EFUSE 315 bool "Enable eFuse support" 316 depends on HAVE_MVEBU_EFUSE 317 help 318 Enable support for reading and writing eFuses on mvebu SoCs. 319 320config MVEBU_EFUSE_FAKE 321 bool "Fake eFuse access (dry run)" 322 depends on MVEBU_EFUSE 323 help 324 This enables a "dry run" mode where eFuses are not really programmed. 325 Instead the eFuse accesses are emulated by writing to and reading 326 from a memory block. 327 This is can be used for testing prog scripts. 328 329config SECURED_MODE_IMAGE 330 bool "Build image for trusted boot" 331 default false 332 depends on 88F6820 333 help 334 Build an image that employs the ARMADA SoC's trusted boot framework 335 for securely booting images. 336 337config SECURED_MODE_CSK_INDEX 338 int "Index of active CSK" 339 default 0 340 depends on SECURED_MODE_IMAGE 341 342source "board/solidrun/clearfog/Kconfig" 343source "board/kobol/helios4/Kconfig" 344 345endif 346