diff options
Diffstat (limited to 'arch/arm/mach-berlin')
| -rw-r--r-- | arch/arm/mach-berlin/Kconfig | 31 | ||||
| -rw-r--r-- | arch/arm/mach-berlin/Makefile | 1 | ||||
| -rw-r--r-- | arch/arm/mach-berlin/berlin.c | 34 |
3 files changed, 66 insertions, 0 deletions
diff --git a/arch/arm/mach-berlin/Kconfig b/arch/arm/mach-berlin/Kconfig new file mode 100644 index 00000000000..2631cfc5ab0 --- /dev/null +++ b/arch/arm/mach-berlin/Kconfig @@ -0,0 +1,31 @@ +menuconfig ARCH_BERLIN + bool "Marvell Berlin SoCs" if ARCH_MULTI_V7 + select ARCH_REQUIRE_GPIOLIB + select ARM_GIC + select GENERIC_IRQ_CHIP + select DW_APB_ICTL + select DW_APB_TIMER_OF + select PINCTRL + +if ARCH_BERLIN + +config MACH_BERLIN_BG2 + bool "Marvell Armada 1500 (BG2)" + select CACHE_L2X0 + select CPU_PJ4B + select HAVE_ARM_TWD if SMP + select PINCTRL_BERLIN_BG2 + +config MACH_BERLIN_BG2CD + bool "Marvell Armada 1500-mini (BG2CD)" + select CACHE_L2X0 + select HAVE_ARM_TWD if SMP + select PINCTRL_BERLIN_BG2CD + +config MACH_BERLIN_BG2Q + bool "Marvell Armada 1500 Pro (BG2-Q)" + select CACHE_L2X0 + select HAVE_ARM_TWD if SMP + select PINCTRL_BERLIN_BG2Q + +endif diff --git a/arch/arm/mach-berlin/Makefile b/arch/arm/mach-berlin/Makefile new file mode 100644 index 00000000000..ab69fe956f4 --- /dev/null +++ b/arch/arm/mach-berlin/Makefile @@ -0,0 +1 @@ +obj-y += berlin.o diff --git a/arch/arm/mach-berlin/berlin.c b/arch/arm/mach-berlin/berlin.c new file mode 100644 index 00000000000..ac181c6797e --- /dev/null +++ b/arch/arm/mach-berlin/berlin.c @@ -0,0 +1,34 @@ +/* + * 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 const char * const berlin_dt_compat[] = { + "marvell,berlin", + NULL, +}; + +DT_MACHINE_START(BERLIN_DT, "Marvell Berlin") + .dt_compat = berlin_dt_compat, + /* + * with DT probing for L2CCs, berlin_init_machine can be removed. + * Note: 88DE3005 (Armada 1500-mini) uses pl310 l2cc + */ + .l2c_aux_val = 0x30c00000, + .l2c_aux_mask = 0xfeffffff, +MACHINE_END |
