diff options
| author | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-10-17 08:32:49 -0400 |
|---|---|---|
| committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-10-17 08:32:49 -0400 |
| commit | 214e2ca2b82d335935a861c253fe94c61ad77aad (patch) | |
| tree | eee42ff74d10470789d919b8499737ad0e919360 /include/linux/scc.h | |
| parent | 1fdead8ad31d3aa833bc37739273fcde89ace93c (diff) | |
| parent | ddffeb8c4d0331609ef2581d84de4d763607bd37 (diff) | |
Merge tag 'v3.7-rc1' into staging/for_v3.8
Linux 3.7-rc1
* tag 'v3.7-rc1': (9579 commits)
Linux 3.7-rc1
x86, boot: Explicitly include autoconf.h for hostprogs
perf: Fix UAPI fallout
ARM: config: make sure that platforms are ordered by option string
ARM: config: sort select statements alphanumerically
UAPI: (Scripted) Disintegrate include/linux/byteorder
UAPI: (Scripted) Disintegrate include/linux
UAPI: Unexport linux/blk_types.h
UAPI: Unexport part of linux/ppp-comp.h
perf: Handle new rbtree implementation
procfs: don't need a PATH_MAX allocation to hold a string representation of an int
vfs: embed struct filename inside of names_cache allocation if possible
audit: make audit_inode take struct filename
vfs: make path_openat take a struct filename pointer
vfs: turn do_path_lookup into wrapper around struct filename variant
audit: allow audit code to satisfy getname requests from its names_list
vfs: define struct filename and have getname() return it
btrfs: Fix compilation with user namespace support enabled
userns: Fix posix_acl_file_xattr_userns gid conversion
userns: Properly print bluetooth socket uids
...
Diffstat (limited to 'include/linux/scc.h')
| -rw-r--r-- | include/linux/scc.h | 169 |
1 files changed, 1 insertions, 168 deletions
diff --git a/include/linux/scc.h b/include/linux/scc.h index 3495bd953cc6..c5a004962679 100644 --- a/include/linux/scc.h +++ b/include/linux/scc.h | |||
| @@ -1,175 +1,9 @@ | |||
| 1 | /* $Id: scc.h,v 1.29 1997/04/02 14:56:45 jreuter Exp jreuter $ */ | 1 | /* $Id: scc.h,v 1.29 1997/04/02 14:56:45 jreuter Exp jreuter $ */ |
| 2 | |||
| 3 | #ifndef _SCC_H | 2 | #ifndef _SCC_H |
| 4 | #define _SCC_H | 3 | #define _SCC_H |
| 5 | 4 | ||
| 5 | #include <uapi/linux/scc.h> | ||
| 6 | 6 | ||
| 7 | /* selection of hardware types */ | ||
| 8 | |||
| 9 | #define PA0HZP 0x00 /* hardware type for PA0HZP SCC card and compatible */ | ||
| 10 | #define EAGLE 0x01 /* hardware type for EAGLE card */ | ||
| 11 | #define PC100 0x02 /* hardware type for PC100 card */ | ||
| 12 | #define PRIMUS 0x04 /* hardware type for PRIMUS-PC (DG9BL) card */ | ||
| 13 | #define DRSI 0x08 /* hardware type for DRSI PC*Packet card */ | ||
| 14 | #define BAYCOM 0x10 /* hardware type for BayCom (U)SCC */ | ||
| 15 | |||
| 16 | /* DEV ioctl() commands */ | ||
| 17 | |||
| 18 | enum SCC_ioctl_cmds { | ||
| 19 | SIOCSCCRESERVED = SIOCDEVPRIVATE, | ||
| 20 | SIOCSCCCFG, | ||
| 21 | SIOCSCCINI, | ||
| 22 | SIOCSCCCHANINI, | ||
| 23 | SIOCSCCSMEM, | ||
| 24 | SIOCSCCGKISS, | ||
| 25 | SIOCSCCSKISS, | ||
| 26 | SIOCSCCGSTAT, | ||
| 27 | SIOCSCCCAL | ||
| 28 | }; | ||
| 29 | |||
| 30 | /* Device parameter control (from WAMPES) */ | ||
| 31 | |||
| 32 | enum L1_params { | ||
| 33 | PARAM_DATA, | ||
| 34 | PARAM_TXDELAY, | ||
| 35 | PARAM_PERSIST, | ||
| 36 | PARAM_SLOTTIME, | ||
| 37 | PARAM_TXTAIL, | ||
| 38 | PARAM_FULLDUP, | ||
| 39 | PARAM_SOFTDCD, /* was: PARAM_HW */ | ||
| 40 | PARAM_MUTE, /* ??? */ | ||
| 41 | PARAM_DTR, | ||
| 42 | PARAM_RTS, | ||
| 43 | PARAM_SPEED, | ||
| 44 | PARAM_ENDDELAY, /* ??? */ | ||
| 45 | PARAM_GROUP, | ||
| 46 | PARAM_IDLE, | ||
| 47 | PARAM_MIN, | ||
| 48 | PARAM_MAXKEY, | ||
| 49 | PARAM_WAIT, | ||
| 50 | PARAM_MAXDEFER, | ||
| 51 | PARAM_TX, | ||
| 52 | PARAM_HWEVENT = 31, | ||
| 53 | PARAM_RETURN = 255 /* reset kiss mode */ | ||
| 54 | }; | ||
| 55 | |||
| 56 | /* fulldup parameter */ | ||
| 57 | |||
| 58 | enum FULLDUP_modes { | ||
| 59 | KISS_DUPLEX_HALF, /* normal CSMA operation */ | ||
| 60 | KISS_DUPLEX_FULL, /* fullduplex, key down trx after transmission */ | ||
| 61 | KISS_DUPLEX_LINK, /* fullduplex, key down trx after 'idletime' sec */ | ||
| 62 | KISS_DUPLEX_OPTIMA /* fullduplex, let the protocol layer control the hw */ | ||
| 63 | }; | ||
| 64 | |||
| 65 | /* misc. parameters */ | ||
| 66 | |||
| 67 | #define TIMER_OFF 65535U /* to switch off timers */ | ||
| 68 | #define NO_SUCH_PARAM 65534U /* param not implemented */ | ||
| 69 | |||
| 70 | /* HWEVENT parameter */ | ||
| 71 | |||
| 72 | enum HWEVENT_opts { | ||
| 73 | HWEV_DCD_ON, | ||
| 74 | HWEV_DCD_OFF, | ||
| 75 | HWEV_ALL_SENT | ||
| 76 | }; | ||
| 77 | |||
| 78 | /* channel grouping */ | ||
| 79 | |||
| 80 | #define RXGROUP 0100 /* if set, only tx when all channels clear */ | ||
| 81 | #define TXGROUP 0200 /* if set, don't transmit simultaneously */ | ||
| 82 | |||
| 83 | /* Tx/Rx clock sources */ | ||
| 84 | |||
| 85 | enum CLOCK_sources { | ||
| 86 | CLK_DPLL, /* normal halfduplex operation */ | ||
| 87 | CLK_EXTERNAL, /* external clocking (G3RUH/DF9IC modems) */ | ||
| 88 | CLK_DIVIDER, /* Rx = DPLL, Tx = divider (fullduplex with */ | ||
| 89 | /* modems without clock regeneration */ | ||
| 90 | CLK_BRG /* experimental fullduplex mode with DPLL/BRG for */ | ||
| 91 | /* MODEMs without clock recovery */ | ||
| 92 | }; | ||
| 93 | |||
| 94 | /* Tx state */ | ||
| 95 | |||
| 96 | enum TX_state { | ||
| 97 | TXS_IDLE, /* Transmitter off, no data pending */ | ||
| 98 | TXS_BUSY, /* waiting for permission to send / tailtime */ | ||
| 99 | TXS_ACTIVE, /* Transmitter on, sending data */ | ||
| 100 | TXS_NEWFRAME, /* reset CRC and send (next) frame */ | ||
| 101 | TXS_IDLE2, /* Transmitter on, no data pending */ | ||
| 102 | TXS_WAIT, /* Waiting for Mintime to expire */ | ||
| 103 | TXS_TIMEOUT /* We had a transmission timeout */ | ||
| 104 | }; | ||
| 105 | |||
| 106 | typedef unsigned long io_port; /* type definition for an 'io port address' */ | ||
| 107 | |||
| 108 | /* SCC statistical information */ | ||
| 109 | |||
| 110 | struct scc_stat { | ||
| 111 | long rxints; /* Receiver interrupts */ | ||
| 112 | long txints; /* Transmitter interrupts */ | ||
| 113 | long exints; /* External/status interrupts */ | ||
| 114 | long spints; /* Special receiver interrupts */ | ||
| 115 | |||
| 116 | long txframes; /* Packets sent */ | ||
| 117 | long rxframes; /* Number of Frames Actually Received */ | ||
| 118 | long rxerrs; /* CRC Errors */ | ||
| 119 | long txerrs; /* KISS errors */ | ||
| 120 | |||
| 121 | unsigned int nospace; /* "Out of buffers" */ | ||
| 122 | unsigned int rx_over; /* Receiver Overruns */ | ||
| 123 | unsigned int tx_under; /* Transmitter Underruns */ | ||
| 124 | |||
| 125 | unsigned int tx_state; /* Transmitter state */ | ||
| 126 | int tx_queued; /* tx frames enqueued */ | ||
| 127 | |||
| 128 | unsigned int maxqueue; /* allocated tx_buffers */ | ||
| 129 | unsigned int bufsize; /* used buffersize */ | ||
| 130 | }; | ||
| 131 | |||
| 132 | struct scc_modem { | ||
| 133 | long speed; /* Line speed, bps */ | ||
| 134 | char clocksrc; /* 0 = DPLL, 1 = external, 2 = divider */ | ||
| 135 | char nrz; /* NRZ instead of NRZI */ | ||
| 136 | }; | ||
| 137 | |||
| 138 | struct scc_kiss_cmd { | ||
| 139 | int command; /* one of the KISS-Commands defined above */ | ||
| 140 | unsigned param; /* KISS-Param */ | ||
| 141 | }; | ||
| 142 | |||
| 143 | struct scc_hw_config { | ||
| 144 | io_port data_a; /* data port channel A */ | ||
| 145 | io_port ctrl_a; /* control port channel A */ | ||
| 146 | io_port data_b; /* data port channel B */ | ||
| 147 | io_port ctrl_b; /* control port channel B */ | ||
| 148 | io_port vector_latch; /* INTACK-Latch (#) */ | ||
| 149 | io_port special; /* special function port */ | ||
| 150 | |||
| 151 | int irq; /* irq */ | ||
| 152 | long clock; /* clock */ | ||
| 153 | char option; /* command for function port */ | ||
| 154 | |||
| 155 | char brand; /* hardware type */ | ||
| 156 | char escc; /* use ext. features of a 8580/85180/85280 */ | ||
| 157 | }; | ||
| 158 | |||
| 159 | /* (#) only one INTACK latch allowed. */ | ||
| 160 | |||
| 161 | |||
| 162 | struct scc_mem_config { | ||
| 163 | unsigned int dummy; | ||
| 164 | unsigned int bufsize; | ||
| 165 | }; | ||
| 166 | |||
| 167 | struct scc_calibrate { | ||
| 168 | unsigned int time; | ||
| 169 | unsigned char pattern; | ||
| 170 | }; | ||
| 171 | |||
| 172 | #ifdef __KERNEL__ | ||
| 173 | 7 | ||
| 174 | enum {TX_OFF, TX_ON}; /* command for scc_key_trx() */ | 8 | enum {TX_OFF, TX_ON}; /* command for scc_key_trx() */ |
| 175 | 9 | ||
| @@ -248,5 +82,4 @@ struct scc_channel { | |||
| 248 | spinlock_t lock; /* Channel guard lock */ | 82 | spinlock_t lock; /* Channel guard lock */ |
| 249 | }; | 83 | }; |
| 250 | 84 | ||
| 251 | #endif /* defined(__KERNEL__) */ | ||
| 252 | #endif /* defined(_SCC_H) */ | 85 | #endif /* defined(_SCC_H) */ |
