uboot/arch/arm/mach-mvebu/Kconfig
<<
>>
Prefs
   1if ARCH_MVEBU
   2
   3config HAVE_MVEBU_EFUSE
   4        bool
   5
   6config ARMADA_32BIT
   7        bool
   8        select BOARD_EARLY_INIT_F
   9        select CPU_V7A
  10        select SPL_DM if SPL
  11        select SPL_DM_SEQ_ALIAS if SPL
  12        select SPL_OF_CONTROL if SPL
  13        select SPL_SKIP_LOWLEVEL_INIT if SPL
  14        select SPL_SIMPLE_BUS if SPL
  15        select SUPPORT_SPL
  16        select SYS_L2_PL310 if !SYS_L2CACHE_OFF
  17        select TRANSLATION_OFFSET
  18        select SPL_SYS_NO_VECTOR_TABLE if SPL
  19        select ARCH_VERY_EARLY_INIT
  20
  21# ARMv7 SoCs...
  22config ARMADA_375
  23        bool
  24        select ARMADA_32BIT
  25
  26config ARMADA_38X
  27        bool
  28        select ARMADA_32BIT
  29        select HAVE_MVEBU_EFUSE
  30
  31config ARMADA_38X_HS_IMPEDANCE_THRESH
  32        hex  "Armada 38x USB 2.0 High-Speed Impedance Threshold (0x0 - 0x7)"
  33        depends on ARMADA_38X
  34        default 0x6
  35        range 0x0 0x7
  36
  37config ARMADA_XP
  38        bool
  39        select ARMADA_32BIT
  40
  41# ARMv8 SoCs...
  42config ARMADA_3700
  43        bool
  44        select ARM64
  45        select HAVE_MVEBU_EFUSE
  46
  47# Armada 7K and 8K are very similar - use only one Kconfig symbol for both
  48config ARMADA_8K
  49        bool
  50        select ARM64
  51
  52config ALLEYCAT_5
  53        bool
  54        select ARM64
  55
  56# Armada PLL frequency (used for NAND clock generation)
  57config SYS_MVEBU_PLL_CLOCK
  58        int
  59        default "2000000000" if ARMADA_XP || ARMADA_3700 || ARMADA_8K || ARMADA_MSYS
  60        default "1000000000" if ARMADA_38X || ARMADA_375
  61
  62# Armada XP/38x SoC types...
  63config MV78230
  64        bool
  65        select ARMADA_XP
  66
  67config MV78260
  68        bool
  69        select ARMADA_XP
  70        imply CMD_SATA
  71
  72config MV78460
  73        bool
  74        select ARMADA_XP
  75
  76config ARMADA_MSYS
  77        bool
  78        select ARMADA_32BIT
  79
  80config 98DX4251
  81        bool
  82        select ARMADA_MSYS
  83
  84config 98DX3336
  85        bool
  86        select ARMADA_MSYS
  87
  88config 98DX3236
  89        bool
  90        select ARMADA_MSYS
  91
  92config 88F6820
  93        bool
  94        select ARMADA_38X
  95
  96config CUSTOMER_BOARD_SUPPORT
  97        bool
  98
  99config DDR4
 100        bool "Support Marvell DDR4 Training driver"
 101
 102choice
 103        prompt "Armada XP/375/38x/3700/7K/8K/Alleycat-5 board select"
 104        optional
 105
 106config TARGET_CLEARFOG
 107        bool "Support ClearFog"
 108        select 88F6820
 109        select BOARD_LATE_INIT
 110        select OF_BOARD_SETUP
 111
 112config TARGET_HELIOS4
 113        bool "Support Helios4"
 114        select 88F6820
 115
 116config TARGET_MVEBU_ARMADA_37XX
 117        bool "Support Armada 37xx platforms"
 118        select ARMADA_3700
 119        imply SCSI
 120
 121config TARGET_DB_88F6720
 122        bool "Support DB-88F6720 Armada 375"
 123        select ARMADA_375
 124
 125config TARGET_DB_88F6820_GP
 126        bool "Support DB-88F6820-GP"
 127        select 88F6820
 128
 129config TARGET_DB_88F6820_AMC
 130        bool "Support DB-88F6820-AMC"
 131        select 88F6820
 132
 133config TARGET_TURRIS_OMNIA
 134        bool "Support Turris Omnia"
 135        select 88F6820
 136        select BOARD_LATE_INIT
 137        select DM_I2C
 138        select I2C_MUX
 139        select I2C_MUX_PCA954x
 140        select SPL_DRIVERS_MISC
 141        select SPL_I2C_MUX
 142        select SPL_SYS_MALLOC_SIMPLE
 143        select SYS_I2C_MVTWSI
 144        select ATSHA204A
 145
 146config TARGET_TURRIS_MOX
 147        bool "Support Turris Mox"
 148        select ARMADA_3700
 149
 150config TARGET_MVEBU_ARMADA_8K
 151        bool "Support Armada 7k/8k platforms"
 152        select ARMADA_8K
 153        select BOARD_LATE_INIT
 154        imply SCSI
 155
 156config TARGET_MVEBU_ALLEYCAT5
 157        bool "Support AlleyCat 5 platforms"
 158        select ALLEYCAT_5
 159
 160config TARGET_OCTEONTX2_CN913x
 161        bool "Support CN913x platforms"
 162        select ARMADA_8K
 163        imply BOARD_EARLY_INIT_R
 164        select BOARD_LATE_INIT
 165        imply SCSI
 166
 167config TARGET_DB_MV784MP_GP
 168        bool "Support db-mv784mp-gp"
 169        select BOARD_ECC_SUPPORT
 170        select MV78460
 171
 172config TARGET_DS116
 173        bool "Support Synology DS116"
 174        select 88F6820
 175
 176config TARGET_DS414
 177        bool "Support Synology DS414"
 178        select MV78230
 179
 180config TARGET_MAXBCM
 181        bool "Support maxbcm"
 182        select BOARD_ECC_SUPPORT
 183        select MV78460
 184
 185config TARGET_N2350
 186        bool "Support Thecus N2350"
 187        select 88F6820
 188        select DDR4
 189
 190config TARGET_THEADORABLE
 191        bool "Support theadorable Armada XP"
 192        select BOARD_LATE_INIT if USB
 193        select MV78260
 194        imply CMD_SATA
 195
 196config TARGET_CONTROLCENTERDC
 197        bool "Support CONTROLCENTERDC"
 198        select 88F6820
 199        select CUSTOMER_BOARD_SUPPORT
 200
 201config TARGET_X530
 202        bool "Support Allied Telesis x530"
 203        select 88F6820
 204
 205config TARGET_DB_XC3_24G4XG
 206        bool "Support DB-XC3-24G4XG"
 207        select 98DX3336
 208
 209config TARGET_CRS3XX_98DX3236
 210        bool "Support CRS3XX-98DX3236"
 211        select 98DX3236
 212
 213endchoice
 214
 215choice
 216        prompt "DDR bus width"
 217        default DDR_64BIT
 218        depends on ARMADA_XP
 219
 220config DDR_64BIT
 221        bool "64bit bus width"
 222
 223config DDR_32BIT
 224        bool "32bit bus width"
 225
 226endchoice
 227
 228config DDR_LOG_LEVEL
 229        int "DDR training code log level"
 230        depends on ARMADA_XP
 231        default 0
 232        range 0 3
 233        help
 234          Amount of information provided on error while running the DDR
 235          training code.  At level 0, provides an error code in a case of
 236          failure, RL, WL errors and other algorithm failure.  At level 1,
 237          provides the D-Unit setup (SPD/Static configuration).  At level 2,
 238          provides the windows margin as a results of DQS centeralization.
 239          At level 3, rovides the windows margin of each DQ as a results of
 240          DQS centeralization.
 241
 242config DDR_RESET_ON_TRAINING_FAILURE
 243        bool "Reset the board on DDR training failure instead of hanging"
 244        depends on ARMADA_38X || ARMADA_XP
 245        help
 246          If DDR training fails in SPL, reset the board instead of hanging.
 247          Some boards are known to fail DDR training occasionally and an
 248          immediate reset may be preferable to waiting until the board is
 249          reset by watchdog (if there even is one).
 250
 251          Note that if booting via UART and the DDR training fails, the
 252          device will still hang - it doesn't make sense to reset the board
 253          in such a case.
 254
 255config BOARD_ECC_SUPPORT
 256        bool
 257
 258config SYS_BOARD
 259        default "clearfog" if TARGET_CLEARFOG
 260        default "helios4" if TARGET_HELIOS4
 261        default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
 262        default "db-88f6720" if TARGET_DB_88F6720
 263        default "db-88f6820-gp" if TARGET_DB_88F6820_GP
 264        default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
 265        default "turris_omnia" if TARGET_TURRIS_OMNIA
 266        default "turris_mox" if TARGET_TURRIS_MOX
 267        default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
 268        default "octeontx2_cn913x" if TARGET_OCTEONTX2_CN913x
 269        default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
 270        default "ds116" if TARGET_DS116
 271        default "ds414" if TARGET_DS414
 272        default "maxbcm" if TARGET_MAXBCM
 273        default "n2350" if TARGET_N2350
 274        default "theadorable" if TARGET_THEADORABLE
 275        default "a38x" if TARGET_CONTROLCENTERDC
 276        default "x530" if TARGET_X530
 277        default "db-xc3-24g4xg" if TARGET_DB_XC3_24G4XG
 278        default "crs3xx-98dx3236" if TARGET_CRS3XX_98DX3236
 279        default "mvebu_alleycat-5" if TARGET_MVEBU_ALLEYCAT5
 280
 281config SYS_CONFIG_NAME
 282        default "clearfog" if TARGET_CLEARFOG
 283        default "helios4" if TARGET_HELIOS4
 284        default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
 285        default "db-88f6720" if TARGET_DB_88F6720
 286        default "db-88f6820-gp" if TARGET_DB_88F6820_GP
 287        default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
 288        default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
 289        default "mvebu_armada-8k" if TARGET_OCTEONTX2_CN913x
 290        default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
 291        default "ds116" if TARGET_DS116
 292        default "ds414" if TARGET_DS414
 293        default "maxbcm" if TARGET_MAXBCM
 294        default "n2350" if TARGET_N2350
 295        default "theadorable" if TARGET_THEADORABLE
 296        default "turris_omnia" if TARGET_TURRIS_OMNIA
 297        default "turris_mox" if TARGET_TURRIS_MOX
 298        default "controlcenterdc" if TARGET_CONTROLCENTERDC
 299        default "x530" if TARGET_X530
 300        default "db-xc3-24g4xg" if TARGET_DB_XC3_24G4XG
 301        default "crs3xx-98dx3236" if TARGET_CRS3XX_98DX3236
 302        default "mvebu_alleycat-5" if TARGET_MVEBU_ALLEYCAT5
 303
 304config SYS_VENDOR
 305        default "Marvell" if TARGET_DB_MV784MP_GP
 306        default "Marvell" if TARGET_MVEBU_ARMADA_37XX
 307        default "Marvell" if TARGET_DB_88F6720
 308        default "Marvell" if TARGET_DB_88F6820_GP
 309        default "Marvell" if TARGET_DB_88F6820_AMC
 310        default "Marvell" if TARGET_MVEBU_ARMADA_8K
 311        default "Marvell" if TARGET_OCTEONTX2_CN913x
 312        default "Marvell" if TARGET_DB_XC3_24G4XG
 313        default "Marvell" if TARGET_MVEBU_DB_88F7040
 314        default "solidrun" if TARGET_CLEARFOG
 315        default "kobol" if TARGET_HELIOS4
 316        default "Synology" if TARGET_DS116
 317        default "Synology" if TARGET_DS414
 318        default "thecus" if TARGET_N2350
 319        default "CZ.NIC" if TARGET_TURRIS_OMNIA
 320        default "CZ.NIC" if TARGET_TURRIS_MOX
 321        default "gdsys" if TARGET_CONTROLCENTERDC
 322        default "alliedtelesis" if TARGET_X530
 323        default "mikrotik" if TARGET_CRS3XX_98DX3236
 324        default "Marvell" if TARGET_MVEBU_ALLEYCAT5
 325
 326config SYS_SOC
 327        default "mvebu"
 328
 329choice
 330        prompt "Boot method"
 331        depends on SPL
 332
 333config MVEBU_SPL_BOOT_DEVICE_SPI
 334        bool "NOR flash (SPI or parallel)"
 335        imply ENV_IS_IN_SPI_FLASH
 336        imply SPL_DM_SPI
 337        imply SPL_SPI_FLASH_SUPPORT
 338        imply SPL_SPI_LOAD
 339        imply SPL_SPI
 340        select SPL_BOOTROM_SUPPORT
 341
 342config MVEBU_SPL_BOOT_DEVICE_NAND
 343        bool "NAND flash (SPI or parallel)"
 344        select MTD_RAW_NAND
 345        select SPL_BOOTROM_SUPPORT
 346
 347config MVEBU_SPL_BOOT_DEVICE_MMC
 348        bool "eMMC or SD card"
 349        imply ENV_IS_IN_MMC
 350        # GPIO needed for eMMC/SD card presence detection
 351        imply SPL_DM_GPIO
 352        imply SPL_DM_MMC
 353        imply SPL_GPIO
 354        imply SPL_LIBDISK_SUPPORT
 355        imply SPL_MMC
 356        select SUPPORT_EMMC_BOOT if SPL_MMC
 357        select SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR if SPL_MMC
 358        select SPL_BOOTROM_SUPPORT
 359
 360config MVEBU_SPL_BOOT_DEVICE_SATA
 361        bool "SATA"
 362        imply SPL_SATA
 363        imply SPL_LIBDISK_SUPPORT
 364        select SPL_BOOTROM_SUPPORT
 365
 366config MVEBU_SPL_BOOT_DEVICE_PEX
 367        bool "PCI Express"
 368        select SPL_BOOTROM_SUPPORT
 369
 370config MVEBU_SPL_BOOT_DEVICE_UART
 371        bool "UART"
 372        select SPL_BOOTROM_SUPPORT
 373
 374endchoice
 375
 376config MVEBU_SPL_NAND_BADBLK_LOCATION
 377        hex "NAND Bad block indicator location"
 378        depends on MVEBU_SPL_BOOT_DEVICE_NAND
 379        range 0x0 0x1
 380        help
 381          Value 0x0 = SLC flash = BBI at page 0 or page 1
 382          Value 0x1 = MLC flash = BBI at last page in the block
 383
 384config MVEBU_SPL_SATA_BLKSZ
 385        int "SATA block size"
 386        depends on MVEBU_SPL_BOOT_DEVICE_SATA
 387        range 512 32768
 388        default 512
 389        help
 390          Block size of the SATA disk in bytes.
 391          Typically 512 bytes for majority of disks
 392          and 4096 bytes for 4K Native disks.
 393
 394config MVEBU_EFUSE
 395        bool "Enable eFuse support"
 396        depends on HAVE_MVEBU_EFUSE
 397        help
 398          Enable support for reading and writing eFuses on mvebu SoCs.
 399
 400config MVEBU_EFUSE_FAKE
 401        bool "Fake eFuse access (dry run)"
 402        depends on MVEBU_EFUSE
 403        help
 404          This enables a "dry run" mode where eFuses are not really programmed.
 405          Instead the eFuse accesses are emulated by writing to and reading
 406          from a memory block.
 407          This is can be used for testing prog scripts.
 408
 409config MVEBU_EFUSE_VHV_GPIO
 410        string "VHV_Enable GPIO name for eFuse programming"
 411        depends on MVEBU_EFUSE && !ARMADA_3700
 412        help
 413          The eFuse programing (burning) phase requires supplying 1.8V to the
 414          device on the VHV power pin, while for normal operation the VHV power
 415          rail must be left unconnected. See Marvell AN-389: ARMADA VHV Power
 416          document (Doc. No. MV-S302545-00 Rev. C, August 2, 2016) for details.
 417          .
 418          This specify VHV_Enable GPIO name used in U-Boot for enabling VHV power.
 419
 420config MVEBU_EFUSE_VHV_GPIO_ACTIVE_LOW
 421        bool "VHV_Enable GPIO is Active Low"
 422        depends on MVEBU_EFUSE_VHV_GPIO != ""
 423
 424config SECURED_MODE_IMAGE
 425        bool "Build image for trusted boot"
 426        default false
 427        depends on 88F6820
 428        help
 429          Build an image that employs the ARMADA SoC's trusted boot framework
 430          for securely booting images.
 431
 432config SECURED_MODE_CSK_INDEX
 433        int "Index of active CSK"
 434        default 0
 435        depends on SECURED_MODE_IMAGE
 436
 437config SF_DEFAULT_SPEED
 438        int "Default speed for SPI flash in Hz"
 439        default 10000000
 440        depends on MVEBU_SPL_BOOT_DEVICE_SPI
 441
 442config SF_DEFAULT_MODE
 443        hex "Default mode for SPI flash"
 444        default 0x0
 445        depends on MVEBU_SPL_BOOT_DEVICE_SPI
 446
 447source "board/solidrun/clearfog/Kconfig"
 448source "board/kobol/helios4/Kconfig"
 449
 450endif
 451