diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 4a2ec41bb..ca13174c7 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 3312a49a0..b0a96c943 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 000000000..f9cf85935 --- /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 000000000..f3cc6684b --- /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 000000000..2311ebf1c --- /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 000000000..00ae0be0b --- /dev/null +++ b/arch/arm/mach-uemd/reset.c @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2014 Antony Pavlov + * + * 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 + +void __noreturn reset_cpu(ulong addr) +{ + hang(); +} +EXPORT_SYMBOL(reset_cpu);