Skip to content

Commit f01b9b7

Browse files
committed
Merge tag 'newsoc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/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
2 parents fde7543 + 6631422 commit f01b9b7

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

81 files changed

+2323
-99
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
Marvell Armada 370 and Armada XP Interrupt Controller
2+
-----------------------------------------------------
3+
4+
Required properties:
5+
- compatible: Should be "marvell,mpic"
6+
- interrupt-controller: Identifies the node as an interrupt controller.
7+
- #interrupt-cells: The number of cells to define the interrupts. Should be 1.
8+
The cell is the IRQ number
9+
- reg: Should contain PMIC registers location and length. First pair
10+
for the main interrupt registers, second pair for the per-CPU
11+
interrupt registers
12+
13+
Example:
14+
15+
mpic: interrupt-controller@d0020000 {
16+
compatible = "marvell,mpic";
17+
#interrupt-cells = <1>;
18+
#address-cells = <1>;
19+
#size-cells = <1>;
20+
interrupt-controller;
21+
reg = <0xd0020000 0x1000>,
22+
<0xd0021000 0x1000>;
23+
};
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
Marvell Armada 370 and Armada XP Global Timers
2+
----------------------------------------------
3+
4+
Required properties:
5+
- compatible: Should be "marvell,armada-370-xp-timer"
6+
- interrupts: Should contain the list of Global Timer interrupts
7+
- reg: Should contain the base address of the Global Timer registers
8+
9+
Optional properties:
10+
- marvell,timer-25Mhz: Tells whether the Global timer supports the 25
11+
Mhz fixed mode (available on Armada XP and not on Armada 370)
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
Marvell Armada 370 and Armada XP Platforms Device Tree Bindings
2+
---------------------------------------------------------------
3+
4+
Boards with a SoC of the Marvell Armada 370 and Armada XP families
5+
shall have the following property:
6+
7+
Required root node property:
8+
9+
compatible: must contain "marvell,armada-370-xp"
10+
11+
In addition, boards using the Marvell Armada 370 SoC shall have the
12+
following property:
13+
14+
Required root node property:
15+
16+
compatible: must contain "marvell,armada370"
17+
18+
In addition, boards using the Marvell Armada XP SoC shall have the
19+
following property:
20+
21+
Required root node property:
22+
23+
compatible: must contain "marvell,armadaxp"
24+
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
MVEBU System Controller
2+
-----------------------
3+
MVEBU (Marvell SOCs: Armada 370/XP, Dove, mv78xx0, Kirkwood, Orion5x)
4+
5+
Required properties:
6+
7+
- compatible: one of:
8+
- "marvell,orion-system-controller"
9+
- "marvell,armada-370-xp-system-controller"
10+
- reg: Should contain system controller registers location and length.
11+
12+
Example:
13+
14+
system-controller@d0018200 {
15+
compatible = "marvell,armada-370-xp-system-controller";
16+
reg = <0xd0018200 0x500>;
17+
};

Documentation/devicetree/bindings/arm/omap/omap.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,3 +50,6 @@ Boards:
5050

5151
- AM335X Bone : Low cost community board
5252
compatible = "ti,am335x-bone", "ti,am33xx", "ti,omap3"
53+
54+
- OMAP5 EVM : Evaluation Module
55+
compatible = "ti,omap5-evm", "ti,omap5"

MAINTAINERS

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -894,6 +894,14 @@ ARM/MAGICIAN MACHINE SUPPORT
894894
M: Philipp Zabel <[email protected]>
895895
S: Maintained
896896

897+
ARM/Marvell Armada 370 and Armada XP SOC support
898+
M: Jason Cooper <[email protected]>
899+
M: Andrew Lunn <[email protected]>
900+
M: Gregory Clement <[email protected]>
901+
L: [email protected] (moderated for non-subscribers)
902+
S: Maintained
903+
F: arch/arm/mach-mvebu/
904+
897905
ARM/Marvell Dove/Kirkwood/MV78xx0/Orion SOC support
898906
M: Jason Cooper <[email protected]>
899907
M: Andrew Lunn <[email protected]>
@@ -1103,6 +1111,16 @@ S: Supported
11031111
F: arch/arm/mach-shmobile/
11041112
F: drivers/sh/
11051113

