summaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorAntony Pavlov <antonynpavlov@gmail.com>2014-05-22 23:48:44 +0400
committerSascha Hauer <s.hauer@pengutronix.de>2014-05-26 17:51:21 +0200
commitd527e9ca4156484d34d78816081c5b6856ad4091 (patch)
tree6b390b00f1e232d7f588b0315c4a48a149e2ec6f /arch/arm
parentd4d9fc125f51996824c1e8d1a446a8801aef5b05 (diff)
downloadbarebox-d527e9ca4156484d34d78816081c5b6856ad4091.tar.gz
barebox-d527e9ca4156484d34d78816081c5b6856ad4091.tar.xz
ARM: initial support for RC Module UEMD SoCs
This commit adds minimal support for the UEMD SoCs from RC Module (http://www.module.ru). Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/Kconfig11
-rw-r--r--arch/arm/Makefile1
-rw-r--r--arch/arm/mach-uemd/Kconfig7
-rw-r--r--arch/arm/mach-uemd/Makefile1
-rw-r--r--arch/arm/mach-uemd/include/mach/hardware.h7
-rw-r--r--arch/arm/mach-uemd/reset.c24
6 files changed, 51 insertions, 0 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 4a2ec41bb4..ca13174c73 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -193,6 +193,16 @@ config ARCH_TEGRA
select OFTREE
select RELOCATABLE
+config ARCH_UEMD
+ bool "RC Module UEMD Platform"
+ select CPU_ARM1176
+ select COMMON_CLK
+ select COMMON_CLK_OF_PROVIDER
+ select CLKDEV_LOOKUP
+ select OFDEVICE
+ select OFTREE
+ select CLOCKSOURCE_UEMD
+
config ARCH_ZYNQ
bool "Xilinx Zynq-based boards"
select HAS_DEBUG_LL
@@ -219,6 +229,7 @@ source arch/arm/mach-socfpga/Kconfig
source arch/arm/mach-versatile/Kconfig
source arch/arm/mach-vexpress/Kconfig
source arch/arm/mach-tegra/Kconfig
+source arch/arm/mach-uemd/Kconfig
source arch/arm/mach-zynq/Kconfig
config ARM_ASM_UNIFIED
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index 3312a49a0f..b0a96c943a 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -70,6 +70,7 @@ machine-$(CONFIG_ARCH_SOCFPGA) := socfpga
machine-$(CONFIG_ARCH_VERSATILE) := versatile
machine-$(CONFIG_ARCH_VEXPRESS) := vexpress
machine-$(CONFIG_ARCH_TEGRA) := tegra
+machine-$(CONFIG_ARCH_UEMD) := uemd
machine-$(CONFIG_ARCH_ZYNQ) := zynq
diff --git a/arch/arm/mach-uemd/Kconfig b/arch/arm/mach-uemd/Kconfig
new file mode 100644
index 0000000000..f9cf859354
--- /dev/null
+++ b/arch/arm/mach-uemd/Kconfig
@@ -0,0 +1,7 @@
+if ARCH_UEMD
+
+config ARCH_TEXT_BASE
+ hex
+ default 0x40800000
+
+endif
diff --git a/arch/arm/mach-uemd/Makefile b/arch/arm/mach-uemd/Makefile
new file mode 100644
index 0000000000..f3cc6684b8
--- /dev/null
+++ b/arch/arm/mach-uemd/Makefile
@@ -0,0 +1 @@
+obj-y += reset.o
diff --git a/arch/arm/mach-uemd/include/mach/hardware.h b/arch/arm/mach-uemd/include/mach/hardware.h
new file mode 100644
index 0000000000..2311ebf1cd
--- /dev/null
+++ b/arch/arm/mach-uemd/include/mach/hardware.h
@@ -0,0 +1,7 @@
+#ifndef __ASM_ARCH_HARDWARE_H
+#define __ASM_ARCH_HARDWARE_H
+
+#define UEMD_EHCI_BASE 0x10040000
+#define UEMD_UART0_BASE 0x2002b000
+
+#endif /* __ASM_ARCH_HARDWARE_H */
diff --git a/arch/arm/mach-uemd/reset.c b/arch/arm/mach-uemd/reset.c
new file mode 100644
index 0000000000..00ae0be0b3
--- /dev/null
+++ b/arch/arm/mach-uemd/reset.c
@@ -0,0 +1,24 @@
+/*
+ * Copyright (C) 2014 Antony Pavlov <antonynpavlov@gmail.com>
+ *
+ * This file is part of barebox.
+ * See file CREDITS for list of people who contributed to this project.
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ */
+
+#include <common.h>
+
+void __noreturn reset_cpu(ulong addr)
+{
+ hang();
+}
+EXPORT_SYMBOL(reset_cpu);