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