Lines Matching refs:portno
393 umcs7840_get_UART_reg(struct umcs7840_softc *sc, uint8_t portno,
400 /* portno is port number */
401 wVal = ((uint16_t)(portno + 1)) << 8;
411 aprint_normal_dev(sc->sc_dev, "Reading UART %d register %d failed: %s\n", portno, reg, usbd_errstr(err));
416 umcs7840_set_UART_reg(struct umcs7840_softc *sc, uint8_t portno, uint8_t reg, uint8_t data)
422 /* portno is the physical port number */
423 wVal = ((uint16_t)(portno + 1)) << 8 | data;
435 portno, reg, usbd_errstr(err));
440 umcs7840_set_baudrate(struct umcs7840_softc *sc, uint8_t portno,
447 uint8_t physport = sc->sc_ports[portno].sc_port_phys;
451 DPRINTF(("Port %d bad speed: %d\n", portno, rate));
455 DPRINTF(("Port %d bad speed calculation: %d\n", portno,
459 DPRINTF(("Port %d set speed: %d (%02x / %d)\n", portno, rate, clk, divisor));
472 sc->sc_ports[portno].sc_port_lcr |= MCS7840_UART_LCR_DIVISORS;
473 err = umcs7840_set_UART_reg(sc, physport, MCS7840_UART_REG_LCR, sc->sc_ports[portno].sc_port_lcr);
485 sc->sc_ports[portno].sc_port_lcr &= ~MCS7840_UART_LCR_DIVISORS;
486 err = umcs7840_set_UART_reg(sc, physport, MCS7840_UART_REG_LCR, sc->sc_ports[portno].sc_port_lcr);
569 umcs7840_get_status(void *self, int portno, u_char *lsr, u_char *msr)
572 uint8_t pn = sc->sc_ports[portno].sc_port_phys;
588 umcs7840_set(void *self, int portno, int reg, int onoff)
597 umcs7840_dtr(sc, portno, onoff);
600 umcs7840_rts(sc, portno, onoff);
603 umcs7840_break(sc, portno, onoff);
611 umcs7840_param(void *self, int portno, struct termios *t)
614 int pn = sc->sc_ports[portno].sc_port_phys;
615 uint8_t lcr = sc->sc_ports[portno].sc_port_lcr;
616 uint8_t mcr = sc->sc_ports[portno].sc_port_mcr;
665 sc->sc_ports[portno].sc_port_lcr = lcr;
669 sc->sc_ports[portno].sc_port_mcr = mcr;
673 if (umcs7840_set_baudrate(sc, portno, t->c_ospeed))
680 umcs7840_dtr(struct umcs7840_softc *sc, int portno, bool onoff)
682 int pn = sc->sc_ports[portno].sc_port_phys;
683 uint8_t mcr = sc->sc_ports[portno].sc_port_mcr;
690 sc->sc_ports[portno].sc_port_mcr = mcr;
696 umcs7840_rts(struct umcs7840_softc *sc, int portno, bool onoff)
698 int pn = sc->sc_ports[portno].sc_port_phys;
699 uint8_t mcr = sc->sc_ports[portno].sc_port_mcr;
706 sc->sc_ports[portno].sc_port_mcr = mcr;
712 umcs7840_break(struct umcs7840_softc *sc, int portno, bool onoff)
714 int pn = sc->sc_ports[portno].sc_port_phys;
715 uint8_t lcr = sc->sc_ports[portno].sc_port_lcr;
722 sc->sc_ports[portno].sc_port_lcr = lcr;
728 umcs7840_port_open(void *self, int portno)
731 int pn = sc->sc_ports[portno].sc_port_phys;
812 if (umcs7840_set_baudrate(sc, portno, 9600))
838 umcs7840_port_close(void *self, int portno)
841 int pn = sc->sc_ports[portno].sc_port_phys;