コード例 #1
0
ファイル: it8172_uart.c プロジェクト: kisom/pmon
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 ;
}
コード例 #2
0
ファイル: dbg_io.c プロジェクト: 274914765/C
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));
}
コード例 #3
0
ファイル: dbg_io.c プロジェクト: 12019/hg556a_source
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;
}
コード例 #4
0
ファイル: dbg_io.c プロジェクト: 12019/hg556a_source
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);
}
コード例 #5
0
ファイル: dbg_io.c プロジェクト: 274914765/C
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;
}
コード例 #6
0
ファイル: it8172_uart.c プロジェクト: kisom/pmon
/*
 * 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);
}
コード例 #7
0
void
serial_putc(volatile struct NS16550 *com_port, unsigned char c)
{
        while ((UART16550_READ(UART_LSR)&0x40) == 0);
        UART16550_WRITE(UART_TX, c);
}
コード例 #8
0
ファイル: serial.c プロジェクト: wjrsonic/openwrt
/* 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);
}
コード例 #9
0
ファイル: uart16550.c プロジェクト: ZigFisher/FlyRouter
void Uart16550Put(uint8 byte)
{
    while ((UART16550_READ(OFS_LINE_STATUS) &0x20) == 0);
    UART16550_WRITE(OFS_SEND_BUFFER, byte);
}
コード例 #10
0
ファイル: serial.c プロジェクト: kisom/pmon
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;
}
コード例 #11
0
ファイル: serial.c プロジェクト: BarclayII/pmon-3amatx
static inline int writeDebugChar(int line,uint8 byte)
{
	UART16550_WRITE(line,OFS_SEND_BUFFER, byte);
	return 1;
}