xref: /plan9/sys/src/cmd/usb/serial/ftdi.h (revision 6bbfed0d85c6d7248503ef0614d0f1e40438b735)
180e9508eSDavid du Colombier enum {
280e9508eSDavid du Colombier 	/* used by devices which don't provide their own Vid */
380e9508eSDavid du Colombier 	FTVid		= 0x0403,
480e9508eSDavid du Colombier 
580e9508eSDavid du Colombier 	FTSheevaVid	= 0x9E88,
680e9508eSDavid du Colombier 	FTSheevaDid	= 0x9E8F,
73e5d0078SDavid du Colombier 	FTOpenRDUltDid	= 0x9E90,
880e9508eSDavid du Colombier 
980e9508eSDavid du Colombier 	FTSIODid	= 0x8372,	/* Product Id SIO appl'n of 8U100AX */
1080e9508eSDavid du Colombier 	FT8U232AMDid	= 0x6001,	/* Similar device to SIO above */
1180e9508eSDavid du Colombier 	FT8U232AMALTDid	= 0x6006,	/* FT's alternate Did for above*/
1280e9508eSDavid du Colombier 	FT8U2232CDid	= 0x6010,	/* Dual channel device */
1380e9508eSDavid du Colombier 	FTRELAISDid	= 0xFA10,	/* Relais device */
1480e9508eSDavid du Colombier 
1580e9508eSDavid du Colombier 	/* NF reader */
1680e9508eSDavid du Colombier 	FTNFRICVid	= 0x0DCD,
1780e9508eSDavid du Colombier 	FTNFRICDid	= 0x0001,
1880e9508eSDavid du Colombier 
1980e9508eSDavid du Colombier 	FTACTZWAVEDid	= 0xF2D0,		/* www.irtrans.de device */
2080e9508eSDavid du Colombier 
2180e9508eSDavid du Colombier 	/*
2280e9508eSDavid du Colombier 	 * ACT Solutions HomePro ZWave interface
2380e9508eSDavid du Colombier 	 * http://www.act-solutions.com/HomePro.htm)
2480e9508eSDavid du Colombier 	 */
2580e9508eSDavid du Colombier 	FTIRTRANSDid	= 0xFC60,
2680e9508eSDavid du Colombier 
2780e9508eSDavid du Colombier 	/*
2880e9508eSDavid du Colombier 	 * www.thoughttechnology.com/ TT-USB
2980e9508eSDavid du Colombier 	 */
3080e9508eSDavid du Colombier 	FTTTUSBDid	= 0xFF20,
3180e9508eSDavid du Colombier 
3280e9508eSDavid du Colombier 	/* iPlus device */
3380e9508eSDavid du Colombier 	FTIPLUSDid	= 0xD070,
3480e9508eSDavid du Colombier 
3580e9508eSDavid du Colombier 	/* www.crystalfontz.com devices */
3680e9508eSDavid du Colombier 	FTXF632Did = 0xFC08,	/* 632: 16x2 Character Display */
3780e9508eSDavid du Colombier 	FTXF634Did = 0xFC09,	/* 634: 20x4 Character Display */
3880e9508eSDavid du Colombier 	FTXF547Did = 0xFC0A,	/* 547: Two line Display */
3980e9508eSDavid du Colombier 	FTXF633Did = 0xFC0B,	/* 633: 16x2 Character Display with Keys */
4080e9508eSDavid du Colombier 	FTXF631Did = 0xFC0C,	/* 631: 20x2 Character Display */
4180e9508eSDavid du Colombier 	FTXF635Did = 0xFC0D,	/* 635: 20x4 Character Display */
4280e9508eSDavid du Colombier 	FTXF640Did = 0xFC0E,	/* 640: Two line Display */
4380e9508eSDavid du Colombier 	FTXF642Did = 0xFC0F,	/* 642: Two line Display */
4480e9508eSDavid du Colombier 
4580e9508eSDavid du Colombier 	/*
4680e9508eSDavid du Colombier 	 * Video Networks Limited / Homechoice in the UK
4780e9508eSDavid du Colombier 	 * use an ftdi-based device for their 1Mb broadband
4880e9508eSDavid du Colombier 	 */
4980e9508eSDavid du Colombier 	FTVNHCPCUSBDDid	= 0xfe38,
5080e9508eSDavid du Colombier 
5180e9508eSDavid du Colombier 	/*
5280e9508eSDavid du Colombier 	 * PCDJ use ftdi based dj-controllers
5380e9508eSDavid du Colombier 	 * DAC-2 device http://www.pcdjhardware.com/DAC2.asp
5480e9508eSDavid du Colombier 	 */
5580e9508eSDavid du Colombier 	FTPCDJDAC2Did = 0xFA88,
5680e9508eSDavid du Colombier 
5780e9508eSDavid du Colombier 	/*
5880e9508eSDavid du Colombier 	 * Matrix Orbital LCD displays,
5980e9508eSDavid du Colombier 	 * which are the FT232BM (similar to the 8U232AM)
6080e9508eSDavid du Colombier 	 */
6180e9508eSDavid du Colombier 	FTMTXORB0Did = 0xFA00,
6280e9508eSDavid du Colombier 	FTMTXORB1Did = 0xFA01,
6380e9508eSDavid du Colombier 	FTMTXORB2Did = 0xFA02,
6480e9508eSDavid du Colombier 	FTMTXORB3Did = 0xFA03,
6580e9508eSDavid du Colombier 	FTMTXORB4Did = 0xFA04,
6680e9508eSDavid du Colombier 	FTMTXORB5Did = 0xFA05,
6780e9508eSDavid du Colombier 	FTMTXORB6Did = 0xFA06,
6880e9508eSDavid du Colombier 
6980e9508eSDavid du Colombier 	/* Interbiometrics USB I/O Board */
7080e9508eSDavid du Colombier 	INTERBIOMVid		= 0x1209,
7180e9508eSDavid du Colombier 	INTERBIOMIOBRDDid	= 0x1002,
7280e9508eSDavid du Colombier 	INTERBIOMMINIIOBRDDid	= 0x1006,
7380e9508eSDavid du Colombier 
7480e9508eSDavid du Colombier 	/*
7580e9508eSDavid du Colombier 	 * The following are the values for the Perle Systems
7680e9508eSDavid du Colombier 	 * UltraPort USB serial converters
7780e9508eSDavid du Colombier 	 */
7880e9508eSDavid du Colombier 	FTPERLEULTRAPORTDid = 0xF0C0,
7980e9508eSDavid du Colombier 
8080e9508eSDavid du Colombier 	/*
8180e9508eSDavid du Colombier 	 * Sealevel SeaLINK+ adapters.
8280e9508eSDavid du Colombier 	 */
8380e9508eSDavid du Colombier 
8480e9508eSDavid du Colombier 	SEALEVELVid = 0x0c52,
8580e9508eSDavid du Colombier 
8680e9508eSDavid du Colombier 	SEALEVEL2101Did = 0x2101,	/* SeaLINK+232 (2101/2105) */
8780e9508eSDavid du Colombier 	SEALEVEL2102Did = 0x2102,	/* SeaLINK+485 (2102) */
8880e9508eSDavid du Colombier 	SEALEVEL2103Did = 0x2103,	/* SeaLINK+232I (2103) */
8980e9508eSDavid du Colombier 	SEALEVEL2104Did = 0x2104,	/* SeaLINK+485I (2104) */
9080e9508eSDavid du Colombier 	SEALEVEL22011Did = 0x2211,	/* SeaPORT+2/232 (2201) Port 1 */
9180e9508eSDavid du Colombier 	SEALEVEL22012Did = 0x2221,	/* SeaPORT+2/232 (2201) Port 2 */
9280e9508eSDavid du Colombier 	SEALEVEL22021Did = 0x2212,	/* SeaPORT+2/485 (2202) Port 1 */
9380e9508eSDavid du Colombier 	SEALEVEL22022Did = 0x2222,	/* SeaPORT+2/485 (2202) Port 2 */
9480e9508eSDavid du Colombier 	SEALEVEL22031Did = 0x2213,	/* SeaPORT+2 (2203) Port 1 */
9580e9508eSDavid du Colombier 	SEALEVEL22032Did = 0x2223,	/* SeaPORT+2 (2203) Port 2 */
9680e9508eSDavid du Colombier 	SEALEVEL24011Did = 0x2411,	/* SeaPORT+4/232 (2401) Port 1 */
9780e9508eSDavid du Colombier 	SEALEVEL24012Did = 0x2421,	/* SeaPORT+4/232 (2401) Port 2 */
9880e9508eSDavid du Colombier 	SEALEVEL24013Did = 0x2431,	/* SeaPORT+4/232 (2401) Port 3 */
9980e9508eSDavid du Colombier 	SEALEVEL24014Did = 0x2441,	/* SeaPORT+4/232 (2401) Port 4 */
10080e9508eSDavid du Colombier 	SEALEVEL24021Did = 0x2412,	/* SeaPORT+4/485 (2402) Port 1 */
10180e9508eSDavid du Colombier 	SEALEVEL24022Did = 0x2422,	/* SeaPORT+4/485 (2402) Port 2 */
10280e9508eSDavid du Colombier 	SEALEVEL24023Did = 0x2432,	/* SeaPORT+4/485 (2402) Port 3 */
10380e9508eSDavid du Colombier 	SEALEVEL24024Did = 0x2442,	/* SeaPORT+4/485 (2402) Port 4 */
10480e9508eSDavid du Colombier 	SEALEVEL24031Did = 0x2413,	/* SeaPORT+4 (2403) Port 1 */
10580e9508eSDavid du Colombier 	SEALEVEL24032Did = 0x2423,	/* SeaPORT+4 (2403) Port 2 */
10680e9508eSDavid du Colombier 	SEALEVEL24033Did = 0x2433,	/* SeaPORT+4 (2403) Port 3 */
10780e9508eSDavid du Colombier 	SEALEVEL24034Did = 0x2443,	/* SeaPORT+4 (2403) Port 4 */
10880e9508eSDavid du Colombier 	SEALEVEL28011Did = 0x2811,	/* SeaLINK+8/232 (2801) Port 1 */
10980e9508eSDavid du Colombier 	SEALEVEL28012Did = 0x2821,	/* SeaLINK+8/232 (2801) Port 2 */
11080e9508eSDavid du Colombier 	SEALEVEL28013Did = 0x2831,	/* SeaLINK+8/232 (2801) Port 3 */
11180e9508eSDavid du Colombier 	SEALEVEL28014Did = 0x2841,	/* SeaLINK+8/232 (2801) Port 4 */
11280e9508eSDavid du Colombier 	SEALEVEL28015Did = 0x2851,	/* SeaLINK+8/232 (2801) Port 5 */
11380e9508eSDavid du Colombier 	SEALEVEL28016Did = 0x2861,	/* SeaLINK+8/232 (2801) Port 6 */
11480e9508eSDavid du Colombier 	SEALEVEL28017Did = 0x2871,	/* SeaLINK+8/232 (2801) Port 7 */
11580e9508eSDavid du Colombier 	SEALEVEL28018Did = 0x2881,	/* SeaLINK+8/232 (2801) Port 8 */
11680e9508eSDavid du Colombier 	SEALEVEL28021Did = 0x2812,	/* SeaLINK+8/485 (2802) Port 1 */
11780e9508eSDavid du Colombier 	SEALEVEL28022Did = 0x2822,	/* SeaLINK+8/485 (2802) Port 2 */
11880e9508eSDavid du Colombier 	SEALEVEL28023Did = 0x2832,	/* SeaLINK+8/485 (2802) Port 3 */
11980e9508eSDavid du Colombier 	SEALEVEL28024Did = 0x2842,	/* SeaLINK+8/485 (2802) Port 4 */
12080e9508eSDavid du Colombier 	SEALEVEL28025Did = 0x2852,	/* SeaLINK+8/485 (2802) Port 5 */
12180e9508eSDavid du Colombier 	SEALEVEL28026Did = 0x2862,	/* SeaLINK+8/485 (2802) Port 6 */
12280e9508eSDavid du Colombier 	SEALEVEL28027Did = 0x2872,	/* SeaLINK+8/485 (2802) Port 7 */
12380e9508eSDavid du Colombier 	SEALEVEL28028Did = 0x2882,	/* SeaLINK+8/485 (2802) Port 8 */
12480e9508eSDavid du Colombier 	SEALEVEL28031Did = 0x2813,	/* SeaLINK+8 (2803) Port 1 */
12580e9508eSDavid du Colombier 	SEALEVEL28032Did = 0x2823,	/* SeaLINK+8 (2803) Port 2 */
12680e9508eSDavid du Colombier 	SEALEVEL28033Did = 0x2833,	/* SeaLINK+8 (2803) Port 3 */
12780e9508eSDavid du Colombier 	SEALEVEL28034Did = 0x2843,	/* SeaLINK+8 (2803) Port 4 */
12880e9508eSDavid du Colombier 	SEALEVEL28035Did = 0x2853,	/* SeaLINK+8 (2803) Port 5 */
12980e9508eSDavid du Colombier 	SEALEVEL28036Did = 0x2863,	/* SeaLINK+8 (2803) Port 6 */
13080e9508eSDavid du Colombier 	SEALEVEL28037Did = 0x2873,	/* SeaLINK+8 (2803) Port 7 */
13180e9508eSDavid du Colombier 	SEALEVEL28038Did = 0x2883,	/* SeaLINK+8 (2803) Port 8 */
13280e9508eSDavid du Colombier 
13380e9508eSDavid du Colombier 	/* KOBIL Vendor ID chipcard terminals */
13480e9508eSDavid du Colombier 	KOBILVid	= 0x0d46,
13580e9508eSDavid du Colombier 	KOBILCONVB1Did	= 0x2020,	/* KOBIL Konverter for B1 */
13680e9508eSDavid du Colombier 	KOBILCONVKAANDid = 0x2021,	/* KOBILKonverter for KAAN */
13780e9508eSDavid du Colombier 
13880e9508eSDavid du Colombier 	/* Icom ID-1 digital transceiver */
13980e9508eSDavid du Colombier 	ICOMID1Vid	= 0x0C26,
14080e9508eSDavid du Colombier 	ICOMID1Did	= 0x0004,
14180e9508eSDavid du Colombier 
14280e9508eSDavid du Colombier 	FTASKRDR400Did	= 0xC991,	/* ASK RDR 400 series card reader */
14380e9508eSDavid du Colombier 	FTDSS20Did	= 0xFC82,	/* DSS-20 Sync Station for Sony Ericsson P800 */
14480e9508eSDavid du Colombier 
14580e9508eSDavid du Colombier 	/*
14680e9508eSDavid du Colombier 	 * Home Electronics (www.home-electro.com) USB gadgets
14780e9508eSDavid du Colombier 	 */
14880e9508eSDavid du Colombier 	FTHETIRA1Did	= 0xFA78,	/* Tira-1 IR transceiver */
14980e9508eSDavid du Colombier 
15080e9508eSDavid du Colombier 	/*
15180e9508eSDavid du Colombier 	 * An infrared receiver and transmitter using the 8U232AM chip
15280e9508eSDavid du Colombier 	 * http://www.usbuirt.com
15380e9508eSDavid du Colombier 	 */
15480e9508eSDavid du Colombier 	FTUSBUIRTDid	= 0xF850,
15580e9508eSDavid du Colombier 
15680e9508eSDavid du Colombier 	FTELVUR100Did	= 0xFB58,	/* USB-RS232-Umsetzer (UR 100) */
15780e9508eSDavid du Colombier 	FTELVUM100Did	= 0xFB5A,	/* USB-Modul UM 100 */
15880e9508eSDavid du Colombier 	FTELVUO100Did	= 0xFB5B,	/* USB-Modul UO 100 */
15980e9508eSDavid du Colombier 	FTELVALC8500Did	= 0xF06E,	/* ALC 8500 Expert */
16080e9508eSDavid du Colombier 	FTELVCLI7000Did	= 0xFB59,	/* Computer-Light-Interface */
16180e9508eSDavid du Colombier 	FTELVPPS7330Did	= 0xFB5C,	/* Processor-Power-Supply (PPS 7330) */
16280e9508eSDavid du Colombier 	FTELVTFM100Did	= 0xFB5D,	/* Temperartur-Feuchte Messgeraet (TFM 100) */
16380e9508eSDavid du Colombier 	FTELVUDF77Did	= 0xFB5E,	/* USB DCF Funkurh (UDF 77) */
16480e9508eSDavid du Colombier 	FTELVUIO88Did	= 0xFB5F,	/* USB-I/O Interface (UIO 88) */
16580e9508eSDavid du Colombier 	FTELVUAD8Did	= 0xF068,	/* USB-AD-Wandler (UAD 8) */
16680e9508eSDavid du Colombier 	FTELVUDA7Did	= 0xF069,	/* USB-DA-Wandler (UDA 7) */
16780e9508eSDavid du Colombier 	FTELVUSI2Did	= 0xF06A,	/* USB-Schrittmotoren-Interface (USI 2) */
16880e9508eSDavid du Colombier 	FTELVT1100Did	= 0xF06B,	/* Thermometer (T 1100) */
16980e9508eSDavid du Colombier 	FTELVPCD200Did	= 0xF06C,	/* PC-Datenlogger (PCD 200) */
17080e9508eSDavid du Colombier 	FTELVULA200Did	= 0xF06D,	/* USB-LCD-Ansteuerung (ULA 200) */
17180e9508eSDavid du Colombier 	FTELVFHZ1000PCDid= 0xF06F,	/* FHZ 1000 PC */
17280e9508eSDavid du Colombier 	FTELVCSI8Did	= 0xE0F0,	/* Computer-Schalt-Interface (CSI 8) */
17380e9508eSDavid du Colombier 	FTELVEM1000DLDid= 0xE0F1,	/* PC-Datenlogger fuer Energiemonitor (EM 1000 DL) */
17480e9508eSDavid du Colombier 	FTELVPCK100Did	= 0xE0F2,	/* PC-Kabeltester (PCK 100) */
17580e9508eSDavid du Colombier 	FTELVRFP500Did	= 0xE0F3,	/* HF-Leistungsmesser (RFP 500) */
17680e9508eSDavid du Colombier 	FTELVFS20SIGDid	= 0xE0F4,	/* Signalgeber (FS 20 SIG) */
17780e9508eSDavid du Colombier 	FTELVWS300PCDid	= 0xE0F6,	/* PC-Wetterstation (WS 300 PC) */
17880e9508eSDavid du Colombier 	FTELVFHZ1300PCDid= 0xE0E8,	/* FHZ 1300 PC */
17980e9508eSDavid du Colombier 	FTELVWS500Did	= 0xE0E9,	/* PC-Wetterstation (WS 500) */
18080e9508eSDavid du Colombier 
18180e9508eSDavid du Colombier 	/*
18280e9508eSDavid du Colombier 	 * Definitions for ID TECH (http://www.idt-net.com) devices
18380e9508eSDavid du Colombier 	 */
18480e9508eSDavid du Colombier 	IDTECHVid	= 0x0ACD,	/* ID TECH Vendor ID */
18580e9508eSDavid du Colombier 	IDTECHIDT1221UDid= 0x0300,	/* IDT1221U USB to RS-232 */
18680e9508eSDavid du Colombier 
18780e9508eSDavid du Colombier 	/*
18880e9508eSDavid du Colombier 	 * Definitions for Omnidirectional Control Technology, Inc. devices
18980e9508eSDavid du Colombier 	 */
19080e9508eSDavid du Colombier 	OCTVid		= 0x0B39,	/* OCT vendor ID */
19180e9508eSDavid du Colombier 
19280e9508eSDavid du Colombier 	/*
19380e9508eSDavid du Colombier 	 * Note: OCT US101 is also rebadged as Dick Smith Electronics
19480e9508eSDavid du Colombier 	 * (NZ) XH6381, Dick Smith Electronics (Aus) XH6451, and SIIG
19580e9508eSDavid du Colombier 	 * Inc. model US2308 hardware version 1.
19680e9508eSDavid du Colombier 	 */
19780e9508eSDavid du Colombier 	OCTUS101Did	= 0x0421,	/* OCT US101 USB to RS-232 */
19880e9508eSDavid du Colombier 
19980e9508eSDavid du Colombier 	/*
20080e9508eSDavid du Colombier 	 *	infrared receiver for access control with IR tags
20180e9508eSDavid du Colombier 	 */
20280e9508eSDavid du Colombier 	FTPIEGROUPDid	= 0xF208,
20380e9508eSDavid du Colombier 
20480e9508eSDavid du Colombier 	/*
20580e9508eSDavid du Colombier 	 * Definitions for Artemis astronomical USB based cameras
20680e9508eSDavid du Colombier 	 * http://www.artemisccd.co.uk/
20780e9508eSDavid du Colombier 	 */
20880e9508eSDavid du Colombier 
20980e9508eSDavid du Colombier 	FTARTEMISDid	= 0xDF28,	/* All Artemis Cameras */
21080e9508eSDavid du Colombier 
21180e9508eSDavid du Colombier 	FTATIKATK16Did	= 0xDF30,	/* ATIK ATK-16 Grayscale Camera */
21280e9508eSDavid du Colombier 	FTATIKATK16CDid = 0xDF32,	/* ATIK ATK-16C Colour Camera */
21380e9508eSDavid du Colombier 	FTATIKATK16HRDid= 0xDF31,	/* ATIK ATK-16HR Grayscale */
21480e9508eSDavid du Colombier 	FTATIKATK16HRCDid= 0xDF33,	/* ATIK ATK-16HRC Colour Camera */
21580e9508eSDavid du Colombier 
21680e9508eSDavid du Colombier 	/*
21780e9508eSDavid du Colombier 	 * Protego products
21880e9508eSDavid du Colombier 	 */
21980e9508eSDavid du Colombier 	PROTEGOSPECIAL1	= 0xFC70,	/* special/unknown device */
22080e9508eSDavid du Colombier 	PROTEGOR2X0	= 0xFC71,	/* R200-USB TRNG unit (R210, R220, and R230) */
22180e9508eSDavid du Colombier 	PROTEGOSPECIAL3	= 0xFC72,	/* special/unknown device */
22280e9508eSDavid du Colombier 	PROTEGOSPECIAL4	= 0xFC73,	/* special/unknown device */
22380e9508eSDavid du Colombier 
22480e9508eSDavid du Colombier 	/*
22580e9508eSDavid du Colombier 	 * Gude Analog- und Digitalsysteme GmbH
22680e9508eSDavid du Colombier 	 */
22780e9508eSDavid du Colombier 	FTGUDEADSE808Did = 0xE808,
22880e9508eSDavid du Colombier 	FTGUDEADSE809Did = 0xE809,
22980e9508eSDavid du Colombier 	FTGUDEADSE80ADid = 0xE80A,
23080e9508eSDavid du Colombier 	FTGUDEADSE80BDid = 0xE80B,
23180e9508eSDavid du Colombier 	FTGUDEADSE80CDid = 0xE80C,
23280e9508eSDavid du Colombier 	FTGUDEADSE80DDid = 0xE80D,
23380e9508eSDavid du Colombier 	FTGUDEADSE80EDid = 0xE80E,
23480e9508eSDavid du Colombier 	FTGUDEADSE80FDid = 0xE80F,
23580e9508eSDavid du Colombier 	FTGUDEADSE888Did = 0xE888,	/* Expert ISDN Control USB */
23680e9508eSDavid du Colombier 	FTGUDEADSE889Did = 0xE889,	/* USB RS-232 OptoBridge */
23780e9508eSDavid du Colombier 	FTGUDEADSE88ADid = 0xE88A,
23880e9508eSDavid du Colombier 	FTGUDEADSE88BDid = 0xE88B,
23980e9508eSDavid du Colombier 	FTGUDEADSE88CDid = 0xE88C,
24080e9508eSDavid du Colombier 	FTGUDEADSE88DDid = 0xE88D,
24180e9508eSDavid du Colombier 	FTGUDEADSE88EDid = 0xE88E,
24280e9508eSDavid du Colombier 	FTGUDEADSE88FDid = 0xE88F,
24380e9508eSDavid du Colombier 
24480e9508eSDavid du Colombier 	/*
24580e9508eSDavid du Colombier 	 * Linx Technologies
24680e9508eSDavid du Colombier 	 */
24780e9508eSDavid du Colombier 	LINXSDMUSBQSSDid= 0xF448,	/* Linx SDM-USB-QS-S */
24880e9508eSDavid du Colombier 	LINXMASTERDEVEL2Did= 0xF449,	/* Linx Master Development.0 */
24980e9508eSDavid du Colombier 	LINXFUTURE0Did	= 0xF44A,	/* Linx future device */
25080e9508eSDavid du Colombier 	LINXFUTURE1Did	= 0xF44B,	/* Linx future device */
25180e9508eSDavid du Colombier 	LINXFUTURE2Did	= 0xF44C,	/* Linx future device */
25280e9508eSDavid du Colombier 
25380e9508eSDavid du Colombier 	/*
25480e9508eSDavid du Colombier 	 * CCS Inc. ICDU/ICDU40 - the FT232BM used in a in-circuit-debugger
25580e9508eSDavid du Colombier 	 * unit for PIC16's/PIC18's
25680e9508eSDavid du Colombier 	 */
25780e9508eSDavid du Colombier 	FTCCSICDU200Did	= 0xF9D0,
25880e9508eSDavid du Colombier 	FTCCSICDU401Did	= 0xF9D1,
25980e9508eSDavid du Colombier 
26080e9508eSDavid du Colombier 	/* Inside Accesso contactless reader (http://www.insidefr.com) */
26180e9508eSDavid du Colombier 	INSIDEACCESSO	= 0xFAD0,
26280e9508eSDavid du Colombier 
26380e9508eSDavid du Colombier 	/*
26480e9508eSDavid du Colombier 	 * Intrepid Control Systems (http://www.intrepidcs.com/)
26580e9508eSDavid du Colombier 	 * ValueCAN and NeoVI
26680e9508eSDavid du Colombier 	 */
26780e9508eSDavid du Colombier 	INTREDidVid	= 0x093C,
26880e9508eSDavid du Colombier 	INTREDidVALUECANDid= 0x0601,
26980e9508eSDavid du Colombier 	INTREDidNEOVIDid= 0x0701,
27080e9508eSDavid du Colombier 
27180e9508eSDavid du Colombier 	/*
27280e9508eSDavid du Colombier 	 * Falcom Wireless Communications GmbH
27380e9508eSDavid du Colombier 	 */
27480e9508eSDavid du Colombier 	FALCOMVid	= 0x0F94,
27580e9508eSDavid du Colombier 	FALCOMTWISTDid	= 0x0001,	/* Falcom Twist USB GPRS modem */
27680e9508eSDavid du Colombier 	FALCOMSAMBADid	= 0x0005,	/* Falcom Samba USB GPRS modem */
27780e9508eSDavid du Colombier 
27880e9508eSDavid du Colombier 	/*
27980e9508eSDavid du Colombier 	 * SUUNTO
28080e9508eSDavid du Colombier 	 */
28180e9508eSDavid du Colombier 	FTSUUNTOSPORTSDid= 0xF680,	/* Suunto Sports instrument */
28280e9508eSDavid du Colombier 
28380e9508eSDavid du Colombier 	/*
28480e9508eSDavid du Colombier 	 * B&B Electronics
28580e9508eSDavid du Colombier 	 */
28680e9508eSDavid du Colombier 	BANDBVid	= 0x0856,	/* B&B Electronics Vendor ID */
28780e9508eSDavid du Colombier 	BANDBUSOTL4Did	= 0xAC01,	/* USOTL4 Isolated RS-485 */
28880e9508eSDavid du Colombier 	BANDBUSTL4Did	= 0xAC02,	/* USTL4 RS-485 Converter */
28980e9508eSDavid du Colombier 	BANDBUSO9ML2Did	= 0xAC03,	/* USO9ML2 Isolated RS-232 */
29080e9508eSDavid du Colombier 
29180e9508eSDavid du Colombier 	/*
29280e9508eSDavid du Colombier 	 * RM Michaelides CANview USB (http://www.rmcan.com)
29380e9508eSDavid du Colombier 	 * CAN fieldbus interface adapter
29480e9508eSDavid du Colombier 	 */
29580e9508eSDavid du Colombier 	FTRMCANVIEWDid	= 0xfd60,
29680e9508eSDavid du Colombier 
29780e9508eSDavid du Colombier 	/*
29880e9508eSDavid du Colombier 	 * EVER Eco Pro UPS (http://www.ever.com.pl/)
29980e9508eSDavid du Colombier 	 */
30080e9508eSDavid du Colombier 	EVERECOPROCDSDid = 0xe520,	/* RS-232 converter */
30180e9508eSDavid du Colombier 
30280e9508eSDavid du Colombier 	/*
30380e9508eSDavid du Colombier 	 * 4N-GALAXY.DE PIDs for CAN-USB, USB-RS232, USB-RS422, USB-RS485,
30480e9508eSDavid du Colombier 	 * USB-TTY activ, USB-TTY passiv. Some PIDs are used by several devices
30580e9508eSDavid du Colombier 	 */
30680e9508eSDavid du Colombier 	FT4NGALAXYDE0Did = 0x8372,
30780e9508eSDavid du Colombier 	FT4NGALAXYDE1Did = 0xF3C0,
30880e9508eSDavid du Colombier 	FT4NGALAXYDE2Did = 0xF3C1,
30980e9508eSDavid du Colombier 
31080e9508eSDavid du Colombier 	/*
31180e9508eSDavid du Colombier 	 * Mobility Electronics products.
31280e9508eSDavid du Colombier 	 */
31380e9508eSDavid du Colombier 	MOBILITYVid	= 0x1342,
31480e9508eSDavid du Colombier 	MOBILITYUSBSERIALDid= 0x0202,	/* EasiDock USB 200 serial */
31580e9508eSDavid du Colombier 
31680e9508eSDavid du Colombier 	/*
31780e9508eSDavid du Colombier 	 * microHAM product IDs (http://www.microham.com)
31880e9508eSDavid du Colombier 	 */
31980e9508eSDavid du Colombier 	FTMHAMKWDid	= 0xEEE8,	/* USB-KW interface */
32080e9508eSDavid du Colombier 	FTMHAMYSDid	= 0xEEE9,	/* USB-YS interface */
32180e9508eSDavid du Colombier 	FTMHAMY6Did	= 0xEEEA,	/* USB-Y6 interface */
32280e9508eSDavid du Colombier 	FTMHAMY8Did	= 0xEEEB,	/* USB-Y8 interface */
32380e9508eSDavid du Colombier 	FTMHAMICDid	= 0xEEEC,	/* USB-IC interface */
32480e9508eSDavid du Colombier 	FTMHAMDB9Did	= 0xEEED,	/* USB-DB9 interface */
32580e9508eSDavid du Colombier 	FTMHAMRS232Did	= 0xEEEE,	/* USB-RS232 interface */
32680e9508eSDavid du Colombier 	FTMHAMY9Did	= 0xEEEF,	/* USB-Y9 interface */
32780e9508eSDavid du Colombier 
32880e9508eSDavid du Colombier 	/*
32980e9508eSDavid du Colombier 	 * Active Robots product ids.
33080e9508eSDavid du Colombier 	 */
33180e9508eSDavid du Colombier 	FTACTIVEROBOTSDid	= 0xE548,	/* USB comms board */
33280e9508eSDavid du Colombier 	XSENSCONVERTER0Did	= 0xD388,
33380e9508eSDavid du Colombier 	XSENSCONVERTER1Did	= 0xD389,
33480e9508eSDavid du Colombier 	XSENSCONVERTER2Did	= 0xD38A,
33580e9508eSDavid du Colombier 	XSENSCONVERTER3Did	= 0xD38B,
33680e9508eSDavid du Colombier 	XSENSCONVERTER4Did	= 0xD38C,
33780e9508eSDavid du Colombier 	XSENSCONVERTER5Did	= 0xD38D,
33880e9508eSDavid du Colombier 	XSENSCONVERTER6Did	= 0xD38E,
33980e9508eSDavid du Colombier 	XSENSCONVERTER7Did	= 0xD38F,
34080e9508eSDavid du Colombier 
34180e9508eSDavid du Colombier 	/*
34280e9508eSDavid du Colombier 	 * Xsens Technologies BV products (http://www.xsens.com).
34380e9508eSDavid du Colombier 	 */
34480e9508eSDavid du Colombier 	FTTERATRONIKVCPDid	= 0xEC88,	/* Teratronik device */
34580e9508eSDavid du Colombier 	FTTERATRONIKD2XXDid	= 0xEC89,	/* Teratronik device */
34680e9508eSDavid du Colombier 
34780e9508eSDavid du Colombier 	/*
34880e9508eSDavid du Colombier 	 * Evolution Robotics products (http://www.evolution.com/).
34980e9508eSDavid du Colombier 	 */
35080e9508eSDavid du Colombier 	EVOLUTIONVid	= 0xDEEE,
35180e9508eSDavid du Colombier 	EVOLUTIONER1Did	= 0x0300,		/* ER1 Control Module */
35280e9508eSDavid du Colombier 
35380e9508eSDavid du Colombier 	/* Pyramid Computer GmbH */
35480e9508eSDavid du Colombier 	FTPYRAMIDDid	= 0xE6C8,		/* Pyramid Appliance Display */
35580e9508eSDavid du Colombier 
35680e9508eSDavid du Colombier 	/*
35780e9508eSDavid du Colombier 	 * Posiflex inc retail equipment (http://www.posiflex.com.tw)
35880e9508eSDavid du Colombier 	 */
35980e9508eSDavid du Colombier 	POSIFLEXVid	= 0x0d3a,
36080e9508eSDavid du Colombier 	POSIFLEXPP7000Did= 0x0300,		/* PP-7000II thermal printer */
36180e9508eSDavid du Colombier 
36280e9508eSDavid du Colombier 	/*
36380e9508eSDavid du Colombier 	 * Westrex International devices
36480e9508eSDavid du Colombier 	 */
36580e9508eSDavid du Colombier 	FTWESTREXMODEL777Did	= 0xDC00,	/* Model 777 */
36680e9508eSDavid du Colombier 	FTWESTREXMODEL8900FDid	= 0xDC01,	/* Model 8900F */
36780e9508eSDavid du Colombier 
36880e9508eSDavid du Colombier 	/*
36980e9508eSDavid du Colombier 	 * RR-CirKits LocoBuffer USB (http://www.rr-cirkits.com)
37080e9508eSDavid du Colombier 	 */
37180e9508eSDavid du Colombier 	FTRRCIRKITSLOCOBUFFERDid= 0xc7d0,	/* LocoBuffer USB */
37280e9508eSDavid du Colombier 	FTECLOCOM1WIREDid	= 0xEA90,	/* COM to 1-Wire USB */
37380e9508eSDavid du Colombier 
37480e9508eSDavid du Colombier 	/*
37580e9508eSDavid du Colombier 	 * Papouch products (http://www.papouch.com/)
37680e9508eSDavid du Colombier 	 */
37780e9508eSDavid du Colombier 	PAPOUCHVid	= 0x5050,
37880e9508eSDavid du Colombier 	PAPOUCHTMUDid	= 0x0400,		/* TMU USB Thermometer */
37980e9508eSDavid du Colombier 
38080e9508eSDavid du Colombier 	/*
38180e9508eSDavid du Colombier 	 * ACG Identification Technologies GmbH products http://www.acg.de/
38280e9508eSDavid du Colombier 	 */
38380e9508eSDavid du Colombier 	FTACGHFDUALDid	= 0xDD20,		/* HF Dual ISO Reader (RFID) */
384d5789509SDavid du Colombier 	/*
385d5789509SDavid du Colombier 	 * new high speed devices
386d5789509SDavid du Colombier 	 */
387d5789509SDavid du Colombier 	FT4232HDid	= 0x6011,		/* FTDI FT4232H based device */
388d5789509SDavid du Colombier 
389*6bbfed0dSDavid du Colombier 	/*
390*6bbfed0dSDavid du Colombier 	 * Amontec JTAGkey (http://www.amontec.com/)
391*6bbfed0dSDavid du Colombier 	 */
392*6bbfed0dSDavid du Colombier 	AMONKEYDid	= 0xCFF8,
39380e9508eSDavid du Colombier };
39480e9508eSDavid du Colombier 
39580e9508eSDavid du Colombier /* Commands */
39680e9508eSDavid du Colombier enum {
39780e9508eSDavid du Colombier 	FTRESET		= 0,		/* Reset the port */
39880e9508eSDavid du Colombier 	FTSETMODEMCTRL,			/* Set the modem control register */
39980e9508eSDavid du Colombier 	FTSETFLOWCTRL,			/* Set flow control register */
400d584e620SDavid du Colombier 	FTSETBAUDRATE,			/* Set baud rate */
40180e9508eSDavid du Colombier 	FTSETDATA,			/* Set the parameters, parity */
40280e9508eSDavid du Colombier 	FTGETMODEMSTATUS,		/* Retrieve current value of modem ctl */
40380e9508eSDavid du Colombier 	FTSETEVENTCHAR,			/* Set the event character */
40480e9508eSDavid du Colombier 	FTSETERRORCHAR,			/* Set the error character */
405d584e620SDavid du Colombier 	FTUNKNOWN,
40680e9508eSDavid du Colombier 	FTSETLATENCYTIMER,		/* Set the latency timer */
40780e9508eSDavid du Colombier 	FTGETLATENCYTIMER,		/* Get the latency timer */
408d584e620SDavid du Colombier 	FTSETBITMODE,			/* Set bit mode */
409d5789509SDavid du Colombier 	FTGETPINS,			/* Read pins state */
410d584e620SDavid du Colombier 	FTGETE2READ	= 0x90,		/* Read address from 128-byte I2C EEPROM */
411d584e620SDavid du Colombier 	FTSETE2WRITE,			/* Write to address on 128-byte I2C EEPROM */
412d584e620SDavid du Colombier 	FTSETE2ERASE,			/* Erase address on 128-byte I2C EEPROM */
413d584e620SDavid du Colombier };
414d584e620SDavid du Colombier 
415d584e620SDavid du Colombier /* Port Identifier Table, index for interfaces */
416d584e620SDavid du Colombier enum {
417d584e620SDavid du Colombier 	PITDEFAULT = 0,		/* SIOA */
418d584e620SDavid du Colombier 	PITA,			/* SIOA jtag if there is one */
41980e9508eSDavid du Colombier };
42080e9508eSDavid du Colombier 
42180e9508eSDavid du Colombier enum {
42280e9508eSDavid du Colombier 	Rftdireq = 1<<6,		/* bit for type of request */
42380e9508eSDavid du Colombier };
42480e9508eSDavid du Colombier 
42580e9508eSDavid du Colombier /*
42680e9508eSDavid du Colombier  * Commands Data size
42780e9508eSDavid du Colombier  * Sets have wLength = 0
42880e9508eSDavid du Colombier  * Gets have wValue = 0
42980e9508eSDavid du Colombier  */
43080e9508eSDavid du Colombier enum {
431d584e620SDavid du Colombier 	FTMODEMSTATUSSZ	= 1,
432d584e620SDavid du Colombier 	FTLATENCYTIMERSZ= 1,
433d584e620SDavid du Colombier 	FTPINSSZ	= 1,
434d584e620SDavid du Colombier 	FTE2READSZ	= 2,
43580e9508eSDavid du Colombier };
43680e9508eSDavid du Colombier 
43780e9508eSDavid du Colombier /*
43880e9508eSDavid du Colombier  * bRequest: FTGETE2READ
43980e9508eSDavid du Colombier  * wIndex: Address of word to read
440d584e620SDavid du Colombier  * Data: Will return a word (2 bytes) of data from E2Address
441d584e620SDavid du Colombier  * Results put in the I2C 128 byte EEPROM string eeprom+(2*index)
44280e9508eSDavid du Colombier  */
44380e9508eSDavid du Colombier 
444d584e620SDavid du Colombier /*
445d584e620SDavid du Colombier  * bRequest: FTSETE2WRITE
446d584e620SDavid du Colombier  * wIndex: Address of word to read
447d584e620SDavid du Colombier  * wValue: Value of the word
448d584e620SDavid du Colombier  * Data: Will return a word (2 bytes) of data from E2Address
449d584e620SDavid du Colombier  */
450d584e620SDavid du Colombier 
451d584e620SDavid du Colombier /*
452d584e620SDavid du Colombier  * bRequest: FTSETE2ERASE
453d584e620SDavid du Colombier  * Erases the EEPROM
454d584e620SDavid du Colombier  * wIndex: 0
455d584e620SDavid du Colombier  */
45680e9508eSDavid du Colombier 
45780e9508eSDavid du Colombier /*
45880e9508eSDavid du Colombier  * bRequest: FTRESET
45980e9508eSDavid du Colombier  * wValue: Ctl Val
46080e9508eSDavid du Colombier  * wIndex: Port
46180e9508eSDavid du Colombier  */
46280e9508eSDavid du Colombier enum {
46380e9508eSDavid du Colombier 	FTRESETCTLVAL		= 0,
46480e9508eSDavid du Colombier 	FTRESETCTLVALPURGERX	= 1,
46580e9508eSDavid du Colombier 	FTRESETCTLVALPURGETX	= 2,
46680e9508eSDavid du Colombier };
46780e9508eSDavid du Colombier 
46880e9508eSDavid du Colombier /*
46980e9508eSDavid du Colombier  * BmRequestType: SET
470d584e620SDavid du Colombier  * bRequest: FTSETBAUDRATE
47180e9508eSDavid du Colombier  * wValue: BaudDivisor value - see below
47280e9508eSDavid du Colombier  * Bits 15 to 0 of the 17-bit divisor are placed in the request value.
47380e9508eSDavid du Colombier  * Bit 16 is placed in bit 0 of the request index.
47480e9508eSDavid du Colombier  */
47580e9508eSDavid du Colombier 
47680e9508eSDavid du Colombier /* chip type */
47780e9508eSDavid du Colombier enum {
47880e9508eSDavid du Colombier 	SIO		= 1,
47980e9508eSDavid du Colombier 	FT8U232AM	= 2,
48080e9508eSDavid du Colombier 	FT232BM		= 3,
48180e9508eSDavid du Colombier 	FT2232C		= 4,
482d5789509SDavid du Colombier 	FTKINDR		= 5,
483d5789509SDavid du Colombier 	FT2232H		= 6,
484d5789509SDavid du Colombier 	FT4232H		= 7,
48580e9508eSDavid du Colombier };
48680e9508eSDavid du Colombier 
48780e9508eSDavid du Colombier enum {
48880e9508eSDavid du Colombier 	 FTb300		= 0,
48980e9508eSDavid du Colombier 	 FTb600		= 1,
49080e9508eSDavid du Colombier 	 FTb1200	= 2,
49180e9508eSDavid du Colombier 	 FTb2400	= 3,
49280e9508eSDavid du Colombier 	 FTb4800	= 4,
49380e9508eSDavid du Colombier 	 FTb9600	= 5,
49480e9508eSDavid du Colombier 	 FTb19200	= 6,
49580e9508eSDavid du Colombier 	 FTb38400	= 7,
49680e9508eSDavid du Colombier 	 FTb57600	= 8,
49780e9508eSDavid du Colombier 	 FTb115200	= 9,
49880e9508eSDavid du Colombier };
49980e9508eSDavid du Colombier 
50080e9508eSDavid du Colombier /*
50180e9508eSDavid du Colombier  * bRequest: FTSETDATA
50280e9508eSDavid du Colombier  * wValue: Data characteristics
503d584e620SDavid du Colombier  *	bits 0-7 number of data bits
50480e9508eSDavid du Colombier  * wIndex: Port
50580e9508eSDavid du Colombier  */
50680e9508eSDavid du Colombier enum {
50780e9508eSDavid du Colombier 	FTSETDATAParNONE	= 0 << 8,
50880e9508eSDavid du Colombier 	FTSETDATAParODD		= 1 << 8,
50980e9508eSDavid du Colombier 	FTSETDATAParEVEN	= 2 << 8,
51080e9508eSDavid du Colombier 	FTSETDATAParMARK	= 3 << 8,
51180e9508eSDavid du Colombier 	FTSETDATAParSPACE	= 4 << 8,
51280e9508eSDavid du Colombier 	FTSETDATASTOPBITS1	= 0 << 11,
51380e9508eSDavid du Colombier 	FTSETDATASTOPBITS15	= 1 << 11,
51480e9508eSDavid du Colombier 	FTSETDATASTOPBITS2	= 2 << 11,
51580e9508eSDavid du Colombier 	FTSETBREAK		= 1 << 14,
51680e9508eSDavid du Colombier };
51780e9508eSDavid du Colombier 
51880e9508eSDavid du Colombier /*
51980e9508eSDavid du Colombier  * bRequest: FTSETMODEMCTRL
52080e9508eSDavid du Colombier  * wValue: ControlValue (see below)
52180e9508eSDavid du Colombier  * wIndex: Port
52280e9508eSDavid du Colombier  */
52380e9508eSDavid du Colombier 
52480e9508eSDavid du Colombier /*
52580e9508eSDavid du Colombier  * bRequest: FTSETFLOWCTRL
52680e9508eSDavid du Colombier  * wValue: Xoff/Xon
527d584e620SDavid du Colombier  * wIndex: Protocol/Port - hIndex is protocol; lIndex is port
52880e9508eSDavid du Colombier  */
52980e9508eSDavid du Colombier enum {
53080e9508eSDavid du Colombier 	FTDISABLEFLOWCTRL= 0,
53180e9508eSDavid du Colombier 	FTRTSCTSHS	= 1 << 8,
53280e9508eSDavid du Colombier 	FTDTRDSRHS	= 2 << 8,
53380e9508eSDavid du Colombier 	FTXONXOFFHS	= 4 << 8,
53480e9508eSDavid du Colombier };
53580e9508eSDavid du Colombier 
53680e9508eSDavid du Colombier /*
53780e9508eSDavid du Colombier  * bRequest: FTGETLATENCYTIMER
53880e9508eSDavid du Colombier  * wIndex: Port
53980e9508eSDavid du Colombier  * wLength: 0
54080e9508eSDavid du Colombier  * Data: latency (on return)
54180e9508eSDavid du Colombier  */
54280e9508eSDavid du Colombier 
54380e9508eSDavid du Colombier /*
544d584e620SDavid du Colombier  * bRequest: FTSETBITMODE
545d584e620SDavid du Colombier  * wIndex: Port
546d584e620SDavid du Colombier  * either it is big bang mode, in which case
547d584e620SDavid du Colombier  * wValue: 1 byte L is the big bang mode BIG*
548d584e620SDavid du Colombier  *	or BM is
549d584e620SDavid du Colombier  * wValue: 1 byte bitbang mode H, 1 byte bitmask for lines L
550d584e620SDavid du Colombier  */
551d584e620SDavid du Colombier enum {
552d584e620SDavid du Colombier 	BMSERIAL	= 0,		/* reset, turn off bit-bang mode */
553d584e620SDavid du Colombier 
554d584e620SDavid du Colombier 	BIGBMNORMAL	= 1,		/* normal bit-bang mode */
555d584e620SDavid du Colombier 	BIGBMSPI	= 2,		/* spi bit-bang mode */
556d584e620SDavid du Colombier 
557d584e620SDavid du Colombier 	BMABM		= 1<<8,		/* async mode */
558d584e620SDavid du Colombier 	BMMPSSE		= 2<<8,
559d584e620SDavid du Colombier 	BMSYNCBB	= 4<<8,		/* sync bit-bang -- 2232x and R-type */
560d584e620SDavid du Colombier 	BMMCU		= 8<<8,		/* MCU Host Bus -- 2232x */
561d584e620SDavid du Colombier 	BMOPTO		= 0x10<<8,	/* opto-isolated<<8, 2232x */
562d584e620SDavid du Colombier 	BMCBUS		= 0x20<<8,	/* CBUS pins of R-type chips */
563d584e620SDavid du Colombier 	BMSYNCFF	= 0x40<<8,	/* Single Channel Sync FIFO, 2232H only */
564d584e620SDavid du Colombier };
565d584e620SDavid du Colombier 
566d584e620SDavid du Colombier /*
56780e9508eSDavid du Colombier  * bRequest: FTSETLATENCYTIMER
568d584e620SDavid du Colombier  * wValue: Latency (milliseconds 1-255)
56980e9508eSDavid du Colombier  * wIndex: Port
57080e9508eSDavid du Colombier  */
571d584e620SDavid du Colombier enum {
572d584e620SDavid du Colombier 	FTLATENCYDEFAULT = 2,
573d584e620SDavid du Colombier };
57480e9508eSDavid du Colombier 
57580e9508eSDavid du Colombier /*
57680e9508eSDavid du Colombier  * BmRequestType: SET
57780e9508eSDavid du Colombier  * bRequest: FTSETEVENTCHAR
57880e9508eSDavid du Colombier  * wValue: EventChar
57980e9508eSDavid du Colombier  * wIndex: Port
580d584e620SDavid du Colombier  * 0-7 lower bits event char
581d584e620SDavid du Colombier  * 8 enable
58280e9508eSDavid du Colombier  */
583d584e620SDavid du Colombier enum {
584d584e620SDavid du Colombier 	FTEVCHARENAB = 1<<8,
585d584e620SDavid du Colombier };
58680e9508eSDavid du Colombier 
58780e9508eSDavid du Colombier /*
58880e9508eSDavid du Colombier  * BmRequestType: SET
58980e9508eSDavid du Colombier  * bRequest: FTSETERRORCHAR
59080e9508eSDavid du Colombier  * wValue: Error Char
59180e9508eSDavid du Colombier  * wIndex: Port
592d584e620SDavid du Colombier  * 0-7 lower bits event char
593d584e620SDavid du Colombier  * 8 enable
59480e9508eSDavid du Colombier  */
595d584e620SDavid du Colombier enum {
596d584e620SDavid du Colombier 	FTERRCHARENAB = 1<<8,
597d584e620SDavid du Colombier };
59880e9508eSDavid du Colombier /*
59980e9508eSDavid du Colombier  * BmRequestType: GET
60080e9508eSDavid du Colombier  * bRequest: FTGETMODEMSTATUS
60180e9508eSDavid du Colombier  * wIndex: Port
60280e9508eSDavid du Colombier  * wLength: 1
60380e9508eSDavid du Colombier  * Data: Status
60480e9508eSDavid du Colombier  */
60580e9508eSDavid du Colombier enum {
60680e9508eSDavid du Colombier 	FTCTSMASK	= 0x10,
60780e9508eSDavid du Colombier 	FTDSRMASK	= 0x20,
60880e9508eSDavid du Colombier 	FTRIMASK	= 0x40,
60980e9508eSDavid du Colombier 	FTRLSDMASK	= 0x80,
61080e9508eSDavid du Colombier };
61180e9508eSDavid du Colombier 
61280e9508eSDavid du Colombier enum {
61380e9508eSDavid du Colombier 	/* byte 0 of in data hdr */
61480e9508eSDavid du Colombier 	FTICTS	= 1 << 4,
61580e9508eSDavid du Colombier 	FTIDSR	= 1 << 5,
61680e9508eSDavid du Colombier 	FTIRI	= 1 << 6,
61780e9508eSDavid du Colombier 	FTIRLSD	= 1 << 7,	/* receive line signal detect */
61880e9508eSDavid du Colombier 
61980e9508eSDavid du Colombier 	/* byte 1 of in data hdr */
62080e9508eSDavid du Colombier 	FTIDR	= 1<<0,		/* data ready */
62180e9508eSDavid du Colombier 	FTIOE	= 1<<1,		/* overrun error */
62280e9508eSDavid du Colombier 	FTIPE	= 1<<2,		/* parity error */
62380e9508eSDavid du Colombier 	FTIFE	= 1<<3,		/* framing error */
62480e9508eSDavid du Colombier 	FTIBI	= 1<<4,		/* break interrupt */
62580e9508eSDavid du Colombier 	FTITHRE	= 1<<5,		/* xmitter holding register */
62680e9508eSDavid du Colombier 	FTITEMT	= 1<<6,		/* xmitter empty */
62780e9508eSDavid du Colombier 	FTIFIFO	= 1<<7,		/* error in rcv fifo */
62880e9508eSDavid du Colombier 
62980e9508eSDavid du Colombier 	/* byte 0 of out data hdr len does not include byte 0 */
63080e9508eSDavid du Colombier 	FTOLENMSK= 0x3F,
63180e9508eSDavid du Colombier 	FTOPORT	= 0x80,		/* must be set */
63280e9508eSDavid du Colombier };
63380e9508eSDavid du Colombier 
63480e9508eSDavid du Colombier extern Serialops ftops;
63580e9508eSDavid du Colombier 
63680e9508eSDavid du Colombier int	ftmatch(Serial *ser, char *info);
637