xref: /aosp_15_r20/bionic/libc/kernel/uapi/linux/serial.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_LINUX_SERIAL_H
8*8d67ca89SAndroid Build Coastguard Worker #define _UAPI_LINUX_SERIAL_H
9*8d67ca89SAndroid Build Coastguard Worker #include <linux/const.h>
10*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h>
11*8d67ca89SAndroid Build Coastguard Worker #include <linux/tty_flags.h>
12*8d67ca89SAndroid Build Coastguard Worker struct serial_struct {
13*8d67ca89SAndroid Build Coastguard Worker   int type;
14*8d67ca89SAndroid Build Coastguard Worker   int line;
15*8d67ca89SAndroid Build Coastguard Worker   unsigned int port;
16*8d67ca89SAndroid Build Coastguard Worker   int irq;
17*8d67ca89SAndroid Build Coastguard Worker   int flags;
18*8d67ca89SAndroid Build Coastguard Worker   int xmit_fifo_size;
19*8d67ca89SAndroid Build Coastguard Worker   int custom_divisor;
20*8d67ca89SAndroid Build Coastguard Worker   int baud_base;
21*8d67ca89SAndroid Build Coastguard Worker   unsigned short close_delay;
22*8d67ca89SAndroid Build Coastguard Worker   char io_type;
23*8d67ca89SAndroid Build Coastguard Worker   char reserved_char[1];
24*8d67ca89SAndroid Build Coastguard Worker   int hub6;
25*8d67ca89SAndroid Build Coastguard Worker   unsigned short closing_wait;
26*8d67ca89SAndroid Build Coastguard Worker   unsigned short closing_wait2;
27*8d67ca89SAndroid Build Coastguard Worker   unsigned char * iomem_base;
28*8d67ca89SAndroid Build Coastguard Worker   unsigned short iomem_reg_shift;
29*8d67ca89SAndroid Build Coastguard Worker   unsigned int port_high;
30*8d67ca89SAndroid Build Coastguard Worker   unsigned long iomap_base;
31*8d67ca89SAndroid Build Coastguard Worker };
32*8d67ca89SAndroid Build Coastguard Worker #define ASYNC_CLOSING_WAIT_INF 0
33*8d67ca89SAndroid Build Coastguard Worker #define ASYNC_CLOSING_WAIT_NONE 65535
34*8d67ca89SAndroid Build Coastguard Worker #define PORT_UNKNOWN 0
35*8d67ca89SAndroid Build Coastguard Worker #define PORT_8250 1
36*8d67ca89SAndroid Build Coastguard Worker #define PORT_16450 2
37*8d67ca89SAndroid Build Coastguard Worker #define PORT_16550 3
38*8d67ca89SAndroid Build Coastguard Worker #define PORT_16550A 4
39*8d67ca89SAndroid Build Coastguard Worker #define PORT_CIRRUS 5
40*8d67ca89SAndroid Build Coastguard Worker #define PORT_16650 6
41*8d67ca89SAndroid Build Coastguard Worker #define PORT_16650V2 7
42*8d67ca89SAndroid Build Coastguard Worker #define PORT_16750 8
43*8d67ca89SAndroid Build Coastguard Worker #define PORT_STARTECH 9
44*8d67ca89SAndroid Build Coastguard Worker #define PORT_16C950 10
45*8d67ca89SAndroid Build Coastguard Worker #define PORT_16654 11
46*8d67ca89SAndroid Build Coastguard Worker #define PORT_16850 12
47*8d67ca89SAndroid Build Coastguard Worker #define PORT_RSA 13
48*8d67ca89SAndroid Build Coastguard Worker #define PORT_MAX 13
49*8d67ca89SAndroid Build Coastguard Worker #define SERIAL_IO_PORT 0
50*8d67ca89SAndroid Build Coastguard Worker #define SERIAL_IO_HUB6 1
51*8d67ca89SAndroid Build Coastguard Worker #define SERIAL_IO_MEM 2
52*8d67ca89SAndroid Build Coastguard Worker #define SERIAL_IO_MEM32 3
53*8d67ca89SAndroid Build Coastguard Worker #define SERIAL_IO_AU 4
54*8d67ca89SAndroid Build Coastguard Worker #define SERIAL_IO_TSI 5
55*8d67ca89SAndroid Build Coastguard Worker #define SERIAL_IO_MEM32BE 6
56*8d67ca89SAndroid Build Coastguard Worker #define SERIAL_IO_MEM16 7
57*8d67ca89SAndroid Build Coastguard Worker #define UART_CLEAR_FIFO 0x01
58*8d67ca89SAndroid Build Coastguard Worker #define UART_USE_FIFO 0x02
59*8d67ca89SAndroid Build Coastguard Worker #define UART_STARTECH 0x04
60*8d67ca89SAndroid Build Coastguard Worker #define UART_NATSEMI 0x08
61*8d67ca89SAndroid Build Coastguard Worker struct serial_multiport_struct {
62*8d67ca89SAndroid Build Coastguard Worker   int irq;
63*8d67ca89SAndroid Build Coastguard Worker   int port1;
64*8d67ca89SAndroid Build Coastguard Worker   unsigned char mask1, match1;
65*8d67ca89SAndroid Build Coastguard Worker   int port2;
66*8d67ca89SAndroid Build Coastguard Worker   unsigned char mask2, match2;
67*8d67ca89SAndroid Build Coastguard Worker   int port3;
68*8d67ca89SAndroid Build Coastguard Worker   unsigned char mask3, match3;
69*8d67ca89SAndroid Build Coastguard Worker   int port4;
70*8d67ca89SAndroid Build Coastguard Worker   unsigned char mask4, match4;
71*8d67ca89SAndroid Build Coastguard Worker   int port_monitor;
72*8d67ca89SAndroid Build Coastguard Worker   int reserved[32];
73*8d67ca89SAndroid Build Coastguard Worker };
74*8d67ca89SAndroid Build Coastguard Worker struct serial_icounter_struct {
75*8d67ca89SAndroid Build Coastguard Worker   int cts, dsr, rng, dcd;
76*8d67ca89SAndroid Build Coastguard Worker   int rx, tx;
77*8d67ca89SAndroid Build Coastguard Worker   int frame, overrun, parity, brk;
78*8d67ca89SAndroid Build Coastguard Worker   int buf_overrun;
79*8d67ca89SAndroid Build Coastguard Worker   int reserved[9];
80*8d67ca89SAndroid Build Coastguard Worker };
81*8d67ca89SAndroid Build Coastguard Worker struct serial_rs485 {
82*8d67ca89SAndroid Build Coastguard Worker   __u32 flags;
83*8d67ca89SAndroid Build Coastguard Worker #define SER_RS485_ENABLED _BITUL(0)
84*8d67ca89SAndroid Build Coastguard Worker #define SER_RS485_RTS_ON_SEND _BITUL(1)
85*8d67ca89SAndroid Build Coastguard Worker #define SER_RS485_RTS_AFTER_SEND _BITUL(2)
86*8d67ca89SAndroid Build Coastguard Worker #define SER_RS485_RX_DURING_TX _BITUL(4)
87*8d67ca89SAndroid Build Coastguard Worker #define SER_RS485_TERMINATE_BUS _BITUL(5)
88*8d67ca89SAndroid Build Coastguard Worker #define SER_RS485_ADDRB _BITUL(6)
89*8d67ca89SAndroid Build Coastguard Worker #define SER_RS485_ADDR_RECV _BITUL(7)
90*8d67ca89SAndroid Build Coastguard Worker #define SER_RS485_ADDR_DEST _BITUL(8)
91*8d67ca89SAndroid Build Coastguard Worker #define SER_RS485_MODE_RS422 _BITUL(9)
92*8d67ca89SAndroid Build Coastguard Worker   __u32 delay_rts_before_send;
93*8d67ca89SAndroid Build Coastguard Worker   __u32 delay_rts_after_send;
94*8d67ca89SAndroid Build Coastguard Worker   union {
95*8d67ca89SAndroid Build Coastguard Worker     __u32 padding[5];
96*8d67ca89SAndroid Build Coastguard Worker     struct {
97*8d67ca89SAndroid Build Coastguard Worker       __u8 addr_recv;
98*8d67ca89SAndroid Build Coastguard Worker       __u8 addr_dest;
99*8d67ca89SAndroid Build Coastguard Worker       __u8 padding0[2];
100*8d67ca89SAndroid Build Coastguard Worker       __u32 padding1[4];
101*8d67ca89SAndroid Build Coastguard Worker     };
102*8d67ca89SAndroid Build Coastguard Worker   };
103*8d67ca89SAndroid Build Coastguard Worker };
104*8d67ca89SAndroid Build Coastguard Worker struct serial_iso7816 {
105*8d67ca89SAndroid Build Coastguard Worker   __u32 flags;
106*8d67ca89SAndroid Build Coastguard Worker #define SER_ISO7816_ENABLED (1 << 0)
107*8d67ca89SAndroid Build Coastguard Worker #define SER_ISO7816_T_PARAM (0x0f << 4)
108*8d67ca89SAndroid Build Coastguard Worker #define SER_ISO7816_T(t) (((t) & 0x0f) << 4)
109*8d67ca89SAndroid Build Coastguard Worker   __u32 tg;
110*8d67ca89SAndroid Build Coastguard Worker   __u32 sc_fi;
111*8d67ca89SAndroid Build Coastguard Worker   __u32 sc_di;
112*8d67ca89SAndroid Build Coastguard Worker   __u32 clk;
113*8d67ca89SAndroid Build Coastguard Worker   __u32 reserved[5];
114*8d67ca89SAndroid Build Coastguard Worker };
115*8d67ca89SAndroid Build Coastguard Worker #endif
116