]> git.sur5r.net Git - u-boot/blobdiff - arch/arm/cpu/armv8/fsl-layerscape/Kconfig
arm64/ls1046a: Enable ERRATUM_A008850 for ls1046a SoC
[u-boot] / arch / arm / cpu / armv8 / fsl-layerscape / Kconfig
index dce1689e0058bb7fb857ffeaa70b03660ef19501..2562f4a365188d5eab115902d1ac31605b680674 100644 (file)
@@ -5,6 +5,8 @@ config ARCH_LS1012A
        select SYS_FSL_DDR_BE
        select SYS_FSL_MMDC
        select SYS_FSL_ERRATUM_A010315
+       select ARCH_EARLY_INIT_R
+       select BOARD_EARLY_INIT_F
 
 config ARCH_LS1043A
        bool
@@ -22,6 +24,8 @@ config ARCH_LS1043A
        select SYS_FSL_ERRATUM_A010539
        select SYS_FSL_HAS_DDR3
        select SYS_FSL_HAS_DDR4
+       select ARCH_EARLY_INIT_R
+       select BOARD_EARLY_INIT_F
 
 config ARCH_LS1046A
        bool
@@ -30,7 +34,9 @@ config ARCH_LS1046A
        select SYS_FSL_DDR
        select SYS_FSL_DDR_BE
        select SYS_FSL_DDR_VER_50
+       select SYS_FSL_ERRATUM_A008336
        select SYS_FSL_ERRATUM_A008511
+       select SYS_FSL_ERRATUM_A008850
        select SYS_FSL_ERRATUM_A009801
        select SYS_FSL_ERRATUM_A009803
        select SYS_FSL_ERRATUM_A009942
@@ -38,10 +44,16 @@ config ARCH_LS1046A
        select SYS_FSL_ERRATUM_A010539
        select SYS_FSL_HAS_DDR4
        select SYS_FSL_SRDS_2
+       select ARCH_EARLY_INIT_R
+       select BOARD_EARLY_INIT_F
 
 config ARCH_LS2080A
        bool
        select ARMV8_SET_SMPEN
+       select ARM_ERRATA_826974
+       select ARM_ERRATA_828024
+       select ARM_ERRATA_829520
+       select ARM_ERRATA_833471
        select FSL_LSCH3
        select SYS_FSL_DDR
        select SYS_FSL_DDR_LE
@@ -62,6 +74,9 @@ config ARCH_LS2080A
        select SYS_FSL_ERRATUM_A009803
        select SYS_FSL_ERRATUM_A009942
        select SYS_FSL_ERRATUM_A010165
+       select SYS_FSL_ERRATUM_A009203
+       select ARCH_EARLY_INIT_R
+       select BOARD_EARLY_INIT_F
 
 config FSL_LSCH2
        bool
@@ -76,6 +91,14 @@ config FSL_LSCH3
        select SYS_FSL_SRDS_1
        select SYS_HAS_SERDES
 
+config FSL_MC_ENET
+       bool "Management Complex network"
+       depends on ARCH_LS2080A
+       default y
+       select RESV_RAM
+       help
+         Enable Management Complex (MC) network
+
 menu "Layerscape architecture"
        depends on FSL_LSCH2 || FSL_LSCH3
 
@@ -94,26 +117,75 @@ config HAS_FEATURE_GIC64K_ALIGN
        bool
        default y if ARCH_LS1043A
 
+config HAS_FEATURE_ENHANCED_MSI
+       bool
+       default y if ARCH_LS1043A
 
 menu "Layerscape PPA"
 config FSL_LS_PPA
        bool "FSL Layerscape PPA firmware support"
        depends on !ARMV8_PSCI
-       depends on ARCH_LS1043A || ARCH_LS1046A
-       select FSL_PPA_ARMV8_PSCI
+       select ARMV8_SEC_FIRMWARE_SUPPORT
+       select SEC_FIRMWARE_ARMV8_PSCI
+       select ARMV8_SEC_FIRMWARE_ERET_ADDR_REVERT if FSL_LSCH2
        help
          The FSL Primary Protected Application (PPA) is a software component
          which is loaded during boot stage, and then remains resident in RAM
          and runs in the TrustZone after boot.
          Say y to enable it.
