void serial_putc(unsigned char c) { if (initial == 0) { serial_init(); initial = 1; } while ((UART16550_READ(UART_LSR)&0x40) == 0); UART16550_WRITE(UART_TX, c); return ; }
void debugInit(u32 baud, u8 data, u8 parity, u8 stop) { if (UART16550_READ(UART_MOD_CNTRL) != 0x3) UART16550_WRITE(UART_MOD_CNTRL, 3); calc_clock(); /* disable interrupts */ UART16550_WRITE(UART_IER, 0); /* set up baud rate */ { u32 divisor; /* set divisor */ divisor = get_au1x00_uart_baud_base() / baud; UART16550_WRITE(UART_CLK, divisor & 0xffff); } /* set data format */ UART16550_WRITE(UART_LCR, (data | parity | stop)); }
int putDebugChar(uint8 byte) { if (!remoteDebugInitialized) { remoteDebugInitialized = 1; debugInit(UART16550_BAUD_115200, UART16550_DATA_8BIT, UART16550_PARITY_NONE, UART16550_STOP_1BIT); } while ((UART16550_READ(OFS_LINE_STATUS) & 0x20) == 0); UART16550_WRITE(OFS_SEND_BUFFER, byte); return 1; }
void debugInit(uint32 baud, uint8 data, uint8 parity, uint8 stop) { /* disable interrupts */ UART16550_WRITE(OFS_INTR_ENABLE, 0); /* set up buad rate */ { uint32 divisor; /* set DIAB bit */ UART16550_WRITE(OFS_LINE_CONTROL, 0x80); /* set divisor */ divisor = MAX_BAUD / baud; UART16550_WRITE(OFS_DIVISOR_LSB, divisor & 0xff); UART16550_WRITE(OFS_DIVISOR_MSB, (divisor & 0xff00) >> 8); /* clear DIAB bit */ UART16550_WRITE(OFS_LINE_CONTROL, 0x0); } /* set data format */ UART16550_WRITE(OFS_DATA_FORMAT, data | parity | stop); }
int putDebugChar(u8 byte) { if (!remoteDebugInitialized) { remoteDebugInitialized = 1; debugInit(UART16550_BAUD_115200, UART16550_DATA_8BIT, UART16550_PARITY_NONE, UART16550_STOP_1BIT); } while ((UART16550_READ(UART_LSR) & 0x40) == 0); UART16550_WRITE(UART_TX, byte); return 1; }
/* * We use uart 0, which is already initialized by * the bios. */ void * serial_init(void) { *(volatile unsigned short *)(0xb4015800) &= ~0x0100; UART16550_WRITE(UART_LCR, 0x80); UART16550_WRITE(UART_DLL, 0x01); UART16550_WRITE(UART_DLM, 0); UART16550_WRITE(UART_LCR, 0x03); UART16550_WRITE(UART_FCR, 0x47); UART16550_WRITE(UART_IER, 0); }
void serial_putc(volatile struct NS16550 *com_port, unsigned char c) { while ((UART16550_READ(UART_LSR)&0x40) == 0); UART16550_WRITE(UART_TX, c); }
/* platform serial_putc */ static void _ath_serial_putc(char byte) { if (byte == '\n') _ath_serial_putc ('\r'); while (((UART16550_READ(OFS_LINE_STATUS)) & 0x20) == 0x0); UART16550_WRITE(OFS_SEND_BUFFER, byte); }
void Uart16550Put(uint8 byte) { while ((UART16550_READ(OFS_LINE_STATUS) &0x20) == 0); UART16550_WRITE(OFS_SEND_BUFFER, byte); }
static int putDebugChar(int line,uint8 byte) { while ((UART16550_READ(line,OFS_LINE_STATUS) & 0x20) == 0); UART16550_WRITE(line,OFS_SEND_BUFFER, byte); return 1; }
static inline int writeDebugChar(int line,uint8 byte) { UART16550_WRITE(line,OFS_SEND_BUFFER, byte); return 1; }