Skip to content

Commit

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

Pull support for three new arm SoC types from Arnd Bergmann:

 - The mvebu platform includes Marvell's Armada XP and Armada 370 chips,
   made by the mvebu business unit inside of Marvell.  Since the same
   group also made the older but similar platforms we call "orion5x",
   "kirkwood", "mv78xx0" and "dove", we plan to move all of them into
   the mach-mvebu directory in the future.

 - socfpga is Altera's platform based on Cortex-A9 cores and a lot of
   FPGA space.  This is similar to the Xilinx zynq platform we already
   support.  The code is particularly clean, which is helped by the fact
   that the hardware doesn't do much besides the parts that are expected
   to get added in the FPGA.

 - The OMAP subarchitecture gains support for the latest generation, the
   OMAP5 based on the new Cortex-A15 core.  Support is rather
   rudimentary for now, but will be extended in the future.

* tag 'newsoc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (25 commits)
  ARM: socfpga: initial support for Altera's SOCFPGA platform
  arm: mvebu: generate DTBs for supported SoCs
  ARM: mvebu: MPIC: read number of interrupts from control register
  arm: mach-mvebu: add entry to MAINTAINERS
  arm: mach-mvebu: add compilation/configuration change
  arm: mach-mvebu: add defconfig
  arm: mach-mvebu: add documentation for new device tree bindings
  arm: mach-mvebu: add support for Armada 370 and Armada XP with DT
  arm: mach-mvebu: add source files
  arm: mach-mvebu: add header
  clocksource: time-armada-370-xp: Marvell Armada 370/XP SoC timer driver
  ARM: Kconfig update to support additional GPIOs in OMAP5
  ARM: OMAP5: Add the build support
  arm/dts: OMAP5: Add omap5 dts files
  ARM: OMAP5: board-generic: Add device tree support
  ARM: omap2+: board-generic: clean up the irq data from board file
  ARM: OMAP5: Add SMP support
  ARM: OMAP5: Add the WakeupGen IP updates
  ARM: OMAP5: l3: Add l3 error handler support for omap5
  ARM: OMAP5: gpmc: Update gpmc_init()
  ...

Conflicts:
	Documentation/devicetree/bindings/arm/omap/omap.txt
	arch/arm/mach-omap2/Makefile
	drivers/clocksource/Kconfig
	drivers/clocksource/Makefile
  • Loading branch information
torvalds committed Jul 23, 2012
2 parents fde7543 + 6631422 commit f01b9b7
Show file tree
Hide file tree
Showing 81 changed files with 2,323 additions and 99 deletions.
23 changes: 23 additions & 0 deletions Documentation/devicetree/bindings/arm/armada-370-xp-mpic.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
Marvell Armada 370 and Armada XP Interrupt Controller
-----------------------------------------------------

Required properties:
- compatible: Should be "marvell,mpic"
- interrupt-controller: Identifies the node as an interrupt controller.
- #interrupt-cells: The number of cells to define the interrupts. Should be 1.
The cell is the IRQ number
- reg: Should contain PMIC registers location and length. First pair
for the main interrupt registers, second pair for the per-CPU
interrupt registers

Example:

mpic: interrupt-controller@d0020000 {
compatible = "marvell,mpic";
#interrupt-cells = <1>;
#address-cells = <1>;
#size-cells = <1>;
interrupt-controller;
reg = <0xd0020000 0x1000>,
<0xd0021000 0x1000>;
};
11 changes: 11 additions & 0 deletions Documentation/devicetree/bindings/arm/armada-370-xp-timer.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
Marvell Armada 370 and Armada XP Global Timers
----------------------------------------------

Required properties:
- compatible: Should be "marvell,armada-370-xp-timer"
- interrupts: Should contain the list of Global Timer interrupts
- reg: Should contain the base address of the Global Timer registers

