diff target-utils/libcommon/serio.S @ 393:d7591faa1258

target-utils serial I/O made consistent with other projects
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Wed, 11 Jun 2014 17:22:55 +0000
parents 40f607bb0a2c
children
line wrap: on
line diff
--- a/target-utils/libcommon/serio.S	Wed Jun 11 16:38:28 2014 +0000
+++ b/target-utils/libcommon/serio.S	Wed Jun 11 17:22:55 2014 +0000
@@ -20,7 +20,15 @@
 	ldr	r2, [r1]
 	ldrb	r3, [r2, #NS16550_LSR]
 	tst	r3, #NS16550_LSR_DR
-	mvneq	r0, #1
-	bxeq	lr
-	ldrb	r0, [r2, #NS16550_RBR]
+	ldrneb	r0, [r2, #NS16550_RBR]
+	mvneq	r0, #0
 	bx	lr
+
+	.global	serial_flush
+serial_flush:
+	ldr	r1, =uart_base
+	ldr	r2, [r1]
+1:	ldrb	r3, [r2, #NS16550_LSR]
+	tst	r3, #NS16550_LSR_TEMP
+	beq	1b
+	bx	lr