Loading...
Searching...
No Matches
15#if (MODULE_MEGAWIFI != 0)
18#define UART_BASE 0xA130C1
21#define UART_CLK 24000000LU
25#define UART_BR 1500000LU
31#define UART_TX_FIFO_LEN 16
34#define DivWithRounding(dividend, divisor) ((((dividend)*2/(divisor))+1)/2)
36#define UART_DLM_VAL (DivWithRounding(UART_CLK, 16 * UART_BR)>>8)
39#define UART_DLL_VAL (DivWithRounding(UART_CLK, 16 * UART_BR) & 0xFF)
50#define UART_RHR (*((volatile uint8_t*)(UART_BASE + 0)))
52#define UART_THR (*((volatile uint8_t*)(UART_BASE + 0)))
54#define UART_IER (*((volatile uint8_t*)(UART_BASE + 2)))
56#define UART_FCR (*((volatile uint8_t*)(UART_BASE + 4)))
58#define UART_ISR (*((volatile uint8_t*)(UART_BASE + 4)))
60#define UART_LCR (*((volatile uint8_t*)(UART_BASE + 6)))
62#define UART_MCR (*((volatile uint8_t*)(UART_BASE + 8)))
64#define UART_LSR (*((volatile uint8_t*)(UART_BASE + 10)))
66#define UART_MSR (*((volatile uint8_t*)(UART_BASE + 12)))
68#define UART_SPR (*((volatile uint8_t*)(UART_BASE + 14)))
70#define UART_DLL (*((volatile uint8_t*)(UART_BASE + 0)))
72#define UART_DLM (*((volatile uint8_t*)(UART_BASE + 2)))
90#define UART_MCR__DTR 0x01
91#define UART_MCR__RTS 0x02
92#define UART_MCR__OUT1 0x04
93#define UART_MCR__OUT2 0x08
99#define UART_MSR__DSR 0x20
115#define uart_tx_ready() (UART_LSR & 0x20)
122#define uart_rx_ready() (UART_LSR & 0x01)
130#define uart_putc(c) do{UART_RHR = (c);}while(0);
138#define uart_getc() (UART_RHR)
146#define uart_set(reg, val) do{sh.reg = (val);UART_##reg = (val);}while(0)
154#define uart_get(reg) (sh.reg)
162#define uart_set_bits(reg, val) do{sh.reg |= (val); \
163 UART_##reg = sh.reg;}while(0)
171#define uart_clr_bits(reg, val) do{sh.reg &= ~(val); \
172 UART_##reg = sh.reg;}while(0)
177#define uart_reset_fifos() uart_set_bits(FCR, 0x07)