diff options
author | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2014-02-17 09:23:27 -0500 |
---|---|---|
committer | Jason Cooper <jason@lakedaemon.net> | 2014-02-21 19:43:59 -0500 |
commit | 9aa30f1c13d1df2fc82ef0d0fd506306d8c8cef2 (patch) | |
tree | 839c1d5c4622ad6a35ea281273bdd7628ebb3f9e | |
parent | ca4a6f87150b2cec4feab2610ef7a0d6d7fcd800 (diff) |
ARM: mvebu: add initial support for the Armada 380/385 SOCs
This commit adds the basic support for the Armada 380 and Armada 385
SOCs. These SoCs share most of their IP with the Armada 370/XP
SoCs. The main difference is the use of a Cortex A9 CPU instead of the
PJ4B CPU. The Armada 380 is a single core Cortex-A9, while the Armada
385 is a dual-core Cortex-A9.
The support is introduced in board-v7.c, together with Armada 370/XP,
but a separate DT structure is added, because Armada 38x will need a
different set of SMP operations when the SMP support is introduced.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
-rw-r--r-- | Documentation/devicetree/bindings/arm/armada-38x.txt | 10 | ||||
-rw-r--r-- | arch/arm/mach-mvebu/Kconfig | 14 | ||||
-rw-r--r-- | arch/arm/mach-mvebu/board-v7.c | 12 |
3 files changed, 36 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/arm/armada-38x.txt b/Documentation/devicetree/bindings/arm/armada-38x.txt new file mode 100644 index 000000000000..11f2330a6554 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/armada-38x.txt | |||
@@ -0,0 +1,10 @@ | |||
1 | Marvell Armada 38x Platforms Device Tree Bindings | ||
2 | ------------------------------------------------- | ||
3 | |||
4 | Boards with a SoC of the Marvell Armada 38x family shall have the | ||
5 | following property: | ||
6 | |||
7 | Required root node property: | ||
8 | |||
9 | - compatible: must contain either "marvell,armada380" or | ||
10 | "marvell,armada385" depending on the variant of the SoC being used. | ||
diff --git a/arch/arm/mach-mvebu/Kconfig b/arch/arm/mach-mvebu/Kconfig index 3b74a8450947..884b275ab056 100644 --- a/arch/arm/mach-mvebu/Kconfig +++ b/arch/arm/mach-mvebu/Kconfig | |||
@@ -51,6 +51,20 @@ config MACH_ARMADA_375 | |||
51 | Say 'Y' here if you want your kernel to support boards based | 51 | Say 'Y' here if you want your kernel to support boards based |
52 | on the Marvell Armada 375 SoC with device tree. | 52 | on the Marvell Armada 375 SoC with device tree. |
53 | 53 | ||
54 | config MACH_ARMADA_38X | ||
55 | bool "Marvell Armada 380/385 boards" | ||
56 | select ARM_ERRATA_720789 | ||
57 | select ARM_ERRATA_753970 | ||
58 | select ARM_GIC | ||
59 | select ARMADA_38X_CLK | ||
60 | select CPU_V7 | ||
61 | select MACH_MVEBU_V7 | ||
62 | select NEON | ||
63 | select PINCTRL_ARMADA_38X | ||
64 | help | ||
65 | Say 'Y' here if you want your kernel to support boards based | ||
66 | on the Marvell Armada 380/385 SoC with device tree. | ||
67 | |||
54 | config MACH_ARMADA_XP | 68 | config MACH_ARMADA_XP |
55 | bool "Marvell Armada XP boards" | 69 | bool "Marvell Armada XP boards" |
56 | select ARMADA_XP_CLK | 70 | select ARMADA_XP_CLK |
diff --git a/arch/arm/mach-mvebu/board-v7.c b/arch/arm/mach-mvebu/board-v7.c index 087668c7d46a..746134ecdfc2 100644 --- a/arch/arm/mach-mvebu/board-v7.c +++ b/arch/arm/mach-mvebu/board-v7.c | |||
@@ -125,3 +125,15 @@ DT_MACHINE_START(ARMADA_375_DT, "Marvell Armada 375 (Device Tree)") | |||
125 | .restart = mvebu_restart, | 125 | .restart = mvebu_restart, |
126 | .dt_compat = armada_375_dt_compat, | 126 | .dt_compat = armada_375_dt_compat, |
127 | MACHINE_END | 127 | MACHINE_END |
128 | |||
129 | static const char * const armada_38x_dt_compat[] = { | ||
130 | "marvell,armada380", | ||
131 | "marvell,armada385", | ||
132 | NULL, | ||
133 | }; | ||
134 | |||
135 | DT_MACHINE_START(ARMADA_38X_DT, "Marvell Armada 380/385 (Device Tree)") | ||
136 | .init_time = mvebu_timer_and_clk_init, | ||
137 | .restart = mvebu_restart, | ||
138 | .dt_compat = armada_38x_dt_compat, | ||
139 | MACHINE_END | ||