Optional properties:
- marvell,timer-25Mhz: Tells whether the Global timer supports the 25
Mhz fixed mode (available on Armada XP and not on Armada 370)
24 changes: 24 additions & 0 deletions Documentation/devicetree/bindings/arm/armada-370-xp.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
Marvell Armada 370 and Armada XP Platforms Device Tree Bindings
---------------------------------------------------------------

Boards with a SoC of the Marvell Armada 370 and Armada XP families
shall have the following property:

Required root node property:

compatible: must contain "marvell,armada-370-xp"

In addition, boards using the Marvell Armada 370 SoC shall have the
following property:

Required root node property:

compatible: must contain "marvell,armada370"

In addition, boards using the Marvell Armada XP SoC shall have the
following property:

Required root node property:

compatible: must contain "marvell,armadaxp"

17 changes: 17 additions & 0 deletions Documentation/devicetree/bindings/arm/mvebu-system-controller.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
MVEBU System Controller
-----------------------
MVEBU (Marvell SOCs: Armada 370/XP, Dove, mv78xx0, Kirkwood, Orion5x)

Required properties:

- compatible: one of:
- "marvell,orion-system-controller"
- "marvell,armada-370-xp-system-controller"
- reg: Should contain system controller registers location and length.

Example:

system-controller@d0018200 {
compatible = "marvell,armada-370-xp-system-controller";
reg = <0xd0018200 0x500>;
};
3 changes: 3 additions & 0 deletions Documentation/devicetree/bindings/arm/omap/omap.txt
Original file line number Diff line number Diff line change
Expand Up @@ -50,3 +50,6 @@ Boards:

- AM335X Bone : Low cost community board
compatible = "ti,am335x-bone", "ti,am33xx", "ti,omap3"

- OMAP5 EVM : Evaluation Module
compatible = "ti,omap5-evm", "ti,omap5"
18 changes: 18 additions & 0 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -894,6 +894,14 @@ ARM/MAGICIAN MACHINE SUPPORT
M: Philipp Zabel <[email protected]>
S: Maintained

ARM/Marvell Armada 370 and Armada XP SOC support
M: Jason Cooper <[email protected]>
M: Andrew Lunn <[email protected]>
M: Gregory Clement <[email protected]>
L: [email protected] (moderated for non-subscribers)
S: Maintained
F: arch/arm/mach-mvebu/

ARM/Marvell Dove/Kirkwood/MV78xx0/Orion SOC support
M: Jason Cooper <[email protected]>
M: Andrew Lunn <[email protected]>
Expand Down Expand Up @@ -1103,6 +1111,16 @@ S: Supported
F: arch/arm/mach-shmobile/
F: drivers/sh/

ARM/SOCFPGA ARCHITECTURE
M: Dinh Nguyen <[email protected]>
S: Maintained
F: arch/arm/mach-socfpga/

ARM/SOCFPGA CLOCK FRAMEWORK SUPPORT
M: Dinh Nguyen <[email protected]>
S: Maintained
F: drivers/clk/socfpga/

ARM/TECHNOLOGIC SYSTEMS TS7250 MACHINE SUPPORT
M: Lennert Buytenhek <[email protected]>
L: [email protected] (moderated for non-subscribers)
Expand Down
34 changes: 34 additions & 0 deletions arch/arm/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -250,6 +250,25 @@ choice
prompt "ARM system type"
default ARCH_VERSATILE

config ARCH_SOCFPGA
bool "Altera SOCFPGA family"
select ARCH_WANT_OPTIONAL_GPIOLIB
select ARM_AMBA
select ARM_GIC
select CACHE_L2X0
select CLKDEV_LOOKUP
select COMMON_CLK
select CPU_V7
select DW_APB_TIMER
select DW_APB_TIMER_OF
select GENERIC_CLOCKEVENTS
select GPIO_PL061 if GPIOLIB
select HAVE_ARM_SCU
select SPARSE_IRQ
select USE_OF
help
This enables support for Altera SOCFPGA Cyclone V platform

config ARCH_INTEGRATOR
bool "ARM Ltd. Integrator family"
select ARM_AMBA
Expand Down Expand Up @@ -537,6 +556,18 @@ config ARCH_IXP4XX
help
Support for Intel's IXP4XX (XScale) family of processors.

