ARM: vexpress/mps2: introduce MPS2 platform
authorVladimir Murzin <vladimir.murzin@arm.com>
Mon, 25 Apr 2016 08:49:13 +0000 (09:49 +0100)
committerArnd Bergmann <arnd@arndb.de>
Tue, 26 Apr 2016 10:50:01 +0000 (12:50 +0200)
The Cortex-M Prototyping System (or V2M-MPS2) is designed for
prototyping and evaluation Cortex-M family of processors including the
latest Cortex-M7

It comes with a range of useful peripherals including 8MB single cycle
SRAM, 16MB PSRAM, Ethernet, QSVGA touch screen panel, 4bit RGB VGA
connector, Audio, SPI and GPIO.

Signed-off-by: Vladimir Murzin <vladimir.murzin@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
arch/arm/Kconfig
arch/arm/Makefile
arch/arm/mach-vexpress/Makefile
arch/arm/mach-vexpress/Makefile.boot [new file with mode: 0644]
arch/arm/mach-vexpress/v2m-mps2.c [new file with mode: 0644]

index cdfa6c2..6cda5dc 100644 (file)
@@ -892,6 +892,18 @@ config MACH_STM32F429
        depends on ARCH_STM32
        default y
 
+config ARCH_MPS2
+       bool "ARM MPS2 paltform"
+       depends on ARM_SINGLE_ARMV7M
+       select ARM_AMBA
+       select CLKSRC_MPS2
+       help
+         Support for Cortex-M Prototyping System (or V2M-MPS2) which comes
+         with a range of available cores like Cortex-M3/M4/M7.
+
+         Please, note that depends which Application Note is used memory map
+         for the platform may vary, so adjustment of RAM base might be needed.
+
 # Definitions to make life easier
 config ARCH_ACORN
        bool
index 8c3ce2a..274e8a6 100644 (file)
@@ -183,6 +183,7 @@ machine-$(CONFIG_ARCH_LPC18XX)              += lpc18xx
 machine-$(CONFIG_ARCH_LPC32XX)         += lpc32xx
 machine-$(CONFIG_ARCH_MESON)           += meson
 machine-$(CONFIG_ARCH_MMP)             += mmp
+machine-$(CONFIG_ARCH_MPS2)            += vexpress
 machine-$(CONFIG_ARCH_MOXART)          += moxart
 machine-$(CONFIG_ARCH_MV78XX0)         += mv78xx0
 machine-$(CONFIG_ARCH_MVEBU)           += mvebu
index f5c1006..73caae7 100644 (file)
@@ -4,7 +4,7 @@
 ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := \
        -I$(srctree)/arch/arm/plat-versatile/include
 
-obj-y                                  := v2m.o
+obj-$(CONFIG_ARCH_VEXPRESS)            := v2m.o
 obj-$(CONFIG_ARCH_VEXPRESS_DCSCB)      += dcscb.o      dcscb_setup.o
 CFLAGS_dcscb.o                         += -march=armv7-a
 CFLAGS_REMOVE_dcscb.o                  = -pg
@@ -15,3 +15,5 @@ CFLAGS_tc2_pm.o                               += -march=armv7-a
 CFLAGS_REMOVE_tc2_pm.o                 = -pg
 obj-$(CONFIG_SMP)                      += platsmp.o
 obj-$(CONFIG_HOTPLUG_CPU)              += hotplug.o
+
+obj-$(CONFIG_ARCH_MPS2)                        += v2m-mps2.o
diff --git a/arch/arm/mach-vexpress/Makefile.boot b/arch/arm/mach-vexpress/Makefile.boot
new file mode 100644 (file)
index 0000000..eacfc3f
--- /dev/null
@@ -0,0 +1,3 @@
+# Empty file waiting for deletion once Makefile.boot isn't needed any more.
+# Patch waits for application at
+# http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=7889/1 .
diff --git a/arch/arm/mach-vexpress/v2m-mps2.c b/arch/arm/mach-vexpress/v2m-mps2.c
new file mode 100644 (file)
index 0000000..e7ad9c2
--- /dev/null
@@ -0,0 +1,21 @@
+/*
+ * Copyright (C) 2015 ARM Limited
+ *
+ * Author: Vladimir Murzin <vladimir.murzin@arm.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ */
+
+#include <asm/mach/arch.h>
+
+static const char *const mps2_compat[] __initconst = {
+       "arm,mps2",
+       NULL
+};
+
+DT_MACHINE_START(MPS2DT, "MPS2 (Device Tree Support)")
+       .dt_compat = mps2_compat,
+MACHINE_END