forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ARM: add initial support for Marvell Berlin SoCs
This adds initial support for the Marvell Berlin SoC family with Armada 1500 (88DE3100) and Armada 1500-mini (88DE3005) SoCs. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Reviewed-by: Jason Cooper <jason@lakedaemon.net> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: Arnd Bergmann <arnd@arndb.de>
- Loading branch information
Showing
5 changed files
with
72 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
config ARCH_BERLIN | ||
bool "Marvell Berlin SoCs" if ARCH_MULTI_V7 | ||
select ARM_GIC | ||
select GENERIC_CLOCKEVENTS | ||
select GENERIC_IRQ_CHIP | ||
select COMMON_CLK | ||
select DW_APB_ICTL | ||
select DW_APB_TIMER_OF | ||
|
||
if ARCH_BERLIN | ||
|
||
menu "Marvell Berlin SoC variants" | ||
|
||
config MACH_BERLIN_BG2 | ||
bool "Marvell Armada 1500 (BG2)" | ||
select CACHE_L2X0 | ||
select CPU_PJ4B | ||
select HAVE_ARM_TWD if SMP | ||
select HAVE_SMP | ||
|
||
config MACH_BERLIN_BG2CD | ||
bool "Marvell Armada 1500-mini (BG2CD)" | ||
select CACHE_L2X0 | ||
select CPU_V7 | ||
select HAVE_ARM_TWD if SMP | ||
|
||
endmenu | ||
|
||
endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
obj-y += berlin.o |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
/* | ||
* Device Tree support for Marvell Berlin SoCs. | ||
* | ||
* Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> | ||
* | ||
* based on GPL'ed 2.6 kernel sources | ||
* (c) Marvell International Ltd. | ||
* | ||
* 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. | ||
*/ | ||
|
||
#include <linux/init.h> | ||
#include <linux/io.h> | ||
#include <linux/kernel.h> | ||
#include <linux/of_platform.h> | ||
#include <asm/hardware/cache-l2x0.h> | ||
#include <asm/mach/arch.h> | ||
|
||
static void __init berlin_init_machine(void) | ||
{ | ||
/* | ||
* with DT probing for L2CCs, berlin_init_machine can be removed. | ||
* Note: 88DE3005 (Armada 1500-mini) uses pl310 l2cc | ||
*/ | ||
l2x0_of_init(0x70c00000, 0xfeffffff); | ||
of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); | ||
} | ||
|
||
static const char * const berlin_dt_compat[] = { | ||
"marvell,berlin", | ||
NULL, | ||
}; | ||
|
||
DT_MACHINE_START(BERLIN_DT, "Marvell Berlin") | ||
.dt_compat = berlin_dt_compat, | ||
.init_machine = berlin_init_machine, | ||
MACHINE_END |