rk3026: i2s add several attempts to double confirm i2s frac effect
[firefly-linux-kernel-4.4.55.git] / arch / arm / Kconfig
index 64513a1050f8debf9b6c4c68935839cfcf9cd9ff..99490bb1bc09ced5bf00029ff986ec5454aad2c5 100644 (file)
@@ -879,11 +879,27 @@ config ARCH_RK2928
        select RK_PL330_DMA
        select MIGHT_HAVE_CACHE_L2X0
        select ARM_ERRATA_754322
+       select ARM_ERRATA_775420
        help
          Support for Rockchip's RK2928 SoCs.
 
+config ARCH_RK3026
+       bool "Rockchip RK3026/RK3028A"
+       select PLAT_RK
+       select CPU_V7
+       select ARM_GIC
+       select RK_PL330_DMA
+       select RK_TIMER
+       select HAVE_ARM_TWD if LOCAL_TIMERS
+       select HAVE_SMP
+       select MIGHT_HAVE_CACHE_L2X0
+       select ARM_ERRATA_754322
+       select ARM_ERRATA_764369
+       help
+         Support for Rockchip's RK3026/RK3028A SoCs.
+
 config ARCH_RK30
-       bool "Rockchip RK30xx"
+       bool "Rockchip RK30xx/RK3108/RK3168"
        select PLAT_RK
        select CPU_V7
        select ARM_GIC
@@ -892,8 +908,41 @@ config ARCH_RK30
        select MIGHT_HAVE_CACHE_L2X0
        select ARM_ERRATA_764369
        select ARM_ERRATA_754322
+       select ARM_ERRATA_775420
        help
-         Support for Rockchip's RK30xx SoCs.
+         Support for Rockchip's RK30xx/RK3108/RK3168 SoCs.
+
+config ARCH_RK3188
+       bool "Rockchip RK3188"
+       select PLAT_RK
+       select CPU_V7
+       select ARM_GIC
+       select RK_PL330_DMA
+       select RK_TIMER
+       select HAVE_SMP
+       select MIGHT_HAVE_CACHE_L2X0
+       select ARM_ERRATA_761320
+       select ARM_ERRATA_764369
+       select ARM_ERRATA_754322
+       select ARM_ERRATA_775420
+       help
+         Support for Rockchip's RK3188 SoCs.
+
+config ARCH_RK319X
+       bool "Rockchip RK319X"
+       select PLAT_RK
+       select CPU_V7
+       select ARM_GIC
+       select RK_PL330_DMA
+       select RK_TIMER
+       select HAVE_SMP
+       select MIGHT_HAVE_CACHE_L2X0
+       select ARM_ERRATA_761320 if SMP
+       select ARM_ERRATA_764369 if SMP
+       select ARM_ERRATA_754322
+       select ARM_ERRATA_775420
+       help
+         Support for Rockchip's RK319X SoCs.
 
 config PLAT_SPEAR
        bool "ST SPEAr"
@@ -998,7 +1047,10 @@ source "arch/arm/mach-realview/Kconfig"
 source "arch/arm/plat-rk/Kconfig"
 source "arch/arm/mach-rk29/Kconfig"
 source "arch/arm/mach-rk2928/Kconfig"
+source "arch/arm/mach-rk3026/Kconfig"
 source "arch/arm/mach-rk30/Kconfig"
+source "arch/arm/mach-rk3188/Kconfig"
+source "arch/arm/mach-rk319x/Kconfig"
 
 source "arch/arm/mach-sa1100/Kconfig"
 
@@ -1073,6 +1125,9 @@ config PLAT_RK
        select ARCH_HAS_CPUFREQ
        select GENERIC_CLOCKEVENTS
        select ARCH_REQUIRE_GPIOLIB
+       select SYNC
+       select SW_SYNC
+       select SW_SYNC_USER
 
 config PLAT_VERSATILE
        bool
@@ -1284,6 +1339,12 @@ config ARM_ERRATA_754327
          This workaround defines cpu_relax() as smp_mb(), preventing correctly
          written polling loops from denying visibility of updates to memory.
 
+config ARM_ERRATA_761320
+       bool "ARM errata: no direct eviction"
+       depends on CPU_V7 && SMP
+       help
+         This option enables the workaround for the 761320 Cortex-A9 erratum.
+
 config ARM_ERRATA_764369
        bool "ARM errata: Data cache line maintenance operation by MVA may not succeed"
        depends on CPU_V7 && SMP
@@ -1310,6 +1371,16 @@ config PL310_ERRATA_769419
          on systems with an outer cache, the store buffer is drained
          explicitly.
 
+config ARM_ERRATA_775420
+       bool "ARM errata: A data cache maintenance operation which aborts, might lead to deadlock"
+       depends on CPU_V7
+       help
+        This option enables the workaround for the 775420 Cortex-A9 (r2p2,
+        r2p6,r2p8,r2p10,r3p0) erratum. In case a date cache maintenance
+        operation aborts with MMU exception, it might cause the processor
+        to deadlock. This workaround puts DSB before executing ISB if
+        an abort may occur on cache maintenance.
+
 endmenu
 
 source "arch/arm/common/Kconfig"
@@ -1480,7 +1551,7 @@ config LOCAL_TIMERS
        bool "Use local timer interrupts"
        depends on SMP
        default y
-       select HAVE_ARM_TWD if (!ARCH_MSM_SCORPIONMP && !EXYNOS4_MCT)
+       select HAVE_ARM_TWD if (!ARCH_MSM_SCORPIONMP && !EXYNOS4_MCT && !RK_TIMER)
        help
          Enable support for local timers on SMP platforms, rather then the
          legacy IPI broadcast method.  Local timers allows the system