bcm53xx: activate workarounds for erratas
authorhauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 2 Dec 2015 15:19:29 +0000 (15:19 +0000)
committerhauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 2 Dec 2015 15:19:29 +0000 (15:19 +0000)
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@47686 3c298f89-4303-0410-b956-a3cf2f4a3e73

target/linux/bcm53xx/config-4.1
target/linux/bcm53xx/config-4.3
target/linux/bcm53xx/patches-4.1/020-ARM-BCM5310X-activate-erratas-needed-for-SoC.patch [new file with mode: 0644]
target/linux/bcm53xx/patches-4.1/131-ARM-BCM-Add-SMP-support-for-Broadcom-4708.patch
target/linux/bcm53xx/patches-4.3/020-ARM-BCM5310X-activate-erratas-needed-for-SoC.patch [new file with mode: 0644]
target/linux/bcm53xx/patches-4.3/131-ARM-BCM-Add-SMP-support-for-Broadcom-4708.patch

index e2d122b..560e3d7 100644 (file)
@@ -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
index 16705a1..337c598 100644 (file)
@@ -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 (file)
index 0000000..d1868f3
--- /dev/null
@@ -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.
index 4cd0473..a23aa5d 100644 (file)
@@ -27,15 +27,14 @@ Signed-off-by: Jon Mason <jonmason@broadcom.com>
                        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 (file)
index 0000000..d1868f3
--- /dev/null
@@ -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.
index ad1c771..ec07be5 100644 (file)
@@ -27,15 +27,14 @@ Signed-off-by: Jon Mason <jonmason@broadcom.com>
                        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