29 #define SIO_LCR 0x1000f100
31 #define SIO_LCR_UMODE_8BIT 0x00
32 #define SIO_LCR_UMODE_7BIT 0x01
34 #define SIO_LCR_USBL_1BIT 0x00
35 #define SIO_LCR_USBL_2BITS 0x01
37 #define SIO_LCR_UPEN_OFF 0x00
38 #define SIO_LCR_UPEN_ON 0x01
40 #define SIO_LCR_UEPS_ODD 0x00
41 #define SIO_LCR_UEPS_EVEN 0x01
44 #define SIO_LSR 0x1000f110
46 #define SIO_LSR_DR 0x01
48 #define SIO_LSR_OE 0x02
50 #define SIO_LSR_PE 0x04
52 #define SIO_LSR_FE 0x08
55 #define SIO_IER 0x1000f120
57 #define SIO_IER_ERDAI 0x01
59 #define SIO_IER_ELSI 0x04
62 #define SIO_ISR 0x1000f130
63 #define SIO_ISR_RX_DATA 0x01
64 #define SIO_ISR_TX_EMPTY 0x02
65 #define SIO_ISR_RX_ERROR 0x04
68 #define SIO_FCR 0x1000f140
70 #define SIO_FCR_FRSTE 0x01
72 #define SIO_FCR_RFRST 0x02
74 #define SIO_FCR_TFRST 0x04
77 #define SIO_BGR 0x1000f150
80 #define SIO_TXFIFO 0x1000f180
82 #define SIO_RXFIFO 0x1000f1c0
85 #define SIO_CAUSE_BIT (1 << 12)
int sio_putsn(const char *str)
char * sio_gets(char *str)
int sio_puts(const char *str)
void sio_init(u32 baudrate, u8 lcr_ueps, u8 lcr_upen, u8 lcr_usbl, u8 lcr_umode)
size_t sio_read(void *buf, size_t size)
size_t sio_write(void *buf, size_t size)