summaryrefslogtreecommitdiff
path: root/cpu/microblaze/start.S
diff options
context:
space:
mode:
authorPeter Pearse <peter.pearse@arm.com>2007-05-18 13:33:23 (GMT)
committerPeter Pearse <peter.pearse@arm.com>2007-05-18 13:33:23 (GMT)
commitfdda367561f0f6fb21d5b575402c0f9d2fd08e76 (patch)
treeafb703e6e43ff91e6f456f12fbb43fb598373fd5 /cpu/microblaze/start.S
parent1443a31457d68f7e8f0b9403e9832ec1e79dc59d (diff)
parent70124c2602ae2d4c5d3dba05b482d91548242de8 (diff)
downloadu-boot-fdda367561f0f6fb21d5b575402c0f9d2fd08e76.tar.xz
Merge with git://www.denx.de/git/u-boot.git
Diffstat (limited to 'cpu/microblaze/start.S')
-rw-r--r--cpu/microblaze/start.S33
1 files changed, 33 insertions, 0 deletions
diff --git a/cpu/microblaze/start.S b/cpu/microblaze/start.S
index ca3befc..3c027ff 100644
--- a/cpu/microblaze/start.S
+++ b/cpu/microblaze/start.S
@@ -117,3 +117,36 @@ clear_bss:
3: /* jumping to board_init */
brai board_init
1: bri 1b
+
+/*
+ * Read 16bit little endian
+ */
+ .text
+ .global in16
+ .ent in16
+ .align 2
+in16: lhu r3, r0, r5
+ bslli r4, r3, 8
+ bsrli r3, r3, 8
+ andi r4, r4, 0xffff
+ or r3, r3, r4
+ rtsd r15, 8
+ sext16 r3, r3
+ .end in16
+
+/*
+ * Write 16bit little endian
+ * first parameter(r5) - address, second(r6) - short value
+ */
+ .text
+ .global out16
+ .ent out16
+ .align 2
+out16: bslli r3, r6, 8
+ bsrli r6, r6, 8
+ andi r3, r3, 0xffff
+ or r3, r3, r6
+ sh r3, r0, r5
+ rtsd r15, 8
+ or r0, r0, r0
+ .end out16