Skip to content

Commit

Permalink
Merge tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/g…
Browse files Browse the repository at this point in the history
…it/arm/arm-soc

Pull ARM SoC platform updates from Olof Johansson:
 "Updates for new platform support:

   - New platform: Tango4 from Sigma Designs.
   - Broadcom BCM2836 (Raspberry Pi 2 SoC)
   - Enable cpufreq on Freescale i.MX7D
   - Rockchip: SMP support for rk3036, general support for rk3228
   - SMP support on Broadcom Kona and NSP
   - Cleanups for OMAP removing legacy IOMMU data

  + a bunch of misc fixes and tweaks for various platforms"

* tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (46 commits)
  ARM: tango: Fix UP build issues
  ARM: tango: pass ARM arch level for smc.S
  ARM: bcm2835: Add Kconfig support for bcm2836
  ARM: OMAP2+: Add support for dm814x and dra62x usb
  ARM: OMAP2+: Add mmc hwmod entries for dm814x
  ARM: OMAP2+: Update 81xx clock and power domains for default, active and sgx
  ARM: OMAP2+: Fix SoC detection for dra62x j5-eco
  ARM: tango4: Initial platform support
  ARM: bcm2835: Add a compat string for bcm2836 machine probe
  dt-bindings: Add root properties for Raspberry Pi 2
  ARM: imx: select SRC for i.MX7
  ARM: uniphier: select PINCTRL
  ARM: OMAP2+: Remove device creation for omap-pcm-audio
  ARM: OMAP1: Remove device creation for omap-pcm-audio
  ARM: rockchip: enable support for RK3228 SoCs
  ARM: rockchip: use const and __initconst for rk3036 smp_operations
  ARM: zynq: Select ARCH_HAS_RESET_CONTROLLER
  ARM: BCM: Add SMP support for Broadcom 4708
  ARM: BCM: Add SMP support for Broadcom NSP
  ARM: BCM: Clean up SMP support for Broadcom Kona
  ...
  • Loading branch information
Linus Torvalds committed Jan 21, 2016
2 parents 6b5a12d + d6bd057 commit 1305eda
Show file tree
Hide file tree
Showing 56 changed files with 568 additions and 391 deletions.
4 changes: 4 additions & 0 deletions Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,10 @@ Raspberry Pi Model B+
Required root node properties:
compatible = "raspberrypi,model-b-plus", "brcm,bcm2835";

Raspberry Pi 2 Model B
Required root node properties:
compatible = "raspberrypi,2-model-b", "brcm,bcm2836";

Raspberry Pi Compute Module
Required root node properties:
compatible = "raspberrypi,compute-module", "brcm,bcm2835";
Expand Down
1 change: 1 addition & 0 deletions Documentation/devicetree/bindings/arm/cpus.txt
Original file line number Diff line number Diff line change
Expand Up @@ -202,6 +202,7 @@ nodes to be present and contain the properties described below.
"qcom,gcc-msm8660"
"qcom,kpss-acc-v1"
"qcom,kpss-acc-v2"
"rockchip,rk3036-smp"
"rockchip,rk3066-smp"
"ste,dbx500-smp"

Expand Down
7 changes: 7 additions & 0 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -1602,6 +1602,13 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/stm32.git
N: stm32
F: drivers/clocksource/armv7m_systick.c

ARM/TANGO ARCHITECTURE
M: Marc Gonzalez <marc_gonzalez@sigmadesigns.com>
L: linux-arm-kernel@lists.infradead.org
S: Maintained
F: arch/arm/mach-tango/
F: arch/arm/boot/dts/tango*

ARM/TECHNOLOGIC SYSTEMS TS7250 MACHINE SUPPORT
M: Lennert Buytenhek <kernel@wantstofly.org>
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
Expand Down
2 changes: 2 additions & 0 deletions arch/arm/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -831,6 +831,8 @@ source "arch/arm/mach-sunxi/Kconfig"

source "arch/arm/mach-prima2/Kconfig"

source "arch/arm/mach-tango/Kconfig"

source "arch/arm/mach-tegra/Kconfig"

source "arch/arm/mach-u300/Kconfig"
Expand Down
10 changes: 8 additions & 2 deletions arch/arm/Kconfig.debug
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,12 @@ choice

config DEBUG_BCM2835
bool "Kernel low-level debugging on BCM2835 PL011 UART"
depends on ARCH_BCM2835
depends on ARCH_BCM2835 && ARCH_MULTI_V6
select DEBUG_UART_PL01X

config DEBUG_BCM2836
bool "Kernel low-level debugging on BCM2836 PL011 UART"
depends on ARCH_BCM2835 && ARCH_MULTI_V7
select DEBUG_UART_PL01X

