]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blob - drivers/tty/rocket.h
usb: Don't disable Latency tolerance Messaging (LTM) before port reset
[mirror_ubuntu-bionic-kernel.git] / drivers / tty / rocket.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3 * rocket.h --- the exported interface of the rocket driver to its configuration program.
4 *
5 * Written by Theodore Ts'o, Copyright 1997.
6 * Copyright 1997 Comtrol Corporation.
7 *
8 */
9
10 /* Model Information Struct */
11 typedef struct {
12 unsigned long model;
13 char modelString[80];
14 unsigned long numPorts;
15 int loadrm2;
16 int startingPortNumber;
17 } rocketModel_t;
18
19 struct rocket_config {
20 int line;
21 int flags;
22 int closing_wait;
23 int close_delay;
24 int port;
25 int reserved[32];
26 };
27
28 struct rocket_ports {
29 int tty_major;
30 int callout_major;
31 rocketModel_t rocketModel[8];
32 };
33
34 struct rocket_version {
35 char rocket_version[32];
36 char rocket_date[32];
37 char reserved[64];
38 };
39
40 /*
41 * Rocketport flags
42 */
43 /*#define ROCKET_CALLOUT_NOHUP 0x00000001 */
44 #define ROCKET_FORCE_CD 0x00000002
45 #define ROCKET_HUP_NOTIFY 0x00000004
46 #define ROCKET_SPLIT_TERMIOS 0x00000008
47 #define ROCKET_SPD_MASK 0x00000070
48 #define ROCKET_SPD_HI 0x00000010 /* Use 57600 instead of 38400 bps */
49 #define ROCKET_SPD_VHI 0x00000020 /* Use 115200 instead of 38400 bps */
50 #define ROCKET_SPD_SHI 0x00000030 /* Use 230400 instead of 38400 bps */
51 #define ROCKET_SPD_WARP 0x00000040 /* Use 460800 instead of 38400 bps */
52 #define ROCKET_SAK 0x00000080
53 #define ROCKET_SESSION_LOCKOUT 0x00000100
54 #define ROCKET_PGRP_LOCKOUT 0x00000200
55 #define ROCKET_RTS_TOGGLE 0x00000400
56 #define ROCKET_MODE_MASK 0x00003000
57 #define ROCKET_MODE_RS232 0x00000000
58 #define ROCKET_MODE_RS485 0x00001000
59 #define ROCKET_MODE_RS422 0x00002000
60 #define ROCKET_FLAGS 0x00003FFF
61
62 #define ROCKET_USR_MASK 0x0071 /* Legal flags that non-privileged
63 * users can set or reset */
64
65 /*
66 * For closing_wait and closing_wait2
67 */
68 #define ROCKET_CLOSING_WAIT_NONE ASYNC_CLOSING_WAIT_NONE
69 #define ROCKET_CLOSING_WAIT_INF ASYNC_CLOSING_WAIT_INF
70
71 /*
72 * Rocketport ioctls -- "RP"
73 */
74 #define RCKP_GET_STRUCT 0x00525001
75 #define RCKP_GET_CONFIG 0x00525002
76 #define RCKP_SET_CONFIG 0x00525003
77 #define RCKP_GET_PORTS 0x00525004
78 #define RCKP_RESET_RM2 0x00525005
79 #define RCKP_GET_VERSION 0x00525006
80
81 /* Rocketport Models */
82 #define MODEL_RP32INTF 0x0001 /* RP 32 port w/external I/F */
83 #define MODEL_RP8INTF 0x0002 /* RP 8 port w/external I/F */
84 #define MODEL_RP16INTF 0x0003 /* RP 16 port w/external I/F */
85 #define MODEL_RP8OCTA 0x0005 /* RP 8 port w/octa cable */
86 #define MODEL_RP4QUAD 0x0004 /* RP 4 port w/quad cable */
87 #define MODEL_RP8J 0x0006 /* RP 8 port w/RJ11 connectors */
88 #define MODEL_RP4J 0x0007 /* RP 4 port w/RJ45 connectors */
89 #define MODEL_RP8SNI 0x0008 /* RP 8 port w/ DB78 SNI connector */
90 #define MODEL_RP16SNI 0x0009 /* RP 16 port w/ DB78 SNI connector */
91 #define MODEL_RPP4 0x000A /* RP Plus 4 port */
92 #define MODEL_RPP8 0x000B /* RP Plus 8 port */
93 #define MODEL_RP2_232 0x000E /* RP Plus 2 port RS232 */
94 #define MODEL_RP2_422 0x000F /* RP Plus 2 port RS232 */
95
96 /* Rocketmodem II Models */
97 #define MODEL_RP6M 0x000C /* RM 6 port */
98 #define MODEL_RP4M 0x000D /* RM 4 port */
99
100 /* Universal PCI boards */
101 #define MODEL_UPCI_RP32INTF 0x0801 /* RP UPCI 32 port w/external I/F */
102 #define MODEL_UPCI_RP8INTF 0x0802 /* RP UPCI 8 port w/external I/F */
103 #define MODEL_UPCI_RP16INTF 0x0803 /* RP UPCI 16 port w/external I/F */
104 #define MODEL_UPCI_RP8OCTA 0x0805 /* RP UPCI 8 port w/octa cable */
105 #define MODEL_UPCI_RM3_8PORT 0x080C /* RP UPCI Rocketmodem III 8 port */
106 #define MODEL_UPCI_RM3_4PORT 0x080C /* RP UPCI Rocketmodem III 4 port */
107
108 /* Compact PCI 16 port */
109 #define MODEL_CPCI_RP16INTF 0x0903 /* RP Compact PCI 16 port w/external I/F */
110
111 /* All ISA boards */
112 #define MODEL_ISA 0x1000