config ARCH_MVEBU
bool "Marvell SOCs with Device Tree support"
select GENERIC_CLOCKEVENTS
select MULTI_IRQ_HANDLER
select SPARSE_IRQ
select CLKSRC_MMIO
select GENERIC_IRQ_CHIP
select IRQ_DOMAIN
select COMMON_CLK
help
Support for the Marvell SoC Family with device tree support

config ARCH_DOVE
bool "Marvell Dove"
select CPU_V7
Expand Down Expand Up @@ -994,6 +1025,8 @@ endchoice
# Kconfigs may be included either alphabetically (according to the
# plat- suffix) or along side the corresponding mach-* source.
#
source "arch/arm/mach-mvebu/Kconfig"

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

source "arch/arm/mach-bcmring/Kconfig"
Expand Down Expand Up @@ -1586,6 +1619,7 @@ config ARCH_NR_GPIO
default 1024 if ARCH_SHMOBILE || ARCH_TEGRA
default 355 if ARCH_U8500
default 264 if MACH_H4700
default 512 if SOC_OMAP5
default 0
help
Maximum number of GPIOs in the system.
Expand Down
2 changes: 2 additions & 0 deletions arch/arm/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,7 @@ machine-$(CONFIG_ARCH_MV78XX0) := mv78xx0
machine-$(CONFIG_ARCH_IMX_V4_V5) := imx
machine-$(CONFIG_ARCH_IMX_V6_V7) := imx
machine-$(CONFIG_ARCH_MXS) := mxs
machine-$(CONFIG_ARCH_MVEBU) := mvebu
machine-$(CONFIG_ARCH_NETX) := netx
machine-$(CONFIG_ARCH_NOMADIK) := nomadik
machine-$(CONFIG_ARCH_OMAP1) := omap1
Expand Down Expand Up @@ -186,6 +187,7 @@ machine-$(CONFIG_ARCH_VEXPRESS) := vexpress
machine-$(CONFIG_ARCH_VT8500) := vt8500
machine-$(CONFIG_ARCH_W90X900) := w90x900
machine-$(CONFIG_FOOTBRIDGE) := footbridge
machine-$(CONFIG_ARCH_SOCFPGA) := socfpga
machine-$(CONFIG_MACH_SPEAR1310) := spear13xx
machine-$(CONFIG_MACH_SPEAR1340) := spear13xx
machine-$(CONFIG_MACH_SPEAR300) := spear3xx
Expand Down
42 changes: 42 additions & 0 deletions arch/arm/boot/dts/armada-370-db.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
/*
* Device Tree file for Marvell Armada 370 evaluation board
* (DB-88F6710-BP-DDR3)
*
* Copyright (C) 2012 Marvell
*
* Lior Amsalem <[email protected]>
* Gregory CLEMENT <[email protected]>
* Thomas Petazzoni <[email protected]>
*
* This file is licensed under the terms of the GNU General Public
* License version 2. This program is licensed "as is" without any
* warranty of any kind, whether express or implied.
*/

/dts-v1/;
/include/ "armada-370.dtsi"

/ {
model = "Marvell Armada 370 Evaluation Board";
compatible = "marvell,a370-db", "marvell,armada370", "marvell,armada-370-xp";

chosen {
bootargs = "console=ttyS0,115200 earlyprintk";
};

memory {
device_type = "memory";
reg = <0x00000000 0x20000000>; /* 512 MB */
};

soc {
serial@d0012000 {
clock-frequency = <200000000>;
status = "okay";
};
timer@d0020300 {
clock-frequency = <600000000>;
status = "okay";
};
};
};
68 changes: 68 additions & 0 deletions arch/arm/boot/dts/armada-370-xp.dtsi
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
/*
* Device Tree Include file for Marvell Armada 370 and Armada XP SoC
*
* Copyright (C) 2012 Marvell
*
* Lior Amsalem <[email protected]>
* Gregory CLEMENT <[email protected]>
* Thomas Petazzoni <[email protected]>
* Ben Dooks <[email protected]>
*
* This file is licensed under the terms of the GNU General Public
* License version 2. This program is licensed "as is" without any
* warranty of any kind, whether express or implied.
*
* This file contains the definitions that are common to the Armada
* 370 and Armada XP SoC.
*/