config DEBUG_BCM_5301X
Expand Down Expand Up @@ -1461,6 +1466,7 @@ config DEBUG_UART_PHYS
default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
default 0x20201000 if DEBUG_BCM2835
default 0x3f201000 if DEBUG_BCM2836
default 0x3e000000 if DEBUG_BCM_KONA_UART
default 0x4000e400 if DEBUG_LL_UART_EFM32
default 0x40081000 if DEBUG_LPC18XX_UART0
Expand Down Expand Up @@ -1547,7 +1553,7 @@ config DEBUG_UART_VIRT
default 0xf0000be0 if ARCH_EBSA110
default 0xf0010000 if DEBUG_ASM9260_UART
default 0xf01fb000 if DEBUG_NOMADIK_UART
default 0xf0201000 if DEBUG_BCM2835
default 0xf0201000 if DEBUG_BCM2835 || DEBUG_BCM2836
default 0xf1000300 if DEBUG_BCM_5301X
default 0xf1002000 if DEBUG_MT8127_UART0
default 0xf1006000 if DEBUG_MT6589_UART0
Expand Down
1 change: 1 addition & 0 deletions arch/arm/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,7 @@ machine-$(CONFIG_ARCH_SOCFPGA) += socfpga
machine-$(CONFIG_ARCH_STI) += sti
machine-$(CONFIG_ARCH_STM32) += stm32
machine-$(CONFIG_ARCH_SUNXI) += sunxi
machine-$(CONFIG_ARCH_TANGO) += tango
machine-$(CONFIG_ARCH_TEGRA) += tegra
machine-$(CONFIG_ARCH_U300) += u300
machine-$(CONFIG_ARCH_U8500) += ux500
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/boot/dts/bcm11351.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@
#address-cells = <1>;
#size-cells = <0>;
enable-method = "brcm,bcm11351-cpu-method";
secondary-boot-reg = <0x3500417c>;

cpu0: cpu@0 {
device_type = "cpu";
Expand All @@ -42,6 +41,7 @@
cpu1: cpu@1 {
device_type = "cpu";
compatible = "arm,cortex-a9";
secondary-boot-reg = <0x3500417c>;
reg = <1>;
};
};
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/boot/dts/bcm21664.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@
#address-cells = <1>;
#size-cells = <0>;
enable-method = "brcm,bcm11351-cpu-method";
secondary-boot-reg = <0x35004178>;

cpu0: cpu@0 {
device_type = "cpu";
Expand All @@ -42,6 +41,7 @@
cpu1: cpu@1 {
device_type = "cpu";
compatible = "arm,cortex-a9";
secondary-boot-reg = <0x35004178>;
reg = <1>;
};
};
Expand Down
2 changes: 2 additions & 0 deletions arch/arm/boot/dts/bcm4708.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
cpus {
#address-cells = <1>;
#size-cells = <0>;
enable-method = "brcm,bcm-nsp-smp";

cpu@0 {
device_type = "cpu";
Expand All @@ -27,6 +28,7 @@
device_type = "cpu";
compatible = "arm,cortex-a9";
next-level-cache = <&L2>;
secondary-boot-reg = <0xffff0400>;
reg = <0x1>;
};
};
Expand Down
14 changes: 14 additions & 0 deletions arch/arm/boot/dts/exynos3250.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,20 @@
interrupt-parent = <&gic>;
};

poweroff: syscon-poweroff {
compatible = "syscon-poweroff";
regmap = <&pmu_system_controller>;
offset = <0x330C>; /* PS_HOLD_CONTROL */
mask = <0x5200>; /* Reset value */
};

reboot: syscon-reboot {
compatible = "syscon-reboot";
regmap = <&pmu_system_controller>;
offset = <0x0400>; /* SWRESET */
mask = <0x1>;
};

mipi_phy: video-phy@10020710 {
compatible = "samsung,s5pv210-mipi-video-phy";
#phy-cells = <1>;
Expand Down
14 changes: 14 additions & 0 deletions arch/arm/boot/dts/exynos4.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,20 @@
interrupt-parent = <&gic>;
};

poweroff: syscon-poweroff {
compatible = "syscon-poweroff";
regmap = <&pmu_system_controller>;
offset = <0x330C>; /* PS_HOLD_CONTROL */
mask = <0x5200>; /* reset value */
};

reboot: syscon-reboot {
compatible = "syscon-reboot";
regmap = <&pmu_system_controller>;
offset = <0x0400>; /* SWRESET */
mask = <0x1>;
};

dsi_0: dsi@11C80000 {
compatible = "samsung,exynos4210-mipi-dsi";
reg = <0x11C80000 0x10000>;
Expand Down
14 changes: 14 additions & 0 deletions arch/arm/boot/dts/exynos5.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,20 @@
status = "disabled";
};

poweroff: syscon-poweroff {
compatible = "syscon-poweroff";
regmap = <&pmu_system_controller>;
offset = <0x330C>; /* PS_HOLD_CONTROL */
mask = <0x5200>; /* reset value */
};

reboot: syscon-reboot {
compatible = "syscon-reboot";
regmap = <&pmu_system_controller>;
offset = <0x0400>; /* SWRESET */
mask = <0x1>;
};

fimd: fimd@14400000 {
compatible = "samsung,exynos5250-fimd";
interrupt-parent = <&combiner>;
Expand Down
14 changes: 14 additions & 0 deletions arch/arm/boot/dts/exynos5410.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,20 @@
reg = <0x10040000 0x5000>;
};

