Lines Matching full:ns8250
89 * options EARLY_PRINTF=ns8250
91 #if CHECK_EARLY_PRINTF(ns8250)
93 #error ns8250 early putc is x86 specific as it uses inb/outb
205 /* printf("uart: ns8250: transmitter appears stuck... "); */
233 /* printf("uart: ns8250: receiver appears broken... "); */
273 printf("uart: ns8250: UART FCR is broken\n");
481 "ns8250",
565 struct ns8250_softc *ns8250 = (struct ns8250_softc*)sc;
582 ns8250->busy_detect = bas->busy_detect;
583 ns8250->mcr = uart_getreg(bas, REG_MCR);
584 ns8250->fcr = FCR_ENABLE;
588 ns8250->fcr |= FCR_RX_LOW;
590 ns8250->fcr |= FCR_RX_MEDL;
592 ns8250->fcr |= FCR_RX_HIGH;
594 ns8250->fcr |= FCR_RX_MEDH;
596 ns8250->fcr |= FCR_RX_MEDH;
602 ns8250->ier_mask = (uint8_t)(ivar & 0xff);
608 ns8250->ier_rxbits = (uint8_t)(ivar & 0xff);
610 uart_setreg(bas, REG_FCR, ns8250->fcr);
614 if (ns8250->mcr & MCR_DTR)
616 if (ns8250->mcr & MCR_RTS)
621 ns8250->ier = uart_getreg(bas, REG_IER) & ns8250->ier_mask;
622 ns8250->ier |= ns8250->ier_rxbits;
623 uart_setreg(bas, REG_IER, ns8250->ier);
644 struct ns8250_softc *ns8250;
648 ns8250 = (struct ns8250_softc *)sc;
650 ier = uart_getreg(bas, REG_IER) & ns8250->ier_mask;
660 struct ns8250_softc *ns8250 = (struct ns8250_softc*)sc;
668 uart_setreg(bas, REG_FCR, ns8250->fcr);
784 struct ns8250_softc *ns8250;
788 ns8250 = (struct ns8250_softc *)sc;
793 if (ns8250->busy_detect && (iir & IIR_BUSY) == IIR_BUSY) {
814 ns8250->ier &= ~IER_ETXRDY;
815 uart_setreg(bas, REG_IER, ns8250->ier);
830 struct ns8250_softc *ns8250;
834 ns8250 = (struct ns8250_softc*)sc;
842 if (ns8250->busy_detect != 0) {
989 "Non-standard ns8250 class UART with FIFOs");
1020 struct ns8250_softc *ns8250 = (struct ns8250_softc *)sc;
1039 if (++ns8250->noise_count >= uart_noise_threshold)
1042 ns8250->noise_count = 0;
1064 struct ns8250_softc *ns8250 = (struct ns8250_softc*)sc;
1080 ns8250->mcr &= ~(MCR_DTR|MCR_RTS);
1082 ns8250->mcr |= MCR_DTR;
1084 ns8250->mcr |= MCR_RTS;
1085 uart_setreg(bas, REG_MCR, ns8250->mcr);
1094 struct ns8250_softc *ns8250 = (struct ns8250_softc*)sc;
1107 ns8250->ier |= IER_ETXRDY;
1108 uart_setreg(bas, REG_IER, ns8250->ier);
1135 struct ns8250_softc *ns8250 = (struct ns8250_softc*)sc;
1145 uart_setreg(bas, REG_IER, ier & ns8250->ier_mask);
1153 struct ns8250_softc *ns8250 = (struct ns8250_softc*)sc;
1160 uart_setreg(bas, REG_IER, ns8250->ier);