xref: /aosp_15_r20/bionic/libc/kernel/uapi/linux/scc.h (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1*8d67ca89SAndroid Build Coastguard Worker /*
2*8d67ca89SAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*8d67ca89SAndroid Build Coastguard Worker  *
4*8d67ca89SAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*8d67ca89SAndroid Build Coastguard Worker  * for more information.
6*8d67ca89SAndroid Build Coastguard Worker  */
7*8d67ca89SAndroid Build Coastguard Worker #ifndef _UAPI_SCC_H
8*8d67ca89SAndroid Build Coastguard Worker #define _UAPI_SCC_H
9*8d67ca89SAndroid Build Coastguard Worker #include <linux/sockios.h>
10*8d67ca89SAndroid Build Coastguard Worker #define PA0HZP 0x00
11*8d67ca89SAndroid Build Coastguard Worker #define EAGLE 0x01
12*8d67ca89SAndroid Build Coastguard Worker #define PC100 0x02
13*8d67ca89SAndroid Build Coastguard Worker #define PRIMUS 0x04
14*8d67ca89SAndroid Build Coastguard Worker #define DRSI 0x08
15*8d67ca89SAndroid Build Coastguard Worker #define BAYCOM 0x10
16*8d67ca89SAndroid Build Coastguard Worker enum SCC_ioctl_cmds {
17*8d67ca89SAndroid Build Coastguard Worker   SIOCSCCRESERVED = SIOCDEVPRIVATE,
18*8d67ca89SAndroid Build Coastguard Worker   SIOCSCCCFG,
19*8d67ca89SAndroid Build Coastguard Worker   SIOCSCCINI,
20*8d67ca89SAndroid Build Coastguard Worker   SIOCSCCCHANINI,
21*8d67ca89SAndroid Build Coastguard Worker   SIOCSCCSMEM,
22*8d67ca89SAndroid Build Coastguard Worker   SIOCSCCGKISS,
23*8d67ca89SAndroid Build Coastguard Worker   SIOCSCCSKISS,
24*8d67ca89SAndroid Build Coastguard Worker   SIOCSCCGSTAT,
25*8d67ca89SAndroid Build Coastguard Worker   SIOCSCCCAL
26*8d67ca89SAndroid Build Coastguard Worker };
27*8d67ca89SAndroid Build Coastguard Worker enum L1_params {
28*8d67ca89SAndroid Build Coastguard Worker   PARAM_DATA,
29*8d67ca89SAndroid Build Coastguard Worker   PARAM_TXDELAY,
30*8d67ca89SAndroid Build Coastguard Worker   PARAM_PERSIST,
31*8d67ca89SAndroid Build Coastguard Worker   PARAM_SLOTTIME,
32*8d67ca89SAndroid Build Coastguard Worker   PARAM_TXTAIL,
33*8d67ca89SAndroid Build Coastguard Worker   PARAM_FULLDUP,
34*8d67ca89SAndroid Build Coastguard Worker   PARAM_SOFTDCD,
35*8d67ca89SAndroid Build Coastguard Worker   PARAM_MUTE,
36*8d67ca89SAndroid Build Coastguard Worker   PARAM_DTR,
37*8d67ca89SAndroid Build Coastguard Worker   PARAM_RTS,
38*8d67ca89SAndroid Build Coastguard Worker   PARAM_SPEED,
39*8d67ca89SAndroid Build Coastguard Worker   PARAM_ENDDELAY,
40*8d67ca89SAndroid Build Coastguard Worker   PARAM_GROUP,
41*8d67ca89SAndroid Build Coastguard Worker   PARAM_IDLE,
42*8d67ca89SAndroid Build Coastguard Worker   PARAM_MIN,
43*8d67ca89SAndroid Build Coastguard Worker   PARAM_MAXKEY,
44*8d67ca89SAndroid Build Coastguard Worker   PARAM_WAIT,
45*8d67ca89SAndroid Build Coastguard Worker   PARAM_MAXDEFER,
46*8d67ca89SAndroid Build Coastguard Worker   PARAM_TX,
47*8d67ca89SAndroid Build Coastguard Worker   PARAM_HWEVENT = 31,
48*8d67ca89SAndroid Build Coastguard Worker   PARAM_RETURN = 255
49*8d67ca89SAndroid Build Coastguard Worker };
50*8d67ca89SAndroid Build Coastguard Worker enum FULLDUP_modes {
51*8d67ca89SAndroid Build Coastguard Worker   KISS_DUPLEX_HALF,
52*8d67ca89SAndroid Build Coastguard Worker   KISS_DUPLEX_FULL,
53*8d67ca89SAndroid Build Coastguard Worker   KISS_DUPLEX_LINK,
54*8d67ca89SAndroid Build Coastguard Worker   KISS_DUPLEX_OPTIMA
55*8d67ca89SAndroid Build Coastguard Worker };
56*8d67ca89SAndroid Build Coastguard Worker #define TIMER_OFF 65535U
57*8d67ca89SAndroid Build Coastguard Worker #define NO_SUCH_PARAM 65534U
58*8d67ca89SAndroid Build Coastguard Worker enum HWEVENT_opts {
59*8d67ca89SAndroid Build Coastguard Worker   HWEV_DCD_ON,
60*8d67ca89SAndroid Build Coastguard Worker   HWEV_DCD_OFF,
61*8d67ca89SAndroid Build Coastguard Worker   HWEV_ALL_SENT
62*8d67ca89SAndroid Build Coastguard Worker };
63*8d67ca89SAndroid Build Coastguard Worker #define RXGROUP 0100
64*8d67ca89SAndroid Build Coastguard Worker #define TXGROUP 0200
65*8d67ca89SAndroid Build Coastguard Worker enum CLOCK_sources {
66*8d67ca89SAndroid Build Coastguard Worker   CLK_DPLL,
67*8d67ca89SAndroid Build Coastguard Worker   CLK_EXTERNAL,
68*8d67ca89SAndroid Build Coastguard Worker   CLK_DIVIDER,
69*8d67ca89SAndroid Build Coastguard Worker   CLK_BRG
70*8d67ca89SAndroid Build Coastguard Worker };
71*8d67ca89SAndroid Build Coastguard Worker enum TX_state {
72*8d67ca89SAndroid Build Coastguard Worker   TXS_IDLE,
73*8d67ca89SAndroid Build Coastguard Worker   TXS_BUSY,
74*8d67ca89SAndroid Build Coastguard Worker   TXS_ACTIVE,
75*8d67ca89SAndroid Build Coastguard Worker   TXS_NEWFRAME,
76*8d67ca89SAndroid Build Coastguard Worker   TXS_IDLE2,
77*8d67ca89SAndroid Build Coastguard Worker   TXS_WAIT,
78*8d67ca89SAndroid Build Coastguard Worker   TXS_TIMEOUT
79*8d67ca89SAndroid Build Coastguard Worker };
80*8d67ca89SAndroid Build Coastguard Worker typedef unsigned long io_port;
81*8d67ca89SAndroid Build Coastguard Worker struct scc_stat {
82*8d67ca89SAndroid Build Coastguard Worker   long rxints;
83*8d67ca89SAndroid Build Coastguard Worker   long txints;
84*8d67ca89SAndroid Build Coastguard Worker   long exints;
85*8d67ca89SAndroid Build Coastguard Worker   long spints;
86*8d67ca89SAndroid Build Coastguard Worker   long txframes;
87*8d67ca89SAndroid Build Coastguard Worker   long rxframes;
88*8d67ca89SAndroid Build Coastguard Worker   long rxerrs;
89*8d67ca89SAndroid Build Coastguard Worker   long txerrs;
90*8d67ca89SAndroid Build Coastguard Worker   unsigned int nospace;
91*8d67ca89SAndroid Build Coastguard Worker   unsigned int rx_over;
92*8d67ca89SAndroid Build Coastguard Worker   unsigned int tx_under;
93*8d67ca89SAndroid Build Coastguard Worker   unsigned int tx_state;
94*8d67ca89SAndroid Build Coastguard Worker   int tx_queued;
95*8d67ca89SAndroid Build Coastguard Worker   unsigned int maxqueue;
96*8d67ca89SAndroid Build Coastguard Worker   unsigned int bufsize;
97*8d67ca89SAndroid Build Coastguard Worker };
98*8d67ca89SAndroid Build Coastguard Worker struct scc_modem {
99*8d67ca89SAndroid Build Coastguard Worker   long speed;
100*8d67ca89SAndroid Build Coastguard Worker   char clocksrc;
101*8d67ca89SAndroid Build Coastguard Worker   char nrz;
102*8d67ca89SAndroid Build Coastguard Worker };
103*8d67ca89SAndroid Build Coastguard Worker struct scc_kiss_cmd {
104*8d67ca89SAndroid Build Coastguard Worker   int command;
105*8d67ca89SAndroid Build Coastguard Worker   unsigned param;
106*8d67ca89SAndroid Build Coastguard Worker };
107*8d67ca89SAndroid Build Coastguard Worker struct scc_hw_config {
108*8d67ca89SAndroid Build Coastguard Worker   io_port data_a;
109*8d67ca89SAndroid Build Coastguard Worker   io_port ctrl_a;
110*8d67ca89SAndroid Build Coastguard Worker   io_port data_b;
111*8d67ca89SAndroid Build Coastguard Worker   io_port ctrl_b;
112*8d67ca89SAndroid Build Coastguard Worker   io_port vector_latch;
113*8d67ca89SAndroid Build Coastguard Worker   io_port special;
114*8d67ca89SAndroid Build Coastguard Worker   int irq;
115*8d67ca89SAndroid Build Coastguard Worker   long clock;
116*8d67ca89SAndroid Build Coastguard Worker   char option;
117*8d67ca89SAndroid Build Coastguard Worker   char brand;
118*8d67ca89SAndroid Build Coastguard Worker   char escc;
119*8d67ca89SAndroid Build Coastguard Worker };
120*8d67ca89SAndroid Build Coastguard Worker struct scc_mem_config {
121*8d67ca89SAndroid Build Coastguard Worker   unsigned int dummy;
122*8d67ca89SAndroid Build Coastguard Worker   unsigned int bufsize;
123*8d67ca89SAndroid Build Coastguard Worker };
124*8d67ca89SAndroid Build Coastguard Worker struct scc_calibrate {
125*8d67ca89SAndroid Build Coastguard Worker   unsigned int time;
126*8d67ca89SAndroid Build Coastguard Worker   unsigned char pattern;
127*8d67ca89SAndroid Build Coastguard Worker };
128*8d67ca89SAndroid Build Coastguard Worker #endif
129