poweroff: syscon-poweroff {
compatible = "syscon-poweroff";
regmap = <&pmu_system_controller>;
offset = <0x330C>; /* PS_HOLD_CONTROL */
mask = <0x5200>; /* reset value */
};

reboot: syscon-reboot {
compatible = "syscon-reboot";
regmap = <&pmu_system_controller>;
offset = <0x0400>; /* SWRESET */
mask = <0x1>;
};

mct: mct@101C0000 {
compatible = "samsung,exynos4210-mct";
reg = <0x101C0000 0xB00>;
Expand Down
16 changes: 12 additions & 4 deletions arch/arm/mach-bcm/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,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
Expand All @@ -56,6 +58,11 @@ config ARCH_BCM_5301X
bool "Broadcom BCM470X / BCM5301X ARM SoC"
depends on ARCH_MULTI_V7
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 BCM470X and BCM5301X SoCs with ARM CPU cores.

Expand Down Expand Up @@ -129,17 +136,18 @@ comment "Other Architectures"

config ARCH_BCM2835
bool "Broadcom BCM2835 family"
depends on ARCH_MULTI_V6
depends on ARCH_MULTI_V6 || ARCH_MULTI_V7
select ARCH_REQUIRE_GPIOLIB
select ARM_AMBA
select ARM_ERRATA_411920
select ARM_ERRATA_411920 if ARCH_MULTI_V6
select ARM_TIMER_SP804
select HAVE_ARM_ARCH_TIMER if ARCH_MULTI_V7
select CLKSRC_OF
select PINCTRL
select PINCTRL_BCM2835
help
This enables support for the Broadcom BCM2835 SoC. This SoC is
used in the Raspberry Pi and Roku 2 devices.
This enables support for the Broadcom BCM2835 and BCM2836 SoCs.
This SoC is used in the Raspberry Pi and Roku 2 devices.

config ARCH_BCM_63XX
bool "Broadcom BCM63xx DSL SoC"
Expand Down
11 changes: 9 additions & 2 deletions arch/arm/mach-bcm/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
obj-$(CONFIG_ARCH_BCM_MOBILE_SMP) += kona_smp.o
obj-$(CONFIG_ARCH_BCM_MOBILE_SMP) += platsmp.o

# BCM281XX and BCM21664 L2 cache control
obj-$(CONFIG_ARCH_BCM_MOBILE_L2_CACHE) += kona_l2_cache.o
Expand All @@ -39,6 +43,9 @@ obj-$(CONFIG_ARCH_BCM2835) += board_bcm2835.o

# BCM5301X
obj-$(CONFIG_ARCH_BCM_5301X) += bcm_5301x.o
ifeq ($(CONFIG_ARCH_BCM_5301X),y)
obj-$(CONFIG_SMP) += platsmp.o
endif

# BCM63XXx
ifeq ($(CONFIG_ARCH_BCM_63XX),y)
Expand Down
35 changes: 0 additions & 35 deletions arch/arm/mach-bcm/bcm_5301x.c
Original file line number Diff line number Diff line change
Expand Up @@ -9,40 +9,6 @@
#include <asm/hardware/cache-l2x0.h>

#include <asm/mach/arch.h>
#include <asm/siginfo.h>
#include <asm/signal.h>


static bool first_fault = true;

static int bcm5301x_abort_handler(unsigned long addr, unsigned int fsr,
struct pt_regs *regs)
{
if ((fsr == 0x1406 || fsr == 0x1c06) && first_fault) {
first_fault = false;

/*
* These faults with codes 0x1406 (BCM4709) or 0x1c06 happens
* for no good reason, possibly left over from the CFE boot
* loader.
*/
pr_warn("External imprecise Data abort at addr=%#lx, fsr=%#x ignored.\n",
addr, fsr);

/* Returning non-zero causes fault display and panic */
return 0;
}

/* Others should cause a fault */
return 1;
}

static void __init bcm5301x_init_early(void)
{
/* Install our hook */
hook_fault_code(16 + 6, bcm5301x_abort_handler, SIGBUS, BUS_OBJERR,
"imprecise external abort");
}

static const char *const bcm5301x_dt_compat[] __initconst = {
"brcm,bcm4708",
Expand All @@ -52,6 +18,5 @@ static const char *const bcm5301x_dt_compat[] __initconst = {
DT_MACHINE_START(BCM5301X, "BCM5301X")
.l2c_aux_val = 0,
.l2c_aux_mask = ~0,
.init_early = bcm5301x_init_early,
.dt_compat = bcm5301x_dt_compat,
MACHINE_END
5 changes: 5 additions & 0 deletions arch/arm/mach-bcm/board_bcm2835.c
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,12 @@ static void __init bcm2835_init(void)
}

static const char * const bcm2835_compat[] = {
#ifdef CONFIG_ARCH_MULTI_V6
"brcm,bcm2835",
#endif
#ifdef CONFIG_ARCH_MULTI_V7
"brcm,bcm2836",
#endif
NULL
};

Expand Down
Loading

0 comments on commit 1305eda

Please sign in to comment.