summaryrefslogtreecommitdiff
path: root/arch/arm/cpu/armv7/zynq/lowlevel_init.S
diff options
context:
space:
mode:
authorTom Rini <trini@ti.com>2015-01-26 06:42:15 -0500
committerTom Rini <trini@ti.com>2015-01-26 06:42:15 -0500
commit306df2c8241bd363c71a99841630fb5e85d81fae (patch)
treed2fda7cc2345460a5a852f2bdbd0f0a51095e7eb /arch/arm/cpu/armv7/zynq/lowlevel_init.S
parent03cae7261e00e0b36511625ed88f883187c17c77 (diff)
parenta2425e6207d7c75906a15410f4c8c0a5d0519349 (diff)
Merge branch 'zynq' of git://www.denx.de/git/u-boot-microblaze
Diffstat (limited to 'arch/arm/cpu/armv7/zynq/lowlevel_init.S')
-rw-r--r--arch/arm/cpu/armv7/zynq/lowlevel_init.S26
1 files changed, 26 insertions, 0 deletions
diff --git a/arch/arm/cpu/armv7/zynq/lowlevel_init.S b/arch/arm/cpu/armv7/zynq/lowlevel_init.S
new file mode 100644
index 0000000000..6d714b711c
--- /dev/null
+++ b/arch/arm/cpu/armv7/zynq/lowlevel_init.S
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2013 Xilinx, Inc. All rights reserved.
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#include <asm-offsets.h>
+#include <config.h>
+#include <linux/linkage.h>
+
+ENTRY(lowlevel_init)
+
+ /* Enable the the VFP */
+ mrc p15, 0, r1, c1, c0, 2
+ orr r1, r1, #(0x3 << 20)
+ orr r1, r1, #(0x3 << 20)
+ mcr p15, 0, r1, c1, c0, 2
+ isb
+ fmrx r1, FPEXC
+ orr r1,r1, #(1<<30)
+ fmxr FPEXC, r1
+
+ /* Move back to caller */
+ mov pc, lr
+
+ENDPROC(lowlevel_init)