bcm53xx: activate workarounds for erratas
This also deactivates some workaround for erratas only seen in older CPU cores and L2 cores not used in this SoC. This partly reverts commit r44947. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> SVN-Revision: 47686
This commit is contained in:
parent
1d1c9d56dd
commit
c03f264f6d
6 changed files with 80 additions and 25 deletions
|
@ -1,5 +1,4 @@
|
||||||
CONFIG_ALIGNMENT_TRAP=y
|
CONFIG_ALIGNMENT_TRAP=y
|
||||||
# CONFIG_ARCH_ALPINE is not set
|
|
||||||
CONFIG_ARCH_BCM=y
|
CONFIG_ARCH_BCM=y
|
||||||
# CONFIG_ARCH_BCM_21664 is not set
|
# CONFIG_ARCH_BCM_21664 is not set
|
||||||
# CONFIG_ARCH_BCM_281XX is not set
|
# CONFIG_ARCH_BCM_281XX is not set
|
||||||
|
@ -40,7 +39,6 @@ CONFIG_ARM_APPENDED_DTB=y
|
||||||
CONFIG_ARM_ERRATA_754322=y
|
CONFIG_ARM_ERRATA_754322=y
|
||||||
CONFIG_ARM_ERRATA_764369=y
|
CONFIG_ARM_ERRATA_764369=y
|
||||||
CONFIG_ARM_ERRATA_775420=y
|
CONFIG_ARM_ERRATA_775420=y
|
||||||
CONFIG_ARM_ERRATA_798181=y
|
|
||||||
CONFIG_ARM_GIC=y
|
CONFIG_ARM_GIC=y
|
||||||
CONFIG_ARM_GLOBAL_TIMER=y
|
CONFIG_ARM_GLOBAL_TIMER=y
|
||||||
CONFIG_ARM_HAS_SG_CHAIN=y
|
CONFIG_ARM_HAS_SG_CHAIN=y
|
||||||
|
@ -98,6 +96,8 @@ CONFIG_CPU_V7=y
|
||||||
CONFIG_CRC16=y
|
CONFIG_CRC16=y
|
||||||
CONFIG_CRYPTO_DEFLATE=y
|
CONFIG_CRYPTO_DEFLATE=y
|
||||||
CONFIG_CRYPTO_LZO=y
|
CONFIG_CRYPTO_LZO=y
|
||||||
|
CONFIG_CRYPTO_RNG2=y
|
||||||
|
CONFIG_CRYPTO_WORKQUEUE=y
|
||||||
CONFIG_CRYPTO_XZ=y
|
CONFIG_CRYPTO_XZ=y
|
||||||
CONFIG_DCACHE_WORD_ACCESS=y
|
CONFIG_DCACHE_WORD_ACCESS=y
|
||||||
CONFIG_DEBUG_BCM_5301X=y
|
CONFIG_DEBUG_BCM_5301X=y
|
||||||
|
@ -253,9 +253,9 @@ CONFIG_PGTABLE_LEVELS=2
|
||||||
CONFIG_PHYLIB=y
|
CONFIG_PHYLIB=y
|
||||||
CONFIG_PINCTRL=y
|
CONFIG_PINCTRL=y
|
||||||
# CONFIG_PL310_ERRATA_588369 is not set
|
# CONFIG_PL310_ERRATA_588369 is not set
|
||||||
CONFIG_PL310_ERRATA_727915=y
|
# CONFIG_PL310_ERRATA_727915 is not set
|
||||||
CONFIG_PL310_ERRATA_753970=y
|
# CONFIG_PL310_ERRATA_753970 is not set
|
||||||
CONFIG_PL310_ERRATA_769419=y
|
# CONFIG_PL310_ERRATA_769419 is not set
|
||||||
CONFIG_RCU_STALL_COMMON=y
|
CONFIG_RCU_STALL_COMMON=y
|
||||||
CONFIG_RFS_ACCEL=y
|
CONFIG_RFS_ACCEL=y
|
||||||
CONFIG_RPS=y
|
CONFIG_RPS=y
|
||||||
|
|
|
@ -39,7 +39,6 @@ CONFIG_ARM_APPENDED_DTB=y
|
||||||
CONFIG_ARM_ERRATA_754322=y
|
CONFIG_ARM_ERRATA_754322=y
|
||||||
CONFIG_ARM_ERRATA_764369=y
|
CONFIG_ARM_ERRATA_764369=y
|
||||||
CONFIG_ARM_ERRATA_775420=y
|
CONFIG_ARM_ERRATA_775420=y
|
||||||
CONFIG_ARM_ERRATA_798181=y
|
|
||||||
CONFIG_ARM_GIC=y
|
CONFIG_ARM_GIC=y
|
||||||
CONFIG_ARM_GLOBAL_TIMER=y
|
CONFIG_ARM_GLOBAL_TIMER=y
|
||||||
CONFIG_ARM_HAS_SG_CHAIN=y
|
CONFIG_ARM_HAS_SG_CHAIN=y
|
||||||
|
@ -98,7 +97,6 @@ CONFIG_CPU_TLB_V7=y
|
||||||
CONFIG_CPU_V7=y
|
CONFIG_CPU_V7=y
|
||||||
CONFIG_CRC16=y
|
CONFIG_CRC16=y
|
||||||
CONFIG_CRYPTO_DEFLATE=y
|
CONFIG_CRYPTO_DEFLATE=y
|
||||||
# CONFIG_CRYPTO_JITTERENTROPY is not set
|
|
||||||
CONFIG_CRYPTO_LZO=y
|
CONFIG_CRYPTO_LZO=y
|
||||||
CONFIG_CRYPTO_RNG2=y
|
CONFIG_CRYPTO_RNG2=y
|
||||||
CONFIG_CRYPTO_WORKQUEUE=y
|
CONFIG_CRYPTO_WORKQUEUE=y
|
||||||
|
@ -209,7 +207,6 @@ CONFIG_LIBFDT=y
|
||||||
CONFIG_LOCK_SPIN_ON_OWNER=y
|
CONFIG_LOCK_SPIN_ON_OWNER=y
|
||||||
CONFIG_LZO_COMPRESS=y
|
CONFIG_LZO_COMPRESS=y
|
||||||
CONFIG_LZO_DECOMPRESS=y
|
CONFIG_LZO_DECOMPRESS=y
|
||||||
CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
|
|
||||||
CONFIG_MDIO_BOARDINFO=y
|
CONFIG_MDIO_BOARDINFO=y
|
||||||
CONFIG_MIGHT_HAVE_CACHE_L2X0=y
|
CONFIG_MIGHT_HAVE_CACHE_L2X0=y
|
||||||
CONFIG_MIGHT_HAVE_PCI=y
|
CONFIG_MIGHT_HAVE_PCI=y
|
||||||
|
@ -263,9 +260,9 @@ CONFIG_PGTABLE_LEVELS=2
|
||||||
CONFIG_PHYLIB=y
|
CONFIG_PHYLIB=y
|
||||||
CONFIG_PINCTRL=y
|
CONFIG_PINCTRL=y
|
||||||
# CONFIG_PL310_ERRATA_588369 is not set
|
# CONFIG_PL310_ERRATA_588369 is not set
|
||||||
CONFIG_PL310_ERRATA_727915=y
|
# CONFIG_PL310_ERRATA_727915 is not set
|
||||||
CONFIG_PL310_ERRATA_753970=y
|
# CONFIG_PL310_ERRATA_753970 is not set
|
||||||
CONFIG_PL310_ERRATA_769419=y
|
# CONFIG_PL310_ERRATA_769419 is not set
|
||||||
CONFIG_RCU_STALL_COMMON=y
|
CONFIG_RCU_STALL_COMMON=y
|
||||||
CONFIG_RFS_ACCEL=y
|
CONFIG_RFS_ACCEL=y
|
||||||
CONFIG_RPS=y
|
CONFIG_RPS=y
|
||||||
|
@ -292,7 +289,6 @@ CONFIG_STOP_MACHINE=y
|
||||||
CONFIG_SWCONFIG=y
|
CONFIG_SWCONFIG=y
|
||||||
CONFIG_SWIOTLB=y
|
CONFIG_SWIOTLB=y
|
||||||
CONFIG_SWP_EMULATE=y
|
CONFIG_SWP_EMULATE=y
|
||||||
# CONFIG_SYSTEM_DATA_VERIFICATION is not set
|
|
||||||
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
|
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
|
||||||
# CONFIG_THUMB2_KERNEL is not set
|
# CONFIG_THUMB2_KERNEL is not set
|
||||||
CONFIG_TICK_CPU_ACCOUNTING=y
|
CONFIG_TICK_CPU_ACCOUNTING=y
|
||||||
|
@ -302,7 +298,6 @@ CONFIG_UBIFS_FS=y
|
||||||
CONFIG_UBIFS_FS_LZO=y
|
CONFIG_UBIFS_FS_LZO=y
|
||||||
CONFIG_UBIFS_FS_XZ=y
|
CONFIG_UBIFS_FS_XZ=y
|
||||||
CONFIG_UBIFS_FS_ZLIB=y
|
CONFIG_UBIFS_FS_ZLIB=y
|
||||||
CONFIG_UID16=y
|
|
||||||
CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h"
|
CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h"
|
||||||
CONFIG_USB_SUPPORT=y
|
CONFIG_USB_SUPPORT=y
|
||||||
CONFIG_USE_OF=y
|
CONFIG_USE_OF=y
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
From f4ce7effe2253a325f8ba182903cbdf0d8698593 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Hauke Mehrtens <hauke@hauke-m.de>
|
||||||
|
Date: Sat, 21 Nov 2015 15:29:47 +0100
|
||||||
|
Subject: [PATCH] ARM: BCM5310X: activate erratas needed for SoC
|
||||||
|
|
||||||
|
The BCM4708 I have, which is probably the first generation which got
|
||||||
|
to the consumer market, is using a ARM Cortex-A9 rev r3p0 and a
|
||||||
|
L2C-310 rev r3p2 L2 cache controller. There are 3 workarounds for known
|
||||||
|
erratas in the Linux kernel which could be activated and will be in
|
||||||
|
this patch. There are currently no workarounds which have to be
|
||||||
|
activated for the L2C-310 rev r3p2 in Linux.
|
||||||
|
|
||||||
|
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
||||||
|
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||||
|
---
|
||||||
|
arch/arm/mach-bcm/Kconfig | 4 ++++
|
||||||
|
1 file changed, 4 insertions(+)
|
||||||
|
|
||||||
|
--- a/arch/arm/mach-bcm/Kconfig
|
||||||
|
+++ b/arch/arm/mach-bcm/Kconfig
|
||||||
|
@@ -38,6 +38,10 @@ config ARCH_BCM_CYGNUS
|
||||||
|
config ARCH_BCM_5301X
|
||||||
|
bool "Broadcom BCM470X / BCM5301X ARM SoC" if ARCH_MULTI_V7
|
||||||
|
select ARCH_BCM_IPROC
|
||||||
|
+ select ARM_ERRATA_754322
|
||||||
|
+ select ARM_ERRATA_775420
|
||||||
|
+ select ARM_ERRATA_764369 if SMP
|
||||||
|
+
|
||||||
|
help
|
||||||
|
Support for Broadcom BCM470X and BCM5301X SoCs with ARM CPU cores.
|
||||||
|
|
|
@ -27,15 +27,14 @@ Signed-off-by: Jon Mason <jonmason@broadcom.com>
|
||||||
device_type = "cpu";
|
device_type = "cpu";
|
||||||
--- a/arch/arm/mach-bcm/Kconfig
|
--- a/arch/arm/mach-bcm/Kconfig
|
||||||
+++ b/arch/arm/mach-bcm/Kconfig
|
+++ b/arch/arm/mach-bcm/Kconfig
|
||||||
@@ -38,6 +38,8 @@ config ARCH_BCM_CYGNUS
|
@@ -41,6 +41,7 @@ config ARCH_BCM_5301X
|
||||||
config ARCH_BCM_5301X
|
select ARM_ERRATA_754322
|
||||||
bool "Broadcom BCM470X / BCM5301X ARM SoC" if ARCH_MULTI_V7
|
select ARM_ERRATA_775420
|
||||||
select ARCH_BCM_IPROC
|
select ARM_ERRATA_764369 if SMP
|
||||||
+ select ARM_ERRATA_764369 if SMP
|
|
||||||
+ select HAVE_SMP
|
+ select HAVE_SMP
|
||||||
|
|
||||||
help
|
help
|
||||||
Support for Broadcom BCM470X and BCM5301X SoCs with ARM CPU cores.
|
Support for Broadcom BCM470X and BCM5301X SoCs with ARM CPU cores.
|
||||||
|
|
||||||
--- a/arch/arm/mach-bcm/Makefile
|
--- a/arch/arm/mach-bcm/Makefile
|
||||||
+++ b/arch/arm/mach-bcm/Makefile
|
+++ b/arch/arm/mach-bcm/Makefile
|
||||||
@@ -36,6 +36,9 @@ obj-$(CONFIG_ARCH_BCM2835) += board_bcm2
|
@@ -36,6 +36,9 @@ obj-$(CONFIG_ARCH_BCM2835) += board_bcm2
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
From f4ce7effe2253a325f8ba182903cbdf0d8698593 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Hauke Mehrtens <hauke@hauke-m.de>
|
||||||
|
Date: Sat, 21 Nov 2015 15:29:47 +0100
|
||||||
|
Subject: [PATCH] ARM: BCM5310X: activate erratas needed for SoC
|
||||||
|
|
||||||
|
The BCM4708 I have, which is probably the first generation which got
|
||||||
|
to the consumer market, is using a ARM Cortex-A9 rev r3p0 and a
|
||||||
|
L2C-310 rev r3p2 L2 cache controller. There are 3 workarounds for known
|
||||||
|
erratas in the Linux kernel which could be activated and will be in
|
||||||
|
this patch. There are currently no workarounds which have to be
|
||||||
|
activated for the L2C-310 rev r3p2 in Linux.
|
||||||
|
|
||||||
|
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
||||||
|
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||||
|
---
|
||||||
|
arch/arm/mach-bcm/Kconfig | 4 ++++
|
||||||
|
1 file changed, 4 insertions(+)
|
||||||
|
|
||||||
|
--- a/arch/arm/mach-bcm/Kconfig
|
||||||
|
+++ b/arch/arm/mach-bcm/Kconfig
|
||||||
|
@@ -38,6 +38,10 @@ config ARCH_BCM_CYGNUS
|
||||||
|
config ARCH_BCM_5301X
|
||||||
|
bool "Broadcom BCM470X / BCM5301X ARM SoC" if ARCH_MULTI_V7
|
||||||
|
select ARCH_BCM_IPROC
|
||||||
|
+ select ARM_ERRATA_754322
|
||||||
|
+ select ARM_ERRATA_775420
|
||||||
|
+ select ARM_ERRATA_764369 if SMP
|
||||||
|
+
|
||||||
|
help
|
||||||
|
Support for Broadcom BCM470X and BCM5301X SoCs with ARM CPU cores.
|
||||||
|
|
|
@ -27,15 +27,14 @@ Signed-off-by: Jon Mason <jonmason@broadcom.com>
|
||||||
device_type = "cpu";
|
device_type = "cpu";
|
||||||
--- a/arch/arm/mach-bcm/Kconfig
|
--- a/arch/arm/mach-bcm/Kconfig
|
||||||
+++ b/arch/arm/mach-bcm/Kconfig
|
+++ b/arch/arm/mach-bcm/Kconfig
|
||||||
@@ -38,6 +38,8 @@ config ARCH_BCM_CYGNUS
|
@@ -41,6 +41,7 @@ config ARCH_BCM_5301X
|
||||||
config ARCH_BCM_5301X
|
select ARM_ERRATA_754322
|
||||||
bool "Broadcom BCM470X / BCM5301X ARM SoC" if ARCH_MULTI_V7
|
select ARM_ERRATA_775420
|
||||||
select ARCH_BCM_IPROC
|
select ARM_ERRATA_764369 if SMP
|
||||||
+ select ARM_ERRATA_764369 if SMP
|
|
||||||
+ select HAVE_SMP
|
+ select HAVE_SMP
|
||||||
|
|
||||||
help
|
help
|
||||||
Support for Broadcom BCM470X and BCM5301X SoCs with ARM CPU cores.
|
Support for Broadcom BCM470X and BCM5301X SoCs with ARM CPU cores.
|
||||||
|
|
||||||
--- a/arch/arm/mach-bcm/Makefile
|
--- a/arch/arm/mach-bcm/Makefile
|
||||||
+++ b/arch/arm/mach-bcm/Makefile
|
+++ b/arch/arm/mach-bcm/Makefile
|
||||||
@@ -36,6 +36,9 @@ obj-$(CONFIG_ARCH_BCM2835) += board_bcm2
|
@@ -36,6 +36,9 @@ obj-$(CONFIG_ARCH_BCM2835) += board_bcm2
|
||||||
|
|
Loading…
Reference in a new issue