From b473cd8085ff1987e61fd283906815730a06be05 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Mon, 7 Dec 2015 19:20:40 +0000 Subject: [PATCH] bcm53xx: use backported BCM5301X patches from stblinux soc/next MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Rafał Miłecki SVN-Revision: 47807 --- ...an-up-SMP-support-for-Broadcom-Kona.patch} | 78 +++++++++++++++---- ...CM-Add-SMP-support-for-Broadcom-NSP.patch} | 33 +++++++- ...M-Add-SMP-support-for-Broadcom-4708.patch} | 38 ++++----- 3 files changed, 109 insertions(+), 40 deletions(-) rename target/linux/bcm53xx/patches-4.4/{131-ARM-BCM-Clean-up-SMP-support-for-Broadcom-Kona.patch => 022-ARM-BCM-Clean-up-SMP-support-for-Broadcom-Kona.patch} (67%) rename target/linux/bcm53xx/patches-4.4/{133-ARM-BCM-Add-SMP-support-for-Broadcom-NSP.patch => 023-ARM-BCM-Add-SMP-support-for-Broadcom-NSP.patch} (94%) rename target/linux/bcm53xx/patches-4.4/{134-ARM-BCM-Add-SMP-support-for-Broadcom-4708.patch => 024-ARM-BCM-Add-SMP-support-for-Broadcom-4708.patch} (57%) diff --git a/target/linux/bcm53xx/patches-4.4/131-ARM-BCM-Clean-up-SMP-support-for-Broadcom-Kona.patch b/target/linux/bcm53xx/patches-4.4/022-ARM-BCM-Clean-up-SMP-support-for-Broadcom-Kona.patch similarity index 67% rename from target/linux/bcm53xx/patches-4.4/131-ARM-BCM-Clean-up-SMP-support-for-Broadcom-Kona.patch rename to target/linux/bcm53xx/patches-4.4/022-ARM-BCM-Clean-up-SMP-support-for-Broadcom-Kona.patch index 7a48a13e64..c79cf95fd8 100644 --- a/target/linux/bcm53xx/patches-4.4/131-ARM-BCM-Clean-up-SMP-support-for-Broadcom-Kona.patch +++ b/target/linux/bcm53xx/patches-4.4/022-ARM-BCM-Clean-up-SMP-support-for-Broadcom-Kona.patch @@ -1,51 +1,99 @@ -From 8622d6da5d95293d474c156612fd819fdaf542ec Mon Sep 17 00:00:00 2001 +From b5989f783de046577067fe356b1bb76cae07e867 Mon Sep 17 00:00:00 2001 From: Kapil Hali -Date: Wed, 25 Nov 2015 08:58:53 -0500 -Subject: [PATCH 131/134] ARM: BCM: Clean up SMP support for Broadcom Kona +Date: Sat, 5 Dec 2015 06:53:41 -0500 +Subject: [PATCH] ARM: BCM: Clean up SMP support for Broadcom Kona These changes cleans up SMP implementaion for Broadcom's Kona SoC which are required for handling SMP for iProc family of SoCs at a single place for BCM NSP and BCM Kona. Signed-off-by: Kapil Hali +Signed-off-by: Florian Fainelli --- - arch/arm/boot/dts/bcm11351.dtsi | 2 +- - arch/arm/boot/dts/bcm21664.dtsi | 2 +- - arch/arm/mach-bcm/kona_smp.c | 82 +++++++++++++++++++++++++++-------------- - 3 files changed, 56 insertions(+), 30 deletions(-) + .../bindings/arm/bcm/brcm,bcm11351-cpu-method.txt | 12 ++-- + arch/arm/boot/dts/bcm11351.dtsi | 4 +- + arch/arm/boot/dts/bcm21664.dtsi | 4 +- + arch/arm/mach-bcm/kona_smp.c | 82 ++++++++++++++-------- + 4 files changed, 64 insertions(+), 38 deletions(-) +--- a/Documentation/devicetree/bindings/arm/bcm/brcm,bcm11351-cpu-method.txt ++++ b/Documentation/devicetree/bindings/arm/bcm/brcm,bcm11351-cpu-method.txt +@@ -1,17 +1,17 @@ + Broadcom Kona Family CPU Enable Method + -------------------------------------- + This binding defines the enable method used for starting secondary +-CPUs in the following Broadcom SoCs: ++CPU in the following Broadcom SoCs: + BCM11130, BCM11140, BCM11351, BCM28145, BCM28155, BCM21664 + + The enable method is specified by defining the following required +-properties in the "cpus" device tree node: ++properties in the corresponding secondary "cpu" device tree node: + - enable-method = "brcm,bcm11351-cpu-method"; + - secondary-boot-reg = <...>; + + The secondary-boot-reg property is a u32 value that specifies the +-physical address of the register used to request the ROM holding pen +-code release a secondary CPU. The value written to the register is ++physical address of the register used to request the ROM code ++release a secondary CPU. The value written to the register is + formed by encoding the target CPU id into the low bits of the + physical start address it should jump to. + +@@ -19,8 +19,6 @@ Example: + cpus { + #address-cells = <1>; + #size-cells = <0>; +- enable-method = "brcm,bcm11351-cpu-method"; +- secondary-boot-reg = <0x3500417c>; + + cpu0: cpu@0 { + device_type = "cpu"; +@@ -31,6 +29,8 @@ Example: + cpu1: cpu@1 { + device_type = "cpu"; + compatible = "arm,cortex-a9"; ++ enable-method = "brcm,bcm11351-cpu-method"; ++ secondary-boot-reg = <0x3500417c>; + reg = <1>; + }; + }; --- a/arch/arm/boot/dts/bcm11351.dtsi +++ b/arch/arm/boot/dts/bcm11351.dtsi -@@ -31,7 +31,6 @@ +@@ -30,8 +30,6 @@ + cpus { #address-cells = <1>; #size-cells = <0>; - enable-method = "brcm,bcm11351-cpu-method"; +- enable-method = "brcm,bcm11351-cpu-method"; - secondary-boot-reg = <0x3500417c>; cpu0: cpu@0 { device_type = "cpu"; -@@ -42,6 +41,7 @@ +@@ -42,6 +40,8 @@ cpu1: cpu@1 { device_type = "cpu"; compatible = "arm,cortex-a9"; ++ enable-method = "brcm,bcm11351-cpu-method"; + secondary-boot-reg = <0x3500417c>; reg = <1>; }; }; --- a/arch/arm/boot/dts/bcm21664.dtsi +++ b/arch/arm/boot/dts/bcm21664.dtsi -@@ -31,7 +31,6 @@ +@@ -30,8 +30,6 @@ + cpus { #address-cells = <1>; #size-cells = <0>; - enable-method = "brcm,bcm11351-cpu-method"; +- enable-method = "brcm,bcm11351-cpu-method"; - secondary-boot-reg = <0x35004178>; cpu0: cpu@0 { device_type = "cpu"; -@@ -42,6 +41,7 @@ +@@ -42,6 +40,8 @@ cpu1: cpu@1 { device_type = "cpu"; compatible = "arm,cortex-a9"; ++ enable-method = "brcm,bcm11351-cpu-method"; + secondary-boot-reg = <0x35004178>; reg = <1>; }; @@ -169,7 +217,7 @@ Signed-off-by: Kapil Hali { void __iomem *boot_reg; phys_addr_t boot_func; -@@ -154,15 +179,16 @@ static int bcm_boot_secondary(unsigned i +@@ -154,15 +179,16 @@ static int bcm_boot_secondary(unsigned int cpu, struct task_struct *idle) return -EINVAL; } @@ -189,7 +237,7 @@ Signed-off-by: Kapil Hali } /* -@@ -191,12 +217,12 @@ static int bcm_boot_secondary(unsigned i +@@ -191,12 +217,12 @@ static int bcm_boot_secondary(unsigned int cpu, struct task_struct *idle) pr_err("timeout waiting for cpu %u to start\n", cpu_id); diff --git a/target/linux/bcm53xx/patches-4.4/133-ARM-BCM-Add-SMP-support-for-Broadcom-NSP.patch b/target/linux/bcm53xx/patches-4.4/023-ARM-BCM-Add-SMP-support-for-Broadcom-NSP.patch similarity index 94% rename from target/linux/bcm53xx/patches-4.4/133-ARM-BCM-Add-SMP-support-for-Broadcom-NSP.patch rename to target/linux/bcm53xx/patches-4.4/023-ARM-BCM-Add-SMP-support-for-Broadcom-NSP.patch index 75db188ca2..fb592415e9 100644 --- a/target/linux/bcm53xx/patches-4.4/133-ARM-BCM-Add-SMP-support-for-Broadcom-NSP.patch +++ b/target/linux/bcm53xx/patches-4.4/023-ARM-BCM-Add-SMP-support-for-Broadcom-NSP.patch @@ -1,7 +1,7 @@ -From e99fb6d01cddf38cffc11655aba4a96a981d604e Mon Sep 17 00:00:00 2001 +From 55be958cd27439a58c4d9369d6fe2a1f83efdaa6 Mon Sep 17 00:00:00 2001 From: Kapil Hali -Date: Wed, 25 Nov 2015 13:25:55 -0500 -Subject: [PATCH 133/134] ARM: BCM: Add SMP support for Broadcom NSP +Date: Sat, 5 Dec 2015 06:53:43 -0500 +Subject: [PATCH] ARM: BCM: Add SMP support for Broadcom NSP Add SMP support for Broadcom's Northstar Plus SoC cpu enable method. This changes also consolidates @@ -14,6 +14,7 @@ Errata 764369 for SMP. This change adds the needed configuration option. Signed-off-by: Kapil Hali +Signed-off-by: Florian Fainelli --- arch/arm/mach-bcm/Kconfig | 2 + arch/arm/mach-bcm/Makefile | 8 +- @@ -23,9 +24,33 @@ Signed-off-by: Kapil Hali delete mode 100644 arch/arm/mach-bcm/kona_smp.c create mode 100644 arch/arm/mach-bcm/platsmp.c +--- a/arch/arm/mach-bcm/Kconfig ++++ b/arch/arm/mach-bcm/Kconfig +@@ -40,6 +40,8 @@ config ARCH_BCM_NSP + select ARCH_BCM_IPROC + select ARM_ERRATA_754322 + select ARM_ERRATA_775420 ++ select ARM_ERRATA_764369 if SMP ++ select HAVE_SMP + help + Support for Broadcom Northstar Plus SoC. + Broadcom Northstar Plus family of SoCs are used for switching control --- a/arch/arm/mach-bcm/Makefile +++ b/arch/arm/mach-bcm/Makefile -@@ -23,7 +23,7 @@ obj-$(CONFIG_ARCH_BCM_281XX) += board_bc +@@ -14,7 +14,11 @@ + obj-$(CONFIG_ARCH_BCM_CYGNUS) += bcm_cygnus.o + + # Northstar Plus +-obj-$(CONFIG_ARCH_BCM_NSP) += bcm_nsp.o ++obj-$(CONFIG_ARCH_BCM_NSP) += bcm_nsp.o ++ ++ifeq ($(CONFIG_ARCH_BCM_NSP),y) ++obj-$(CONFIG_SMP) += platsmp.o ++endif + + # BCM281XX + obj-$(CONFIG_ARCH_BCM_281XX) += board_bcm281xx.o +@@ -23,7 +27,7 @@ obj-$(CONFIG_ARCH_BCM_281XX) += board_bcm281xx.o obj-$(CONFIG_ARCH_BCM_21664) += board_bcm21664.o # BCM281XX and BCM21664 SMP support diff --git a/target/linux/bcm53xx/patches-4.4/134-ARM-BCM-Add-SMP-support-for-Broadcom-4708.patch b/target/linux/bcm53xx/patches-4.4/024-ARM-BCM-Add-SMP-support-for-Broadcom-4708.patch similarity index 57% rename from target/linux/bcm53xx/patches-4.4/134-ARM-BCM-Add-SMP-support-for-Broadcom-4708.patch rename to target/linux/bcm53xx/patches-4.4/024-ARM-BCM-Add-SMP-support-for-Broadcom-4708.patch index 3c8aed03b2..e38b0e528f 100644 --- a/target/linux/bcm53xx/patches-4.4/134-ARM-BCM-Add-SMP-support-for-Broadcom-4708.patch +++ b/target/linux/bcm53xx/patches-4.4/024-ARM-BCM-Add-SMP-support-for-Broadcom-4708.patch @@ -1,7 +1,7 @@ -From 16e1bf7dde22ee22a331aabf824cc31a6794a4cb Mon Sep 17 00:00:00 2001 +From af0783a87a365e87e5ee0ac0ba7e3075abc5007c Mon Sep 17 00:00:00 2001 From: Jon Mason -Date: Thu, 15 Oct 2015 14:09:10 -0400 -Subject: [PATCH 134/134] ARM: BCM: Add SMP support for Broadcom 4708 +Date: Sat, 5 Dec 2015 06:53:44 -0500 +Subject: [PATCH] ARM: BCM: Add SMP support for Broadcom 4708 Add SMP support for Broadcom's 4708 SoCs. @@ -9,43 +9,39 @@ Signed-off-by: Jon Mason Acked-by: Hauke Mehrtens Tested-by: Hauke Mehrtens Signed-off-by: Kapil Hali +Signed-off-by: Florian Fainelli --- - arch/arm/boot/dts/bcm4708.dtsi | 2 ++ + arch/arm/boot/dts/bcm4708.dtsi | 3 ++- arch/arm/mach-bcm/Kconfig | 1 + arch/arm/mach-bcm/Makefile | 3 +++ - 3 files changed, 6 insertions(+) + 3 files changed, 6 insertions(+), 1 deletion(-) --- a/arch/arm/boot/dts/bcm4708.dtsi +++ b/arch/arm/boot/dts/bcm4708.dtsi -@@ -15,6 +15,7 @@ - cpus { - #address-cells = <1>; - #size-cells = <0>; -+ enable-method = "brcm,bcm-nsp-smp"; - - cpu@0 { - device_type = "cpu"; -@@ -27,6 +28,7 @@ +@@ -27,8 +27,9 @@ device_type = "cpu"; compatible = "arm,cortex-a9"; next-level-cache = <&L2>; ++ enable-method = "brcm,bcm-nsp-smp"; + secondary-boot-reg = <0xffff0400>; reg = <0x1>; }; }; +- + }; --- a/arch/arm/mach-bcm/Kconfig +++ b/arch/arm/mach-bcm/Kconfig -@@ -55,6 +55,7 @@ config ARCH_BCM_5301X - select ARM_ERRATA_754322 - select ARM_ERRATA_775420 - select ARM_ERRATA_764369 if SMP +@@ -29,6 +29,7 @@ config ARCH_BCM_IPROC + config ARCH_BCM_CYGNUS + bool "Broadcom Cygnus Support" if ARCH_MULTI_V7 + select ARCH_BCM_IPROC + select HAVE_SMP - help - Support for Broadcom BCM470X and BCM5301X SoCs with ARM CPU cores. + Enable support for the Cygnus family, + which includes the following variants: --- a/arch/arm/mach-bcm/Makefile +++ b/arch/arm/mach-bcm/Makefile -@@ -39,6 +39,9 @@ obj-$(CONFIG_ARCH_BCM2835) += board_bcm2 +@@ -43,6 +43,9 @@ obj-$(CONFIG_ARCH_BCM2835) += board_bcm2835.o # BCM5301X obj-$(CONFIG_ARCH_BCM_5301X) += bcm_5301x.o -- 2.25.1