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