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