diff options
Diffstat (limited to 'arch/arm/cpu/armv7m')
| -rw-r--r-- | arch/arm/cpu/armv7m/Makefile | 9 | ||||
| -rw-r--r-- | arch/arm/cpu/armv7m/config.mk | 8 | ||||
| -rw-r--r-- | arch/arm/cpu/armv7m/cpu.c | 35 | ||||
| -rw-r--r-- | arch/arm/cpu/armv7m/start.S | 15 | 
4 files changed, 67 insertions, 0 deletions
| diff --git a/arch/arm/cpu/armv7m/Makefile b/arch/arm/cpu/armv7m/Makefile new file mode 100644 index 00000000000..aff60e8102e --- /dev/null +++ b/arch/arm/cpu/armv7m/Makefile @@ -0,0 +1,9 @@ +# +# (C) Copyright 2000-2006 +# Wolfgang Denk, DENX Software Engineering, wd@denx.de. +# +# SPDX-License-Identifier:	GPL-2.0+ +# + +extra-y := start.o +obj-y += cpu.o diff --git a/arch/arm/cpu/armv7m/config.mk b/arch/arm/cpu/armv7m/config.mk new file mode 100644 index 00000000000..0b31e44d49e --- /dev/null +++ b/arch/arm/cpu/armv7m/config.mk @@ -0,0 +1,8 @@ +# +# (C) Copyright 2015 +# Kamil Lulko, <rev13@wp.pl> +# +# SPDX-License-Identifier:	GPL-2.0+ +# + +PLATFORM_CPPFLAGS += -march=armv7-m -mthumb diff --git a/arch/arm/cpu/armv7m/cpu.c b/arch/arm/cpu/armv7m/cpu.c new file mode 100644 index 00000000000..d3ab862c55d --- /dev/null +++ b/arch/arm/cpu/armv7m/cpu.c @@ -0,0 +1,35 @@ +/* + * (C) Copyright 2010,2011 + * Vladimir Khusainov, Emcraft Systems, vlad@emcraft.com + * + * (C) Copyright 2015 + * Kamil Lulko, <rev13@wp.pl> + * + * SPDX-License-Identifier:	GPL-2.0+ + */ + +#include <common.h> +#include <asm/io.h> +#include <asm/armv7m.h> + +/* + * This is called right before passing control to + * the Linux kernel point. + */ +int cleanup_before_linux(void) +{ +	return 0; +} + +/* + * Perform the low-level reset. + */ +void reset_cpu(ulong addr) +{ +	/* +	 * Perform reset but keep priority group unchanged. +	 */ +	writel((V7M_AIRCR_VECTKEY << V7M_AIRCR_VECTKEY_SHIFT) +		| (V7M_SCB->aircr & V7M_AIRCR_PRIGROUP_MSK) +		| V7M_AIRCR_SYSRESET, &V7M_SCB->aircr); +} diff --git a/arch/arm/cpu/armv7m/start.S b/arch/arm/cpu/armv7m/start.S new file mode 100644 index 00000000000..e05e984228d --- /dev/null +++ b/arch/arm/cpu/armv7m/start.S @@ -0,0 +1,15 @@ +/* + * (C) Copyright 2015 + * Kamil Lulko, <rev13@wp.pl> + * + * SPDX-License-Identifier:	GPL-2.0+ + */ + +.globl	reset +.type reset, %function +reset: +	b	_main + +.globl	c_runtime_cpu_setup +c_runtime_cpu_setup: +	mov	pc, lr | 
