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 |