/*
 * Prolific PL2303 USB to serial adaptor driver header file
 *
 *      This program is free software; you can redistribute it and/or modify
 *      it under the terms of the GNU General Public License as published by
 *      the Free Software Foundation; either version 2 of the License, or
 *      (at your option) any later version.
 *
 */

#define BENQ_VENDOR_ID                  0x04a5
#define BENQ_PRODUCT_ID_S81             0x4027

#define PL2303_VENDOR_ID        0x067b
#define PL2303_PRODUCT_ID       0x2303
#define PL2303_PRODUCT_ID_RSAQ2         0x04bb
#define PL2303_PRODUCT_ID_DCU11         0x1234
#define PL2303_PRODUCT_ID_PHAROS        0xaaa0
#define PL2303_PRODUCT_ID_RSAQ3         0xaaa2
#define PL2303_PRODUCT_ID_ALDIGA        0x0611
#define PL2303_PRODUCT_ID_MMX           0x0612
#define PL2303_PRODUCT_ID_GPRS          0x0609
#define PL2303_PRODUCT_ID_HCR331        0x331a
#define PL2303_PRODUCT_ID_MOTOROLA      0x0307

#define ATEN_VENDOR_ID          0x0557
#define ATEN_VENDOR_ID2         0x0547
#define ATEN_PRODUCT_ID         0x2008

#define IODATA_VENDOR_ID        0x04bb
#define IODATA_PRODUCT_ID       0x0a03
#define IODATA_PRODUCT_ID_RSAQ5 0x0a0e

#define ELCOM_VENDOR_ID         0x056e
#define ELCOM_PRODUCT_ID        0x5003
#define ELCOM_PRODUCT_ID_UCSGT  0x5004

#define ITEGNO_VENDOR_ID        0x0eba
#define ITEGNO_PRODUCT_ID       0x1080
#define ITEGNO_PRODUCT_ID_2080  0x2080

#define MA620_VENDOR_ID         0x0df7
#define MA620_PRODUCT_ID        0x0620

#define RATOC_VENDOR_ID         0x0584
#define RATOC_PRODUCT_ID        0xb000

#define TRIPP_VENDOR_ID         0x2478
#define TRIPP_PRODUCT_ID        0x2008

#define RADIOSHACK_VENDOR_ID    0x1453
#define RADIOSHACK_PRODUCT_ID   0x4026

#define DCU10_VENDOR_ID         0x0731
#define DCU10_PRODUCT_ID        0x0528

#define SITECOM_VENDOR_ID       0x6189
#define SITECOM_PRODUCT_ID      0x2068

/* Alcatel OT535/735 USB cable */
#define ALCATEL_VENDOR_ID       0x11f7
#define ALCATEL_PRODUCT_ID      0x02df

/* Samsung I330 phone cradle */
#define SAMSUNG_VENDOR_ID       0x04e8
#define SAMSUNG_PRODUCT_ID      0x8001

#define SIEMENS_VENDOR_ID       0x11f5
#define SIEMENS_PRODUCT_ID_SX1  0x0001
#define SIEMENS_PRODUCT_ID_X65  0x0003
#define SIEMENS_PRODUCT_ID_X75  0x0004
#define SIEMENS_PRODUCT_ID_EF81 0x0005

#define SYNTECH_VENDOR_ID       0x0745
#define SYNTECH_PRODUCT_ID      0x0001

/* Nokia CA-42 Cable */
#define NOKIA_CA42_VENDOR_ID    0x078b
#define NOKIA_CA42_PRODUCT_ID   0x1234

/* CA-42 CLONE Cable www.ca-42.com chipset: Prolific Technology Inc */
#define CA_42_CA42_VENDOR_ID    0x10b5
#define CA_42_CA42_PRODUCT_ID   0xac70

#define SAGEM_VENDOR_ID         0x079b
#define SAGEM_PRODUCT_ID        0x0027

/* Leadtek GPS 9531 (ID 0413:2101) */
#define LEADTEK_VENDOR_ID       0x0413
#define LEADTEK_9531_PRODUCT_ID 0x2101

/* USB GSM cable from Speed Dragon Multimedia, Ltd */
#define SPEEDDRAGON_VENDOR_ID   0x0e55
#define SPEEDDRAGON_PRODUCT_ID  0x110b

/* DATAPILOT Universal-2 Phone Cable */
#define DATAPILOT_U2_VENDOR_ID  0x0731
#define DATAPILOT_U2_PRODUCT_ID 0x2003

/* Belkin "F5U257" Serial Adapter */
#define BELKIN_VENDOR_ID        0x050d
#define BELKIN_PRODUCT_ID       0x0257

/* Alcor Micro Corp. USB 2.0 TO RS-232 */
#define ALCOR_VENDOR_ID         0x058F
#define ALCOR_PRODUCT_ID        0x9720

/* Willcom WS002IN Data Driver (by NetIndex Inc.) */
#define WS002IN_VENDOR_ID       0x11f6
#define WS002IN_PRODUCT_ID      0x2001

/* Corega CG-USBRS232R Serial Adapter */
#define COREGA_VENDOR_ID        0x07aa
#define COREGA_PRODUCT_ID       0x002a

/* Y.C. Cable U.S.A., Inc - USB to RS-232 */
#define YCCABLE_VENDOR_ID       0x05ad
#define YCCABLE_PRODUCT_ID      0x0fba

/* "Superial" USB - Serial */
#define SUPERIAL_VENDOR_ID      0x5372
#define SUPERIAL_PRODUCT_ID     0x2303

/* Hewlett-Packard LD220-HP POS Pole Display */
#define HP_VENDOR_ID            0x03f0
#define HP_LD220_PRODUCT_ID     0x3524

/* Cressi Edy (diving computer) PC interface */
#define CRESSI_VENDOR_ID        0x04b8
#define CRESSI_EDY_PRODUCT_ID   0x0521

/* Zeagle dive computer interface */
#define ZEAGLE_VENDOR_ID        0x04b8
#define ZEAGLE_N2ITION3_PRODUCT_ID      0x0522

/* Sony, USB data cable for CMD-Jxx mobile phones */
#define SONY_VENDOR_ID          0x054c
#define SONY_QN3USB_PRODUCT_ID  0x0437

/* Sanwa KB-USB2 multimeter cable (ID: 11ad:0001) */
#define SANWA_VENDOR_ID         0x11ad
#define SANWA_PRODUCT_ID        0x0001

/* ADLINK ND-6530 RS232,RS485 and RS422 adapter */
#define ADLINK_VENDOR_ID                0x0b63
#define ADLINK_ND6530_PRODUCT_ID        0x6530

/* SMART USB Serial Adapter */
#define SMART_VENDOR_ID 0x0b8c
#define SMART_PRODUCT_ID        0x2303
