Changeset View
Changeset View
Standalone View
Standalone View
head/sys/dev/usb/serial/umcs.c
| Show First 20 Lines • Show All 493 Lines • ▼ Show 20 Lines | umcs7840_cfg_open(struct ucom_softc *ucom) | ||||
| sc->sc_ports[pn].sc_lcr = MCS7840_UART_LCR_DATALEN8 | MCS7840_UART_LCR_STOPB1; | sc->sc_ports[pn].sc_lcr = MCS7840_UART_LCR_DATALEN8 | MCS7840_UART_LCR_STOPB1; | ||||
| if (umcs7840_set_UART_reg_sync(sc, pn, MCS7840_UART_REG_LCR, sc->sc_ports[pn].sc_lcr)) | if (umcs7840_set_UART_reg_sync(sc, pn, MCS7840_UART_REG_LCR, sc->sc_ports[pn].sc_lcr)) | ||||
| return; | return; | ||||
| /* | /* | ||||
| * Enable DTR/RTS on modem control, enable modem interrupts -- | * Enable DTR/RTS on modem control, enable modem interrupts -- | ||||
| * documented | * documented | ||||
| */ | */ | ||||
| sc->sc_ports[pn].sc_mcr = MCS7840_UART_MCR_DTR | MCS7840_UART_MCR_RTS | MCS7840_UART_MCR_IE; | sc->sc_ports[pn].sc_mcr = MCS7840_UART_MCR_IE; | ||||
| if (ucom->sc_tty == NULL || (ucom->sc_tty->t_termios.c_cflag & CNO_RTSDTR) == 0) | |||||
| sc->sc_ports[pn].sc_mcr |= MCS7840_UART_MCR_DTR | MCS7840_UART_MCR_RTS; | |||||
| if (umcs7840_set_UART_reg_sync(sc, pn, MCS7840_UART_REG_MCR, sc->sc_ports[pn].sc_mcr)) | if (umcs7840_set_UART_reg_sync(sc, pn, MCS7840_UART_REG_MCR, sc->sc_ports[pn].sc_mcr)) | ||||
| return; | return; | ||||
| /* Clearing Bulkin and Bulkout FIFO */ | /* Clearing Bulkin and Bulkout FIFO */ | ||||
| if (umcs7840_get_reg_sync(sc, umcs7840_port_registers[pn].reg_sp, &data)) | if (umcs7840_get_reg_sync(sc, umcs7840_port_registers[pn].reg_sp, &data)) | ||||
| return; | return; | ||||
| data |= MCS7840_DEV_SPx_RESET_OUT_FIFO | MCS7840_DEV_SPx_RESET_IN_FIFO; | data |= MCS7840_DEV_SPx_RESET_OUT_FIFO | MCS7840_DEV_SPx_RESET_IN_FIFO; | ||||
| if (umcs7840_set_reg_sync(sc, umcs7840_port_registers[pn].reg_sp, data)) | if (umcs7840_set_reg_sync(sc, umcs7840_port_registers[pn].reg_sp, data)) | ||||
| ▲ Show 20 Lines • Show All 597 Lines • Show Last 20 Lines | |||||