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"

Reply via email to