blob: f3640d75760409d3172ba88a708bcd2eef6864ce [file] [log] [blame]
Elliott Hughes180edef2023-11-02 00:08:05 +00001/*
2 * This file is auto-generated. Modifications will be lost.
3 *
4 * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5 * for more information.
6 */
Ben Cheng655a7c02013-10-16 16:09:24 -07007#ifndef _UAPI_SCC_H
8#define _UAPI_SCC_H
Christopher Ferrisef80d682020-02-04 16:16:51 -08009#include <linux/sockios.h>
Ben Cheng655a7c02013-10-16 16:09:24 -070010#define PA0HZP 0x00
11#define EAGLE 0x01
Ben Cheng655a7c02013-10-16 16:09:24 -070012#define PC100 0x02
13#define PRIMUS 0x04
14#define DRSI 0x08
15#define BAYCOM 0x10
Ben Cheng655a7c02013-10-16 16:09:24 -070016enum SCC_ioctl_cmds {
Tao Baod7db5942015-01-28 10:07:51 -080017 SIOCSCCRESERVED = SIOCDEVPRIVATE,
18 SIOCSCCCFG,
19 SIOCSCCINI,
Tao Baod7db5942015-01-28 10:07:51 -080020 SIOCSCCCHANINI,
21 SIOCSCCSMEM,
22 SIOCSCCGKISS,
23 SIOCSCCSKISS,
Tao Baod7db5942015-01-28 10:07:51 -080024 SIOCSCCGSTAT,
25 SIOCSCCCAL
Ben Cheng655a7c02013-10-16 16:09:24 -070026};
27enum L1_params {
Tao Baod7db5942015-01-28 10:07:51 -080028 PARAM_DATA,
29 PARAM_TXDELAY,
30 PARAM_PERSIST,
31 PARAM_SLOTTIME,
Tao Baod7db5942015-01-28 10:07:51 -080032 PARAM_TXTAIL,
33 PARAM_FULLDUP,
34 PARAM_SOFTDCD,
35 PARAM_MUTE,
Tao Baod7db5942015-01-28 10:07:51 -080036 PARAM_DTR,
37 PARAM_RTS,
38 PARAM_SPEED,
39 PARAM_ENDDELAY,
Tao Baod7db5942015-01-28 10:07:51 -080040 PARAM_GROUP,
41 PARAM_IDLE,
42 PARAM_MIN,
43 PARAM_MAXKEY,
Tao Baod7db5942015-01-28 10:07:51 -080044 PARAM_WAIT,
45 PARAM_MAXDEFER,
46 PARAM_TX,
47 PARAM_HWEVENT = 31,
Tao Baod7db5942015-01-28 10:07:51 -080048 PARAM_RETURN = 255
Ben Cheng655a7c02013-10-16 16:09:24 -070049};
50enum FULLDUP_modes {
Tao Baod7db5942015-01-28 10:07:51 -080051 KISS_DUPLEX_HALF,
Tao Baod7db5942015-01-28 10:07:51 -080052 KISS_DUPLEX_FULL,
53 KISS_DUPLEX_LINK,
54 KISS_DUPLEX_OPTIMA
Ben Cheng655a7c02013-10-16 16:09:24 -070055};
Ben Cheng655a7c02013-10-16 16:09:24 -070056#define TIMER_OFF 65535U
57#define NO_SUCH_PARAM 65534U
58enum HWEVENT_opts {
Tao Baod7db5942015-01-28 10:07:51 -080059 HWEV_DCD_ON,
Tao Baod7db5942015-01-28 10:07:51 -080060 HWEV_DCD_OFF,
61 HWEV_ALL_SENT
Ben Cheng655a7c02013-10-16 16:09:24 -070062};
63#define RXGROUP 0100
Ben Cheng655a7c02013-10-16 16:09:24 -070064#define TXGROUP 0200
65enum CLOCK_sources {
Tao Baod7db5942015-01-28 10:07:51 -080066 CLK_DPLL,
67 CLK_EXTERNAL,
Tao Baod7db5942015-01-28 10:07:51 -080068 CLK_DIVIDER,
69 CLK_BRG
Ben Cheng655a7c02013-10-16 16:09:24 -070070};
71enum TX_state {
Tao Baod7db5942015-01-28 10:07:51 -080072 TXS_IDLE,
73 TXS_BUSY,
74 TXS_ACTIVE,
75 TXS_NEWFRAME,
Tao Baod7db5942015-01-28 10:07:51 -080076 TXS_IDLE2,
77 TXS_WAIT,
78 TXS_TIMEOUT
Ben Cheng655a7c02013-10-16 16:09:24 -070079};
Ben Cheng655a7c02013-10-16 16:09:24 -070080typedef unsigned long io_port;
81struct scc_stat {
Tao Baod7db5942015-01-28 10:07:51 -080082 long rxints;
83 long txints;
Tao Baod7db5942015-01-28 10:07:51 -080084 long exints;
85 long spints;
86 long txframes;
87 long rxframes;
Tao Baod7db5942015-01-28 10:07:51 -080088 long rxerrs;
89 long txerrs;
90 unsigned int nospace;
91 unsigned int rx_over;
Tao Baod7db5942015-01-28 10:07:51 -080092 unsigned int tx_under;
93 unsigned int tx_state;
94 int tx_queued;
95 unsigned int maxqueue;
Tao Baod7db5942015-01-28 10:07:51 -080096 unsigned int bufsize;
Ben Cheng655a7c02013-10-16 16:09:24 -070097};
98struct scc_modem {
Tao Baod7db5942015-01-28 10:07:51 -080099 long speed;
Tao Baod7db5942015-01-28 10:07:51 -0800100 char clocksrc;
101 char nrz;
Ben Cheng655a7c02013-10-16 16:09:24 -0700102};
103struct scc_kiss_cmd {
Tao Baod7db5942015-01-28 10:07:51 -0800104 int command;
105 unsigned param;
Ben Cheng655a7c02013-10-16 16:09:24 -0700106};
107struct scc_hw_config {
Tao Baod7db5942015-01-28 10:07:51 -0800108 io_port data_a;
109 io_port ctrl_a;
110 io_port data_b;
111 io_port ctrl_b;
Tao Baod7db5942015-01-28 10:07:51 -0800112 io_port vector_latch;
113 io_port special;
114 int irq;
115 long clock;
Tao Baod7db5942015-01-28 10:07:51 -0800116 char option;
117 char brand;
118 char escc;
Ben Cheng655a7c02013-10-16 16:09:24 -0700119};
Ben Cheng655a7c02013-10-16 16:09:24 -0700120struct scc_mem_config {
Tao Baod7db5942015-01-28 10:07:51 -0800121 unsigned int dummy;
122 unsigned int bufsize;
Ben Cheng655a7c02013-10-16 16:09:24 -0700123};
Ben Cheng655a7c02013-10-16 16:09:24 -0700124struct scc_calibrate {
Tao Baod7db5942015-01-28 10:07:51 -0800125 unsigned int time;
126 unsigned char pattern;
Ben Cheng655a7c02013-10-16 16:09:24 -0700127};
Ben Cheng655a7c02013-10-16 16:09:24 -0700128#endif