Adding support for MOXA ART SoC. Testing port of linux-2.6.32.60-moxart.
[linux-3.6.7-moxart.git] / drivers / usb / serial / io_tables.h
blob1511dd0ad3242650e6da605d316b2d7165b1fb2d
1 /*
2 * IO Edgeport Driver tables
4 * Copyright (C) 2001
5 * Greg Kroah-Hartman (greg@kroah.com)
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
14 #ifndef IO_TABLES_H
15 #define IO_TABLES_H
17 static const struct usb_device_id edgeport_2port_id_table[] = {
18 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_2) },
19 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_2I) },
20 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_421) },
21 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_21) },
22 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_2_DIN) },
23 { }
26 static const struct usb_device_id edgeport_4port_id_table[] = {
27 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_4) },
28 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_RAPIDPORT_4) },
29 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_4T) },
30 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_MT4X56USB) },
31 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_4I) },
32 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_8_DUAL_CPU) },
33 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_4_DIN) },
34 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_22I) },
35 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_412_4) },
36 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_COMPATIBLE) },
37 { }
40 static const struct usb_device_id edgeport_8port_id_table[] = {
41 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_8) },
42 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_16_DUAL_CPU) },
43 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_8I) },
44 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_8R) },
45 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_8RR) },
46 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_412_8) },
47 { }
50 static const struct usb_device_id Epic_port_id_table[] = {
51 { USB_DEVICE(USB_VENDOR_ID_NCR, NCR_DEVICE_ID_EPIC_0202) },
52 { USB_DEVICE(USB_VENDOR_ID_NCR, NCR_DEVICE_ID_EPIC_0203) },
53 { USB_DEVICE(USB_VENDOR_ID_NCR, NCR_DEVICE_ID_EPIC_0310) },
54 { USB_DEVICE(USB_VENDOR_ID_NCR, NCR_DEVICE_ID_EPIC_0311) },
55 { USB_DEVICE(USB_VENDOR_ID_NCR, NCR_DEVICE_ID_EPIC_0312) },
56 { USB_DEVICE(USB_VENDOR_ID_AXIOHM, AXIOHM_DEVICE_ID_EPIC_A758) },
57 { USB_DEVICE(USB_VENDOR_ID_AXIOHM, AXIOHM_DEVICE_ID_EPIC_A794) },
58 { USB_DEVICE(USB_VENDOR_ID_AXIOHM, AXIOHM_DEVICE_ID_EPIC_A225) },
59 { }
62 /* Devices that this driver supports */
63 static const struct usb_device_id id_table_combined[] = {
64 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_4) },
65 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_RAPIDPORT_4) },
66 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_4T) },
67 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_MT4X56USB) },
68 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_2) },
69 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_4I) },
70 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_2I) },
71 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_421) },
72 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_21) },
73 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_8_DUAL_CPU) },
74 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_8) },
75 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_2_DIN) },
76 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_4_DIN) },
77 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_16_DUAL_CPU) },
78 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_22I) },
79 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_412_4) },
80 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_COMPATIBLE) },
81 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_8I) },
82 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_8R) },
83 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_8RR) },
84 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_412_8) },
85 { USB_DEVICE(USB_VENDOR_ID_NCR, NCR_DEVICE_ID_EPIC_0202) },
86 { USB_DEVICE(USB_VENDOR_ID_NCR, NCR_DEVICE_ID_EPIC_0203) },
87 { USB_DEVICE(USB_VENDOR_ID_NCR, NCR_DEVICE_ID_EPIC_0310) },
88 { USB_DEVICE(USB_VENDOR_ID_NCR, NCR_DEVICE_ID_EPIC_0311) },
89 { USB_DEVICE(USB_VENDOR_ID_NCR, NCR_DEVICE_ID_EPIC_0312) },
90 { USB_DEVICE(USB_VENDOR_ID_AXIOHM, AXIOHM_DEVICE_ID_EPIC_A758) },
91 { USB_DEVICE(USB_VENDOR_ID_AXIOHM, AXIOHM_DEVICE_ID_EPIC_A794) },
92 { USB_DEVICE(USB_VENDOR_ID_AXIOHM, AXIOHM_DEVICE_ID_EPIC_A225) },
93 { } /* Terminating entry */
96 MODULE_DEVICE_TABLE(usb, id_table_combined);
98 static struct usb_serial_driver edgeport_2port_device = {
99 .driver = {
100 .owner = THIS_MODULE,
101 .name = "edgeport_2",
103 .description = "Edgeport 2 port adapter",
104 .id_table = edgeport_2port_id_table,
105 .num_ports = 2,
106 .open = edge_open,
107 .close = edge_close,
108 .throttle = edge_throttle,
109 .unthrottle = edge_unthrottle,
110 .attach = edge_startup,
111 .disconnect = edge_disconnect,
112 .release = edge_release,
113 .port_probe = edge_port_probe,
114 .port_remove = edge_port_remove,
115 .ioctl = edge_ioctl,
116 .set_termios = edge_set_termios,
117 .tiocmget = edge_tiocmget,
118 .tiocmset = edge_tiocmset,
119 .get_icount = edge_get_icount,
120 .write = edge_write,
121 .write_room = edge_write_room,
122 .chars_in_buffer = edge_chars_in_buffer,
123 .break_ctl = edge_break,
124 .read_int_callback = edge_interrupt_callback,
125 .read_bulk_callback = edge_bulk_in_callback,
126 .write_bulk_callback = edge_bulk_out_data_callback,
129 static struct usb_serial_driver edgeport_4port_device = {
130 .driver = {
131 .owner = THIS_MODULE,
132 .name = "edgeport_4",
134 .description = "Edgeport 4 port adapter",
135 .id_table = edgeport_4port_id_table,
136 .num_ports = 4,
137 .open = edge_open,
138 .close = edge_close,
139 .throttle = edge_throttle,
140 .unthrottle = edge_unthrottle,
141 .attach = edge_startup,
142 .disconnect = edge_disconnect,
143 .release = edge_release,
144 .port_probe = edge_port_probe,
145 .port_remove = edge_port_remove,
146 .ioctl = edge_ioctl,
147 .set_termios = edge_set_termios,
148 .tiocmget = edge_tiocmget,
149 .tiocmset = edge_tiocmset,
150 .get_icount = edge_get_icount,
151 .write = edge_write,
152 .write_room = edge_write_room,
153 .chars_in_buffer = edge_chars_in_buffer,
154 .break_ctl = edge_break,
155 .read_int_callback = edge_interrupt_callback,
156 .read_bulk_callback = edge_bulk_in_callback,
157 .write_bulk_callback = edge_bulk_out_data_callback,
160 static struct usb_serial_driver edgeport_8port_device = {
161 .driver = {
162 .owner = THIS_MODULE,
163 .name = "edgeport_8",
165 .description = "Edgeport 8 port adapter",
166 .id_table = edgeport_8port_id_table,
167 .num_ports = 8,
168 .open = edge_open,
169 .close = edge_close,
170 .throttle = edge_throttle,
171 .unthrottle = edge_unthrottle,
172 .attach = edge_startup,
173 .disconnect = edge_disconnect,
174 .release = edge_release,
175 .port_probe = edge_port_probe,
176 .port_remove = edge_port_remove,
177 .ioctl = edge_ioctl,
178 .set_termios = edge_set_termios,
179 .tiocmget = edge_tiocmget,
180 .tiocmset = edge_tiocmset,
181 .get_icount = edge_get_icount,
182 .write = edge_write,
183 .write_room = edge_write_room,
184 .chars_in_buffer = edge_chars_in_buffer,
185 .break_ctl = edge_break,
186 .read_int_callback = edge_interrupt_callback,
187 .read_bulk_callback = edge_bulk_in_callback,
188 .write_bulk_callback = edge_bulk_out_data_callback,
191 static struct usb_serial_driver epic_device = {
192 .driver = {
193 .owner = THIS_MODULE,
194 .name = "epic",
196 .description = "EPiC device",
197 .id_table = Epic_port_id_table,
198 .num_ports = 1,
199 .open = edge_open,
200 .close = edge_close,
201 .throttle = edge_throttle,
202 .unthrottle = edge_unthrottle,
203 .attach = edge_startup,
204 .disconnect = edge_disconnect,
205 .release = edge_release,
206 .port_probe = edge_port_probe,
207 .port_remove = edge_port_remove,
208 .ioctl = edge_ioctl,
209 .set_termios = edge_set_termios,
210 .tiocmget = edge_tiocmget,
211 .tiocmset = edge_tiocmset,
212 .get_icount = edge_get_icount,
213 .write = edge_write,
214 .write_room = edge_write_room,
215 .chars_in_buffer = edge_chars_in_buffer,
216 .break_ctl = edge_break,
217 .read_int_callback = edge_interrupt_callback,
218 .read_bulk_callback = edge_bulk_in_callback,
219 .write_bulk_callback = edge_bulk_out_data_callback,
222 static struct usb_serial_driver * const serial_drivers[] = {
223 &edgeport_2port_device, &edgeport_4port_device,
224 &edgeport_8port_device, &epic_device, NULL
227 #endif