/*
 * 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 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

/* 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
