Author: thomas Date: Sun Jun 23 20:19:51 2013 New Revision: 252123 URL: http://svnweb.freebsd.org/changeset/base/252123
Log: Fix minor typo in comment Modified: head/sys/dev/usb/serial/uark.c head/sys/dev/usb/serial/umcs.h Modified: head/sys/dev/usb/serial/uark.c ============================================================================== --- head/sys/dev/usb/serial/uark.c Sun Jun 23 20:19:05 2013 (r252122) +++ head/sys/dev/usb/serial/uark.c Sun Jun 23 20:19:51 2013 (r252123) @@ -92,6 +92,7 @@ struct uark_softc { uint8_t sc_msr; uint8_t sc_lsr; + uint8_t sc_irda; /* Set to 1 for IrDA */ }; /* prototypes */ @@ -173,8 +174,12 @@ MODULE_DEPEND(uark, ucom, 1, 1, 1); MODULE_DEPEND(uark, usb, 1, 1, 1); MODULE_VERSION(uark, 1); +#define UARK_TYPE_SERIAL 0 +#define UARK_TYPE_IRDA 1 + static const STRUCT_USB_HOST_ID uark_devs[] = { - {USB_VPI(USB_VENDOR_ARKMICRO, USB_PRODUCT_ARKMICRO_ARK3116, 0)}, + {USB_VPI(USB_VENDOR_ARKMICRO, USB_PRODUCT_ARKMICRO_ARK3116, UARK_TYPE_SERIAL)}, + {USB_VPI(USB_VENDOR_ARKMICRO2, USB_PRODUCT_ARKMICRO2_ARK3118, UARK_TYPE_IRDA)}, }; static int @@ -207,6 +212,7 @@ uark_attach(device_t dev) ucom_ref(&sc->sc_super_ucom); sc->sc_udev = uaa->device; + sc->sc_irda = (USB_GET_DRIVER_INFO (uaa) == UARK_TYPE_IRDA); iface_index = UARK_IFACE_INDEX; error = usbd_transfer_setup @@ -378,6 +384,15 @@ uark_cfg_param(struct ucom_softc *ucom, uint32_t speed = t->c_ospeed; uint16_t data; + if (!(sc->sc_irda)) { + uark_cfg_write(sc, 0xb, 0); + } else { + uark_cfg_write(sc, 0xb, 1); + uark_cfg_write(sc, 0xc, 0); + uark_cfg_write(sc, 0xd, 0x41); + uark_cfg_write(sc, 0xa, 1); + } + /* * NOTE: When reverse computing the baud rate from the "data" all * allowed baud rates are within 3% of the initial baud rate. @@ -419,6 +434,10 @@ uark_cfg_param(struct ucom_softc *ucom, } uark_cfg_write(sc, 3, 0x00); uark_cfg_write(sc, 3, data); + + uark_cfg_write(sc, 0xe, 0); + if (sc->sc_irda) + uark_cfg_write (sc, 9, 0); } static void Modified: head/sys/dev/usb/serial/umcs.h ============================================================================== --- head/sys/dev/usb/serial/umcs.h Sun Jun 23 20:19:05 2013 (r252122) +++ head/sys/dev/usb/serial/umcs.h Sun Jun 23 20:19:51 2013 (r252123) @@ -596,7 +596,7 @@ #define MCS7840_UART_LSR_RHROVERRUN 0x02 /* Data FIFO/register overflow */ #define MCS7840_UART_LSR_PARITYERR 0x04 /* Parity error */ #define MCS7840_UART_LSR_FRAMEERR 0x10 /* Framing error */ -#define MCS7840_UART_LSR_BREAKERR 0x20 /* BREAK sigmal received */ +#define MCS7840_UART_LSR_BREAKERR 0x20 /* BREAK signal received */ #define MCS7840_UART_LSR_THREMPTY 0x40 /* THR register is empty, * ready for transmit */ #define MCS7840_UART_LSR_HASERR 0x80 /* Has error in receiver FIFO */ _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"