view target-utils/libcommon/serio.S @ 772:6791a13c0673
ss_ss.c compiles
author |
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> |
date |
Sun, 12 Oct 2014 00:54:04 +0000 (2014-10-12) |
parents |
d7591faa1258 |
children |
|
line source
#include "ns16550.h"
@ this module implements the elementary serial I/O operations
.text
.code 32
.global serial_out
serial_out:
ldr r1, =uart_base
ldr r2, [r1]
1: ldrb r3, [r2, #NS16550_LSR]
tst r3, #NS16550_LSR_THRE
beq 1b
strb r0, [r2, #NS16550_THR]
bx lr
.global serial_in_poll
serial_in_poll:
ldr r1, =uart_base
ldr r2, [r1]
ldrb r3, [r2, #NS16550_LSR]
tst r3, #NS16550_LSR_DR
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