/include/ "skeleton.dtsi"

/ {
model = "Marvell Armada 370 and XP SoC";
compatible = "marvell,armada_370_xp";

cpus {
cpu@0 {
compatible = "marvell,sheeva-v7";
};
};

mpic: interrupt-controller@d0020000 {
compatible = "marvell,mpic";
#interrupt-cells = <1>;
#address-cells = <1>;
#size-cells = <1>;
interrupt-controller;
};

soc {
#address-cells = <1>;
#size-cells = <1>;
compatible = "simple-bus";
interrupt-parent = <&mpic>;
ranges;

serial@d0012000 {
compatible = "ns16550";
reg = <0xd0012000 0x100>;
reg-shift = <2>;
interrupts = <41>;
status = "disabled";
};
serial@d0012100 {
compatible = "ns16550";
reg = <0xd0012100 0x100>;
reg-shift = <2>;
interrupts = <42>;
status = "disabled";
};

timer@d0020300 {
compatible = "marvell,armada-370-xp-timer";
reg = <0xd0020300 0x30>;
interrupts = <37>, <38>, <39>, <40>;
};
};
};

35 changes: 35 additions & 0 deletions arch/arm/boot/dts/armada-370.dtsi
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
/*
* Device Tree Include file for Marvell Armada 370 family SoC
*
* Copyright (C) 2012 Marvell
*
* Lior Amsalem <[email protected]>
* Gregory CLEMENT <[email protected]>
* Thomas Petazzoni <[email protected]>
*
* This file is licensed under the terms of the GNU General Public
* License version 2. This program is licensed "as is" without any
* warranty of any kind, whether express or implied.
*
* Contains definitions specific to the Armada 370 SoC that are not
* common to all Armada SoCs.
*/

/include/ "armada-370-xp.dtsi"

/ {
model = "Marvell Armada 370 family SoC";
compatible = "marvell,armada370", "marvell,armada-370-xp";

mpic: interrupt-controller@d0020000 {
reg = <0xd0020a00 0x1d0>,
<0xd0021870 0x58>;
};

soc {
system-controller@d0018200 {
compatible = "marvell,armada-370-xp-system-controller";
reg = <0xd0018200 0x100>;
};
};
};
50 changes: 50 additions & 0 deletions arch/arm/boot/dts/armada-xp-db.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
/*
* Device Tree file for Marvell Armada XP evaluation board
* (DB-78460-BP)
*
* Copyright (C) 2012 Marvell
*
* Lior Amsalem <[email protected]>
* Gregory CLEMENT <[email protected]>
* Thomas Petazzoni <[email protected]>
*
* This file is licensed under the terms of the GNU General Public
* License version 2. This program is licensed "as is" without any
* warranty of any kind, whether express or implied.
*/

/dts-v1/;
/include/ "armada-xp.dtsi"

/ {
model = "Marvell Armada XP Evaluation Board";
compatible = "marvell,axp-db", "marvell,armadaxp", "marvell,armada-370-xp";

chosen {
bootargs = "console=ttyS0,115200 earlyprintk";
};

memory {
device_type = "memory";
reg = <0x00000000 0x80000000>; /* 2 GB */
};

soc {
serial@d0012000 {
clock-frequency = <250000000>;
status = "okay";
};
serial@d0012100 {
clock-frequency = <250000000>;
status = "okay";
};
serial@d0012200 {
clock-frequency = <250000000>;
status = "okay";
};
serial@d0012300 {
clock-frequency = <250000000>;
status = "okay";
};
};
};
Loading

0 comments on commit f01b9b7

Please sign in to comment.