1114+
ARM/SOCFPGA ARCHITECTURE
1115+
M: Dinh Nguyen <[email protected]>
1116+
S: Maintained
1117+
F: arch/arm/mach-socfpga/
1118+
1119+
ARM/SOCFPGA CLOCK FRAMEWORK SUPPORT
1120+
M: Dinh Nguyen <[email protected]>
1121+
S: Maintained
1122+
F: drivers/clk/socfpga/
1123+
11061124
ARM/TECHNOLOGIC SYSTEMS TS7250 MACHINE SUPPORT
11071125
M: Lennert Buytenhek <[email protected]>
11081126
L: [email protected] (moderated for non-subscribers)

arch/arm/Kconfig

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,6 +250,25 @@ choice
250250
prompt "ARM system type"
251251
default ARCH_VERSATILE
252252

253+
config ARCH_SOCFPGA
254+
bool "Altera SOCFPGA family"
255+
select ARCH_WANT_OPTIONAL_GPIOLIB
256+
select ARM_AMBA
257+
select ARM_GIC
258+
select CACHE_L2X0
259+
select CLKDEV_LOOKUP
260+
select COMMON_CLK
261+
select CPU_V7
262+
select DW_APB_TIMER
263+
select DW_APB_TIMER_OF
264+
select GENERIC_CLOCKEVENTS
265+
select GPIO_PL061 if GPIOLIB
266+
select HAVE_ARM_SCU
267+
select SPARSE_IRQ
268+
select USE_OF
269+
help
270+
This enables support for Altera SOCFPGA Cyclone V platform
271+
253272
config ARCH_INTEGRATOR
254273
bool "ARM Ltd. Integrator family"
255274
select ARM_AMBA
@@ -537,6 +556,18 @@ config ARCH_IXP4XX
537556
help
538557
Support for Intel's IXP4XX (XScale) family of processors.
539558

559+
config ARCH_MVEBU
560+
bool "Marvell SOCs with Device Tree support"
561+
select GENERIC_CLOCKEVENTS
562+
select MULTI_IRQ_HANDLER
563+
select SPARSE_IRQ
564+
select CLKSRC_MMIO
565+
select GENERIC_IRQ_CHIP
566+
select IRQ_DOMAIN
567+
select COMMON_CLK
568+
help
569+
Support for the Marvell SoC Family with device tree support
570+
540571
config ARCH_DOVE
541572
bool "Marvell Dove"
542573
select CPU_V7
@@ -994,6 +1025,8 @@ endchoice
9941025
# Kconfigs may be included either alphabetically (according to the
9951026
# plat- suffix) or along side the corresponding mach-* source.
9961027
#
1028+
source "arch/arm/mach-mvebu/Kconfig"
1029+
9971030
source "arch/arm/mach-at91/Kconfig"
9981031

9991032
source "arch/arm/mach-bcmring/Kconfig"
@@ -1586,6 +1619,7 @@ config ARCH_NR_GPIO
15861619
default 1024 if ARCH_SHMOBILE || ARCH_TEGRA
15871620
default 355 if ARCH_U8500
15881621
default 264 if MACH_H4700
1622+
default 512 if SOC_OMAP5
15891623
default 0
15901624
help
15911625
Maximum number of GPIOs in the system.

