void xlp_uart_out(struct uart_port *p, int offset, int value)
{
	nlm_reg_t *mmio;

	offset = offset << p->regshift;
	mmio = (nlm_reg_t *)(p->membase + offset);
	netlogic_write_reg(mmio, 0, value);
}
示例#2
0
文件: setup.c 项目: CSCLOG/beaglebone
static void nlm_linux_exit(void)
{
	nlm_reg_t *mmio;

	mmio = netlogic_io_mmio(NETLOGIC_IO_GPIO_OFFSET);
	/* trigger a chip reset by writing 1 to GPIO_SWRESET_REG */
	netlogic_write_reg(mmio, NETLOGIC_GPIO_SWRESET_REG, 1);
	for ( ; ; )
		cpu_wait();
}
示例#3
0
void nlm_xlr_uart_out(struct uart_port *p, int offset, int value)
{
    nlm_reg_t *mmio;

    /* XLR uart does not need any mapping of regs */
    mmio = (nlm_reg_t *)(p->membase + (offset << p->regshift));

    /* See XLR/XLS errata */
    if (offset == UART_MSR)
        value ^= 0xF0;
    else if (offset == UART_MCR)
        value ^= 0x3;

    netlogic_write_reg(mmio, 0, value);
}