4 #include <devices/usb.h>
5 #include <exec/devices.h>
7 /* Products supported */
8 #define PL2303_VENDOR_ID 0x067b
9 #define PL2303_PRODUCT_ID 0x2303
10 #define PL2303_PRODUCT_ID_RSAQ2 0x04bb
11 #define PL2303_PRODUCT_ID_DCU11 0x1234
12 #define PL2303_PRODUCT_ID_PHAROS 0xaaa0
13 #define PL2303_PRODUCT_ID_RSAQ3 0xaaa2
14 #define PL2303_PRODUCT_ID_ALDIGA 0x0611
16 #define ATEN_VENDOR_ID 0x0557
17 #define ATEN_VENDOR_ID2 0x0547
18 #define ATEN_PRODUCT_ID 0x2008
20 #define IODATA_VENDOR_ID 0x04bb
21 #define IODATA_PRODUCT_ID 0x0a03
22 #define IODATA_PRODUCT_ID_RSAQ5 0x0a0e
24 #define ELCOM_VENDOR_ID 0x056e
25 #define ELCOM_PRODUCT_ID 0x5003
26 #define ELCOM_PRODUCT_ID_UCSGT 0x5004
28 #define ITEGNO_VENDOR_ID 0x0eba
29 #define ITEGNO_PRODUCT_ID 0x1080
30 #define ITEGNO_PRODUCT_ID_2 0x2080
32 #define MA620_VENDOR_ID 0x0df7
33 #define MA620_PRODUCT_ID 0x0620
35 #define RATOC_VENDOR_ID 0x0584
36 #define RATOC_PRODUCT_ID 0xb000
37 #define RATOC_PRODUCT_ID_USB60F 0xb020
39 #define TRIPP_VENDOR_ID 0x2478
40 #define TRIPP_PRODUCT_ID 0x2008
42 #define RADIOSHACK_VENDOR_ID 0x1453
43 #define RADIOSHACK_PRODUCT_ID 0x4026
45 #define DCU10_VENDOR_ID 0x0731
46 #define DCU10_PRODUCT_ID 0x0528
48 #define SITECOM_VENDOR_ID 0x6189
49 #define SITECOM_PRODUCT_ID 0x2068
51 #define ALCATEL_VENDOR_ID 0x11f7
52 #define ALCATEL_PRODUCT_ID 0x02df
54 #define SAMSUNG_VENDOR_ID 0x04e8
55 #define SAMSUNG_PRODUCT_ID 0x8001
57 #define SIEMENS_VENDOR_ID 0x11f5
58 #define SIEMENS_PRODUCT_ID_SX1 0x0001
59 #define SIEMENS_PRODUCT_ID_X65 0x0003
60 #define SIEMENS_PRODUCT_ID_X75 0x0004
61 #define SIEMENS_PRODUCT_ID_EF81 0x0005
63 #define SYNTECH_VENDOR_ID 0x0745
64 #define SYNTECH_PRODUCT_ID 0x0001
66 #define NOKIA_CA42_VENDOR_ID 0x078b
67 #define NOKIA_CA42_PRODUCT_ID 0x1234
69 #define CA_42_CA42_VENDOR_ID 0x10b5
70 #define CA_42_CA42_PRODUCT_ID 0xac70
72 #define SAGEM_VENDOR_ID 0x079b
73 #define SAGEM_PRODUCT_ID 0x0027
75 #define LEADTEK_VENDOR_ID 0x0413
76 #define LEADTEK_9531_PRODUCT_ID 0x2101
78 #define SPEEDDRAGON_VENDOR_ID 0x0e55
79 #define SPEEDDRAGON_PRODUCT_ID 0x110b
81 #define OTI_VENDOR_ID 0x0ea0
82 #define OTI_PRODUCT_ID 0x6858
84 #define DATAPILOT_U2_VENDOR_ID 0x0731
85 #define DATAPILOT_U2_PRODUCT_ID 0x2003
87 #define BELKIN_VENDOR_ID 0x050d
88 #define BELKIN_PRODUCT_ID 0x0257
90 #define ALCOR_VENDOR_ID 0x058F
91 #define ALCOR_PRODUCT_ID 0x9720
93 #define WS002IN_VENDOR_ID 0x11f6
94 #define WS002IN_PRODUCT_ID 0x2001
96 #define COREGA_VENDOR_ID 0x07aa
97 #define COREGA_PRODUCT_ID 0x002a
99 #define HL340_VENDOR_ID 0x4348
100 #define HL340_PRODUCT_ID 0x5523
102 #define YCCABLE_VENDOR_ID 0x05ad
103 #define YCCABLE_PRODUCT_ID 0x0fba
106 #define UPLR_WRITE 0x01 /* vendor specific device request */
107 #define UPLR_READ 0x01 /* vendor specific device request */
109 #define UPLF_CONTROL_DTR 0x01
110 #define UPLF_CONTROL_RTS 0x02
112 #define UART_STATE 0x08
113 #define UART_STATE_TRANSIENT_MASK 0x74
114 #define UART_DCD 0x01
115 #define UART_DSR 0x02
116 #define UART_BREAK 0x04
117 #define UART_RING 0x08
118 #define UART_FRAME_ERROR 0x10
119 #define UART_PARITY_ERROR 0x20
120 #define UART_OVERRUN_ERROR 0x40
121 #define UART_CTS 0x80
125 #define DEFREADBUFLEN 2048
126 #define NUMREADPIPES 16
128 struct UsbCDCSerialState
130 struct UsbSetupData uss_Req
;
136 struct Library nh_Library
; /* standard */
137 UWORD nh_Flags
; /* various flags */
139 struct Library
*nh_UtilityBase
; /* utility base */
141 struct NepSerDevBase
*nh_DevBase
; /* base of device created */
142 struct List nh_Units
; /* List of units available */
147 struct Library np_Library
; /* standard */
148 UWORD np_Flags
; /* various flags */
150 BPTR np_SegList
; /* device seglist */
151 struct NepSerialBase
*np_ClsBase
; /* pointer to class base */
152 struct Library
*np_UtilityBase
; /* cached utilitybase */
155 struct NepClassSerial
157 struct Unit ncp_Unit
; /* Unit structure */
158 ULONG ncp_UnitNo
; /* Unit number */
159 struct NepSerDevBase
*ncp_DevBase
; /* Device base */
160 struct Library
*ncp_Base
; /* Poseidon base */
161 struct PsdDevice
*ncp_Device
; /* Up linkage */
162 struct PsdConfig
*ncp_Config
; /* Up linkage */
163 struct PsdInterface
*ncp_Interface
; /* Up linkage */
164 struct Task
*ncp_ReadySigTask
; /* Task to send ready signal to */
165 LONG ncp_ReadySignal
; /* Signal to send when ready */
166 LONG ncp_AbortSignal
; /* Signal to abort write on */
167 struct Task
*ncp_Task
; /* Subtask */
168 struct MsgPort
*ncp_TaskMsgPort
; /* Message Port of Subtask */
170 struct PsdPipe
*ncp_EP0Pipe
; /* Endpoint 0 pipe */
171 struct PsdEndpoint
*ncp_EPOut
; /* OUT Endpoint */
172 struct PsdPipeStream
*ncp_EPOutStream
; /* OUT Endpoint stream */
173 struct PsdEndpoint
*ncp_EPIn
; /* IN Endpoint */
174 struct PsdPipeStream
*ncp_EPInStream
; /* IN Endpoint stream */
175 struct PsdEndpoint
*ncp_EPInt
; /* NOTIFY Endpoint */
176 struct PsdPipe
*ncp_EPIntPipe
; /* NOTIFY Endpoint pipe */
177 UWORD ncp_EPOutNum
; /* Endpoint OUT number */
178 UWORD ncp_EPInNum
; /* Endpoint IN number */
179 struct MsgPort
*ncp_DevMsgPort
; /* Message Port for IOParReq */
180 BOOL ncp_HXChipset
; /* HX Chips need special treatment */
181 BOOL ncp_SiemensCrap
; /* Siemens crap chipset */
182 UWORD ncp_UnitProdID
; /* ProductID of unit */
183 UWORD ncp_UnitVendorID
; /* VendorID of unit */
184 UWORD ncp_UnitCfgNum
; /* Config of unit */
185 UWORD ncp_UnitIfNum
; /* Interface number */
186 UWORD ncp_UnitAltIfNum
; /* Alternate interface number */
187 BOOL ncp_DenyRequests
; /* Do not accept further IO requests */
188 BOOL ncp_DevSuspend
; /* suspend things */
190 UBYTE ncp_SerialStateReq
[10]; /* Serial State stuff */
192 struct IOExtSer
*ncp_WritePending
; /* write IORequest pending */
193 struct List ncp_ReadQueue
; /* List of read requests */
194 struct List ncp_WriteQueue
; /* List of write requests */
197 #endif /* SERIALPL2303_H */