+choice
+       prompt "FSL Layerscape PPA firmware loading-media select"
+       depends on FSL_LS_PPA
+       default SYS_LS_PPA_FW_IN_MMC if SD_BOOT
+       default SYS_LS_PPA_FW_IN_NAND if NAND_BOOT
+       default SYS_LS_PPA_FW_IN_XIP
+
+config SYS_LS_PPA_FW_IN_XIP
+       bool "XIP"
+       help
+         Say Y here if the PPA firmware locate at XIP flash, such
+         as NOR or QSPI flash.
 
-config FSL_PPA_ARMV8_PSCI
-       bool "PSCI implementation in PPA firmware"
+config SYS_LS_PPA_FW_IN_MMC
+       bool "eMMC or SD Card"
+       help
+         Say Y here if the PPA firmware locate at eMMC/SD card.
+
+config SYS_LS_PPA_FW_IN_NAND
+       bool "NAND"
+       help
+         Say Y here if the PPA firmware locate at NAND flash.
+
+endchoice
+
+config SYS_LS_PPA_FW_ADDR
+       hex "Address of PPA firmware loading from"
        depends on FSL_LS_PPA
+       default 0x40500000 if SYS_LS_PPA_FW_IN_XIP && QSPI_BOOT
+       default 0x580a00000 if SYS_LS_PPA_FW_IN_XIP && ARCH_LS2080A
+       default 0x60500000 if SYS_LS_PPA_FW_IN_XIP
+       default 0x500000 if SYS_LS_PPA_FW_IN_MMC
+       default 0x500000 if SYS_LS_PPA_FW_IN_NAND
+
        help
-         This config enables the ARMv8 PSCI implementation in PPA firmware.
-         This is a private PSCI implementation and different from those
-         implemented under the common ARMv8 PSCI framework.
+         If the PPA firmware locate at XIP flash, such as NOR or
+         QSPI flash, this address is a directly memory-mapped.
+         If it is in a serial accessed flash, such as NAND and SD
+         card, it is a byte offset.
+
+config SYS_LS_PPA_ESBC_ADDR
+       hex "hdr address of PPA firmware loading from"
+       depends on FSL_LS_PPA && CHAIN_OF_TRUST
+       default 0x600c0000 if SYS_LS_PPA_FW_IN_XIP && ARCH_LS1043A
+       default 0x40740000 if SYS_LS_PPA_FW_IN_XIP && ARCH_LS1046A
+       default 0x40480000 if SYS_LS_PPA_FW_IN_XIP && ARCH_LS1012A
+       default 0x580c40000 if SYS_LS_PPA_FW_IN_XIP && FSL_LSCH3
+       help
+         If the PPA header firmware locate at XIP flash, such as NOR or
+         QSPI flash, this address is a directly memory-mapped.
+         If it is in a serial accessed flash, such as NAND and SD
+         card, it is a byte offset.
+
 endmenu
 
 config SYS_FSL_ERRATUM_A010315
@@ -245,6 +317,16 @@ config SYS_FSL_SDHC_CLK_DIV
          clock, in another word SDHC_clk = Platform_clk / this_divider.
 endmenu
 
+config RESV_RAM
+       bool
+       help
+         Reserve memory from the top, tracked by gd->arch.resv_ram. This
+         reserved RAM can be used by special driver that resides in memory
+         after U-Boot exits. It's up to implementation to allocate and allow
+         access to this reserved memory. For example, the reserved RAM can
+         be at the high end of physical memory. The reserve RAM may be
+         excluded from memory bank(s) passed to OS, or marked as reserved.
+
 config SYS_FSL_ERRATUM_A008336
        bool
 
@@ -257,6 +339,9 @@ config SYS_FSL_ERRATUM_A008585
 config SYS_FSL_ERRATUM_A008850
        bool
 
+config SYS_FSL_ERRATUM_A009203
+       bool
+
 config SYS_FSL_ERRATUM_A009635
        bool
 
@@ -265,3 +350,11 @@ config SYS_FSL_ERRATUM_A009660
 
 config SYS_FSL_ERRATUM_A009929
        bool
+
+config SYS_MC_RSV_MEM_ALIGN
+       hex "Management Complex reserved memory alignment"
+       depends on RESV_RAM
+       default 0x20000000
+       help
+         Reserved memory needs to be aligned for MC to use. Default value
+         is 512MB.