1655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/****************************************************************************
2655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************
3655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
4655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   This header was automatically generated from a Linux kernel header
5655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   of the same name, to make information necessary for userspace to
6655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   call into the kernel available to libc.  It contains only constants,
7655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   structures, and macros generated from the original header, and thus,
8655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   contains no copyrightable information.
9655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
10655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   To edit the content of this header, modify the corresponding
11655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   source file (e.g. under external/kernel-headers/original/) then
12655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   run bionic/libc/kernel/tools/update_all.py
13655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
14655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   Any manual change here will be lost the next time this script will
15655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   be run. You've been warned!
16655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
17655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************
18655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************/
19655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#ifndef _UAPI_LINUX_SERIAL_H
20655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define _UAPI_LINUX_SERIAL_H
21655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#include <linux/types.h>
22655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#include <linux/tty_flags.h>
23655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct serial_struct {
25d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int type;
26d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int line;
27d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned int port;
28d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int irq;
30d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int flags;
31d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int xmit_fifo_size;
32d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int custom_divisor;
33d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int baud_base;
35d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned short close_delay;
36d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  char io_type;
37d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  char reserved_char[1];
38d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int hub6;
40d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned short closing_wait;
41d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned short closing_wait2;
42d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned char * iomem_base;
43d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned short iomem_reg_shift;
45d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned int port_high;
46d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned long iomap_base;
47655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
48655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define ASYNC_CLOSING_WAIT_INF 0
50655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define ASYNC_CLOSING_WAIT_NONE 65535
51655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define PORT_UNKNOWN 0
52655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define PORT_8250 1
53655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define PORT_16450 2
55655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define PORT_16550 3
56655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define PORT_16550A 4
57655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define PORT_CIRRUS 5
58655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define PORT_16650 6
60655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define PORT_16650V2 7
61655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define PORT_16750 8
62655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define PORT_STARTECH 9
63655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define PORT_16C950 10
65655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define PORT_16654 11
66655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define PORT_16850 12
67655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define PORT_RSA 13
68655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define PORT_MAX 13
70655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SERIAL_IO_PORT 0
71655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SERIAL_IO_HUB6 1
72655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SERIAL_IO_MEM 2
73655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
7405d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SERIAL_IO_MEM32 3
7505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SERIAL_IO_AU 4
7605d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SERIAL_IO_TSI 5
7705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SERIAL_IO_MEM32BE 6
7805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define UART_CLEAR_FIFO 0x01
80655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define UART_USE_FIFO 0x02
81655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define UART_STARTECH 0x04
82655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define UART_NATSEMI 0x08
83655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct serial_multiport_struct {
85d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int irq;
86d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int port1;
87d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned char mask1, match1;
88655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int port2;
90d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned char mask2, match2;
91d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int port3;
92d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned char mask3, match3;
93655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int port4;
95d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned char mask4, match4;
96d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int port_monitor;
97d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int reserved[32];
98655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
100655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct serial_icounter_struct {
101d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int cts, dsr, rng, dcd;
102d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int rx, tx;
103655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int frame, overrun, parity, brk;
105d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int buf_overrun;
106d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int reserved[9];
107655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
108655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct serial_rs485 {
110d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 flags;
111655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SER_RS485_ENABLED (1 << 0)
112655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SER_RS485_RTS_ON_SEND (1 << 1)
113655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SER_RS485_RTS_AFTER_SEND (1 << 2)
115655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SER_RS485_RX_DURING_TX (1 << 4)
116d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 delay_rts_before_send;
117d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 delay_rts_after_send;
118655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 padding[5];
120655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
121655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#endif
122