Ejemplo n.º 1
0
/*
 * UART class interface.
 */
static int
tegra_uart_attach(struct uart_softc *sc)
{
	int rv;
	struct ns8250_softc *ns8250 = (struct ns8250_softc*)sc;
	struct uart_bas *bas = &sc->sc_bas;

	rv = ns8250_bus_attach(sc);
	if (rv != 0)
		return (rv);

	ns8250->ier_rxbits = 0x1d;
	ns8250->ier_mask = 0xc0;
	ns8250->ier = uart_getreg(bas, REG_IER) & ns8250->ier_mask;
	ns8250->ier = ns8250->ier_rxbits;
	uart_setreg(bas, REG_IER, ns8250->ier);
	uart_barrier(bas);
	return (0);
}
Ejemplo n.º 2
0
static int
jz4780_bus_attach(struct uart_softc *sc)
{
    struct ns8250_softc *ns8250;
    struct uart_bas *bas;
    int rv;

    ns8250 = (struct ns8250_softc *)sc;
    bas = &sc->sc_bas;

    rv = ns8250_bus_attach(sc);
    if (rv != 0)
        return (0);

    /* Configure uart to use extra IER_RXTMOUT bit */
    ns8250->ier_rxbits = IER_RXTMOUT | IER_EMSC | IER_ERLS | IER_ERXRDY;
    ns8250->ier_mask = ~(ns8250->ier_rxbits);
    ns8250->ier = uart_getreg(bas, REG_IER) & ns8250->ier_mask;
    ns8250->ier |= ns8250->ier_rxbits;
    uart_setreg(bas, REG_IER, ns8250->ier);
    uart_barrier(bas);
    return (0);
}