arch/arm/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@ machine-$(CONFIG_ARCH_MV78XX0) := mv78xx0
157157
machine-$(CONFIG_ARCH_IMX_V4_V5) := imx
158158
machine-$(CONFIG_ARCH_IMX_V6_V7) := imx
159159
machine-$(CONFIG_ARCH_MXS) := mxs
160+
machine-$(CONFIG_ARCH_MVEBU) := mvebu
160161
machine-$(CONFIG_ARCH_NETX) := netx
161162
machine-$(CONFIG_ARCH_NOMADIK) := nomadik
162163
machine-$(CONFIG_ARCH_OMAP1) := omap1
@@ -186,6 +187,7 @@ machine-$(CONFIG_ARCH_VEXPRESS) := vexpress
186187
machine-$(CONFIG_ARCH_VT8500) := vt8500
187188
machine-$(CONFIG_ARCH_W90X900) := w90x900
188189
machine-$(CONFIG_FOOTBRIDGE) := footbridge
190+
machine-$(CONFIG_ARCH_SOCFPGA) := socfpga
189191
machine-$(CONFIG_MACH_SPEAR1310) := spear13xx
190192
machine-$(CONFIG_MACH_SPEAR1340) := spear13xx
191193
machine-$(CONFIG_MACH_SPEAR300) := spear3xx
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
/*
2+
* Device Tree file for Marvell Armada 370 evaluation board
3+
* (DB-88F6710-BP-DDR3)
4+
*
5+
* Copyright (C) 2012 Marvell
6+
*
7+
* Lior Amsalem <[email protected]>
8+
* Gregory CLEMENT <[email protected]>
9+
* Thomas Petazzoni <[email protected]>
10+
*
11+
* This file is licensed under the terms of the GNU General Public
12+
* License version 2. This program is licensed "as is" without any
13+
* warranty of any kind, whether express or implied.
14+
*/
15+
16+
/dts-v1/;
17+
/include/ "armada-370.dtsi"
18+
19+
/ {
20+
model = "Marvell Armada 370 Evaluation Board";
21+
compatible = "marvell,a370-db", "marvell,armada370", "marvell,armada-370-xp";
22+
23+
chosen {
24+
bootargs = "console=ttyS0,115200 earlyprintk";
25+
};
26+
27+
memory {
28+
device_type = "memory";
29+
reg = <0x00000000 0x20000000>; /* 512 MB */
30+
};
31+
32+
soc {
33+
serial@d0012000 {
34+
clock-frequency = <200000000>;
35+
status = "okay";
36+
};
37+
timer@d0020300 {
38+
clock-frequency = <600000000>;
39+
status = "okay";
40+
};
41+
};
42+
};
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
/*
2+
* Device Tree Include file for Marvell Armada 370 and Armada XP SoC
3+
*
4+
* Copyright (C) 2012 Marvell
5+
*
6+
* Lior Amsalem <[email protected]>
7+
* Gregory CLEMENT <[email protected]>
8+
* Thomas Petazzoni <[email protected]>
9+
* Ben Dooks <[email protected]>
10+
*
11+
* This file is licensed under the terms of the GNU General Public
12+
* License version 2. This program is licensed "as is" without any
13+
* warranty of any kind, whether express or implied.
14+
*
15+
* This file contains the definitions that are common to the Armada
16+
* 370 and Armada XP SoC.
17+
*/
18+
19+
/include/ "skeleton.dtsi"
20+
21+
/ {
22+
model = "Marvell Armada 370 and XP SoC";
23+
compatible = "marvell,armada_370_xp";
24+
25+
cpus {
26+
cpu@0 {
27+
compatible = "marvell,sheeva-v7";
28+
};
29+
};
30+
31+
mpic: interrupt-controller@d0020000 {
32+
compatible = "marvell,mpic";
33+
#interrupt-cells = <1>;
34+
#address-cells = <1>;
35+
#size-cells = <1>;
36+
interrupt-controller;
37+
};
38+
39+
soc {
40+
#address-cells = <1>;
41+
#size-cells = <1>;
42+
compatible = "simple-bus";
43+
interrupt-parent = <&mpic>;
44+
ranges;
45+
46+
serial@d0012000 {
47+
compatible = "ns16550";
48+
reg = <0xd0012000 0x100>;
49+
reg-shift = <2>;
50+
interrupts = <41>;
51+
status = "disabled";
52+
};
53+
serial@d0012100 {
54+
compatible = "ns16550";
55+
reg = <0xd0012100 0x100>;
56+
reg-shift = <2>;
57+
interrupts = <42>;
58+
status = "disabled";
59+
};
60+
61+
timer@d0020300 {
62+
compatible = "marvell,armada-370-xp-timer";
63+
reg = <0xd0020300 0x30>;
64+
interrupts = <37>, <38>, <39>, <40>;
65+
};
66+
};
67+
};
68+

0 commit comments

Comments
 (0)