From c03f264f6d8a00249ab86574884c615ea8fda5a4 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Wed, 2 Dec 2015 15:19:29 +0000 Subject: [PATCH] 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 SVN-Revision: 47686 --- target/linux/bcm53xx/config-4.1 | 10 +++--- target/linux/bcm53xx/config-4.3 | 11 ++----- ...310X-activate-erratas-needed-for-SoC.patch | 31 +++++++++++++++++++ ...CM-Add-SMP-support-for-Broadcom-4708.patch | 11 +++---- ...310X-activate-erratas-needed-for-SoC.patch | 31 +++++++++++++++++++ ...CM-Add-SMP-support-for-Broadcom-4708.patch | 11 +++---- 6 files changed, 80 insertions(+), 25 deletions(-) create mode 100644 target/linux/bcm53xx/patches-4.1/020-ARM-BCM5310X-activate-erratas-needed-for-SoC.patch create mode 100644 target/linux/bcm53xx/patches-4.3/020-ARM-BCM5310X-activate-erratas-needed-for-SoC.patch diff --git a/target/linux/bcm53xx/config-4.1 b/target/linux/bcm53xx/config-4.1 index e2d122b902..560e3d7716 100644 --- a/target/linux/bcm53xx/config-4.1 +++ b/target/linux/bcm53xx/config-4.1 @@ -1,5 +1,4 @@ CONFIG_ALIGNMENT_TRAP=y -# CONFIG_ARCH_ALPINE is not set CONFIG_ARCH_BCM=y # CONFIG_ARCH_BCM_21664 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_764369=y CONFIG_ARM_ERRATA_775420=y -CONFIG_ARM_ERRATA_798181=y CONFIG_ARM_GIC=y CONFIG_ARM_GLOBAL_TIMER=y CONFIG_ARM_HAS_SG_CHAIN=y @@ -98,6 +96,8 @@ CONFIG_CPU_V7=y CONFIG_CRC16=y CONFIG_CRYPTO_DEFLATE=y CONFIG_CRYPTO_LZO=y +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_WORKQUEUE=y CONFIG_CRYPTO_XZ=y CONFIG_DCACHE_WORD_ACCESS=y CONFIG_DEBUG_BCM_5301X=y @@ -253,9 +253,9 @@ CONFIG_PGTABLE_LEVELS=2 CONFIG_PHYLIB=y CONFIG_PINCTRL=y # CONFIG_PL310_ERRATA_588369 is not set -CONFIG_PL310_ERRATA_727915=y -CONFIG_PL310_ERRATA_753970=y -CONFIG_PL310_ERRATA_769419=y +# CONFIG_PL310_ERRATA_727915 is not set +# CONFIG_PL310_ERRATA_753970 is not set +# CONFIG_PL310_ERRATA_769419 is not set CONFIG_RCU_STALL_COMMON=y CONFIG_RFS_ACCEL=y CONFIG_RPS=y diff --git a/target/linux/bcm53xx/config-4.3 b/target/linux/bcm53xx/config-4.3 index 16705a157e..337c59894d 100644 --- a/target/linux/bcm53xx/config-4.3 +++ b/target/linux/bcm53xx/config-4.3 @@ -39,7 +39,6 @@ CONFIG_ARM_APPENDED_DTB=y CONFIG_ARM_ERRATA_754322=y CONFIG_ARM_ERRATA_764369=y CONFIG_ARM_ERRATA_775420=y -CONFIG_ARM_ERRATA_798181=y CONFIG_ARM_GIC=y CONFIG_ARM_GLOBAL_TIMER=y CONFIG_ARM_HAS_SG_CHAIN=y @@ -98,7 +97,6 @@ CONFIG_CPU_TLB_V7=y CONFIG_CPU_V7=y CONFIG_CRC16=y CONFIG_CRYPTO_DEFLATE=y -# CONFIG_CRYPTO_JITTERENTROPY is not set CONFIG_CRYPTO_LZO=y CONFIG_CRYPTO_RNG2=y CONFIG_CRYPTO_WORKQUEUE=y @@ -209,7 +207,6 @@ CONFIG_LIBFDT=y CONFIG_LOCK_SPIN_ON_OWNER=y CONFIG_LZO_COMPRESS=y CONFIG_LZO_DECOMPRESS=y -CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 CONFIG_MDIO_BOARDINFO=y CONFIG_MIGHT_HAVE_CACHE_L2X0=y CONFIG_MIGHT_HAVE_PCI=y @@ -263,9 +260,9 @@ CONFIG_PGTABLE_LEVELS=2 CONFIG_PHYLIB=y CONFIG_PINCTRL=y # CONFIG_PL310_ERRATA_588369 is not set -CONFIG_PL310_ERRATA_727915=y -CONFIG_PL310_ERRATA_753970=y -CONFIG_PL310_ERRATA_769419=y +# CONFIG_PL310_ERRATA_727915 is not set +# CONFIG_PL310_ERRATA_753970 is not set +# CONFIG_PL310_ERRATA_769419 is not set CONFIG_RCU_STALL_COMMON=y CONFIG_RFS_ACCEL=y CONFIG_RPS=y @@ -292,7 +289,6 @@ CONFIG_STOP_MACHINE=y CONFIG_SWCONFIG=y CONFIG_SWIOTLB=y CONFIG_SWP_EMULATE=y -# CONFIG_SYSTEM_DATA_VERIFICATION is not set CONFIG_SYS_SUPPORTS_APM_EMULATION=y # CONFIG_THUMB2_KERNEL is not set CONFIG_TICK_CPU_ACCOUNTING=y @@ -302,7 +298,6 @@ CONFIG_UBIFS_FS=y CONFIG_UBIFS_FS_LZO=y CONFIG_UBIFS_FS_XZ=y CONFIG_UBIFS_FS_ZLIB=y -CONFIG_UID16=y CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" CONFIG_USB_SUPPORT=y CONFIG_USE_OF=y diff --git a/target/linux/bcm53xx/patches-4.1/020-ARM-BCM5310X-activate-erratas-needed-for-SoC.patch b/target/linux/bcm53xx/patches-4.1/020-ARM-BCM5310X-activate-erratas-needed-for-SoC.patch new file mode 100644 index 0000000000..d1868f3f87 --- /dev/null +++ b/target/linux/bcm53xx/patches-4.1/020-ARM-BCM5310X-activate-erratas-needed-for-SoC.patch @@ -0,0 +1,31 @@ +From f4ce7effe2253a325f8ba182903cbdf0d8698593 Mon Sep 17 00:00:00 2001 +From: Hauke Mehrtens +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 +Signed-off-by: Florian Fainelli +--- + 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. + diff --git a/target/linux/bcm53xx/patches-4.1/131-ARM-BCM-Add-SMP-support-for-Broadcom-4708.patch b/target/linux/bcm53xx/patches-4.1/131-ARM-BCM-Add-SMP-support-for-Broadcom-4708.patch index 4cd0473033..a23aa5df36 100644 --- a/target/linux/bcm53xx/patches-4.1/131-ARM-BCM-Add-SMP-support-for-Broadcom-4708.patch +++ b/target/linux/bcm53xx/patches-4.1/131-ARM-BCM-Add-SMP-support-for-Broadcom-4708.patch @@ -27,15 +27,14 @@ Signed-off-by: Jon Mason device_type = "cpu"; --- a/arch/arm/mach-bcm/Kconfig +++ b/arch/arm/mach-bcm/Kconfig -@@ -38,6 +38,8 @@ 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_764369 if SMP +@@ -41,6 +41,7 @@ config ARCH_BCM_5301X + select ARM_ERRATA_754322 + select ARM_ERRATA_775420 + select ARM_ERRATA_764369 if SMP + select HAVE_SMP + help Support for Broadcom BCM470X and BCM5301X SoCs with ARM CPU cores. - --- a/arch/arm/mach-bcm/Makefile +++ b/arch/arm/mach-bcm/Makefile @@ -36,6 +36,9 @@ obj-$(CONFIG_ARCH_BCM2835) += board_bcm2 diff --git a/target/linux/bcm53xx/patches-4.3/020-ARM-BCM5310X-activate-erratas-needed-for-SoC.patch b/target/linux/bcm53xx/patches-4.3/020-ARM-BCM5310X-activate-erratas-needed-for-SoC.patch new file mode 100644 index 0000000000..d1868f3f87 --- /dev/null +++ b/target/linux/bcm53xx/patches-4.3/020-ARM-BCM5310X-activate-erratas-needed-for-SoC.patch @@ -0,0 +1,31 @@ +From f4ce7effe2253a325f8ba182903cbdf0d8698593 Mon Sep 17 00:00:00 2001 +From: Hauke Mehrtens +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 +Signed-off-by: Florian Fainelli +--- + 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. + diff --git a/target/linux/bcm53xx/patches-4.3/131-ARM-BCM-Add-SMP-support-for-Broadcom-4708.patch b/target/linux/bcm53xx/patches-4.3/131-ARM-BCM-Add-SMP-support-for-Broadcom-4708.patch index ad1c771df7..ec07be5277 100644 --- a/target/linux/bcm53xx/patches-4.3/131-ARM-BCM-Add-SMP-support-for-Broadcom-4708.patch +++ b/target/linux/bcm53xx/patches-4.3/131-ARM-BCM-Add-SMP-support-for-Broadcom-4708.patch @@ -27,15 +27,14 @@ Signed-off-by: Jon Mason device_type = "cpu"; --- a/arch/arm/mach-bcm/Kconfig +++ b/arch/arm/mach-bcm/Kconfig -@@ -38,6 +38,8 @@ 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_764369 if SMP +@@ -41,6 +41,7 @@ config ARCH_BCM_5301X + select ARM_ERRATA_754322 + select ARM_ERRATA_775420 + select ARM_ERRATA_764369 if SMP + select HAVE_SMP + help Support for Broadcom BCM470X and BCM5301X SoCs with ARM CPU cores. - --- a/arch/arm/mach-bcm/Makefile +++ b/arch/arm/mach-bcm/Makefile @@ -36,6 +36,9 @@ obj-$(CONFIG_ARCH_BCM2835) += board_bcm2 -- 2.30.2