/****************************************************************************
 ****************************************************************************
 ***
 ***   This header was automatically generated from a Linux kernel header
 ***   of the same name, to make information necessary for userspace to
 ***   call into the kernel available to libc.  It contains only constants,
 ***   structures, and macros generated from the original header, and thus,
 ***   contains no copyrightable information.
 ***
 ***   To edit the content of this header, modify the corresponding
 ***   source file (e.g. under external/kernel-headers/original/) then
 ***   run bionic/libc/kernel/tools/update_all.py
 ***
 ***   Any manual change here will be lost the next time this script will
 ***   be run. You've been warned!
 ***
 ****************************************************************************
 ****************************************************************************/
#ifndef _LINUX_SERIAL_REG_H
#define _LINUX_SERIAL_REG_H
#define UART_RX 0
#define UART_TX 0
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_IER 1
#define UART_IER_MSI 0x08
#define UART_IER_RLSI 0x04
#define UART_IER_THRI 0x02
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_IER_RDI 0x01
#define UART_IERX_SLEEP 0x10
#define UART_IIR 2
#define UART_IIR_NO_INT 0x01
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_IIR_ID 0x0e
#define UART_IIR_MSI 0x00
#define UART_IIR_THRI 0x02
#define UART_IIR_RDI 0x04
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_IIR_RLSI 0x06
#define UART_IIR_BUSY 0x07
#define UART_IIR_RX_TIMEOUT 0x0c
#define UART_IIR_XOFF 0x10
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_IIR_CTS_RTS_DSR 0x20
#define UART_FCR 2
#define UART_FCR_ENABLE_FIFO 0x01
#define UART_FCR_CLEAR_RCVR 0x02
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_FCR_CLEAR_XMIT 0x04
#define UART_FCR_DMA_SELECT 0x08
#define UART_FCR_R_TRIG_00 0x00
#define UART_FCR_R_TRIG_01 0x40
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_FCR_R_TRIG_10 0x80
#define UART_FCR_R_TRIG_11 0xc0
#define UART_FCR_T_TRIG_00 0x00
#define UART_FCR_T_TRIG_01 0x10
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_FCR_T_TRIG_10 0x20
#define UART_FCR_T_TRIG_11 0x30
#define UART_FCR_TRIGGER_MASK 0xC0
#define UART_FCR_TRIGGER_1 0x00
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_FCR_TRIGGER_4 0x40
#define UART_FCR_TRIGGER_8 0x80
#define UART_FCR_TRIGGER_14 0xC0
#define UART_FCR6_R_TRIGGER_8 0x00
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_FCR6_R_TRIGGER_16 0x40
#define UART_FCR6_R_TRIGGER_24 0x80
#define UART_FCR6_R_TRIGGER_28 0xC0
#define UART_FCR6_T_TRIGGER_16 0x00
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_FCR6_T_TRIGGER_8 0x10
#define UART_FCR6_T_TRIGGER_24 0x20
#define UART_FCR6_T_TRIGGER_30 0x30
#define UART_FCR7_64BYTE 0x20
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_FCR_R_TRIG_SHIFT 6
#define UART_FCR_R_TRIG_BITS(x) (((x) & UART_FCR_TRIGGER_MASK) >> UART_FCR_R_TRIG_SHIFT)
#define UART_FCR_R_TRIG_MAX_STATE 4
#define UART_LCR 3
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_LCR_DLAB 0x80
#define UART_LCR_SBC 0x40
#define UART_LCR_SPAR 0x20
#define UART_LCR_EPAR 0x10
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_LCR_PARITY 0x08
#define UART_LCR_STOP 0x04
#define UART_LCR_WLEN5 0x00
#define UART_LCR_WLEN6 0x01
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_LCR_WLEN7 0x02
#define UART_LCR_WLEN8 0x03
#define UART_LCR_CONF_MODE_A UART_LCR_DLAB
#define UART_LCR_CONF_MODE_B 0xBF
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_MCR 4
#define UART_MCR_CLKSEL 0x80
#define UART_MCR_TCRTLR 0x40
#define UART_MCR_XONANY 0x20
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_MCR_AFE 0x20
#define UART_MCR_LOOP 0x10
#define UART_MCR_OUT2 0x08
#define UART_MCR_OUT1 0x04
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_MCR_RTS 0x02
#define UART_MCR_DTR 0x01
#define UART_LSR 5
#define UART_LSR_FIFOE 0x80
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_LSR_TEMT 0x40
#define UART_LSR_THRE 0x20
#define UART_LSR_BI 0x10
#define UART_LSR_FE 0x08
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_LSR_PE 0x04
#define UART_LSR_OE 0x02
#define UART_LSR_DR 0x01
#define UART_LSR_BRK_ERROR_BITS 0x1E
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_MSR 6
#define UART_MSR_DCD 0x80
#define UART_MSR_RI 0x40
#define UART_MSR_DSR 0x20
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_MSR_CTS 0x10
#define UART_MSR_DDCD 0x08
#define UART_MSR_TERI 0x04
#define UART_MSR_DDSR 0x02
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_MSR_DCTS 0x01
#define UART_MSR_ANY_DELTA 0x0F
#define UART_SCR 7
#define UART_DLL 0
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_DLM 1
#define UART_EFR 2
#define UART_XR_EFR 9
#define UART_EFR_CTS 0x80
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_EFR_RTS 0x40
#define UART_EFR_SCD 0x20
#define UART_EFR_ECB 0x10
#define UART_XON1 4
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_XON2 5
#define UART_XOFF1 6
#define UART_XOFF2 7
#define UART_TI752_TCR 6
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_TI752_TLR 7
#define UART_TRG 0
#define UART_TRG_1 0x01
#define UART_TRG_4 0x04
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_TRG_8 0x08
#define UART_TRG_16 0x10
#define UART_TRG_32 0x20
#define UART_TRG_64 0x40
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_TRG_96 0x60
#define UART_TRG_120 0x78
#define UART_TRG_128 0x80
#define UART_FCTR 1
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_FCTR_RTS_NODELAY 0x00
#define UART_FCTR_RTS_4DELAY 0x01
#define UART_FCTR_RTS_6DELAY 0x02
#define UART_FCTR_RTS_8DELAY 0x03
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_FCTR_IRDA 0x04
#define UART_FCTR_TX_INT 0x08
#define UART_FCTR_TRGA 0x00
#define UART_FCTR_TRGB 0x10
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_FCTR_TRGC 0x20
#define UART_FCTR_TRGD 0x30
#define UART_FCTR_SCR_SWAP 0x40
#define UART_FCTR_RX 0x00
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_FCTR_TX 0x80
#define UART_EMSR 7
#define UART_EMSR_FIFO_COUNT 0x01
#define UART_EMSR_ALT_COUNT 0x02
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_IER_DMAE 0x80
#define UART_IER_UUE 0x40
#define UART_IER_NRZE 0x20
#define UART_IER_RTOIE 0x10
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_IIR_TOD 0x08
#define UART_FCR_PXAR1 0x00
#define UART_FCR_PXAR8 0x40
#define UART_FCR_PXAR16 0x80
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_FCR_PXAR32 0xc0
#define UART_FCR_HSU_64_1B 0x00
#define UART_FCR_HSU_64_16B 0x40
#define UART_FCR_HSU_64_32B 0x80
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_FCR_HSU_64_56B 0xc0
#define UART_FCR_HSU_16_1B 0x00
#define UART_FCR_HSU_16_4B 0x40
#define UART_FCR_HSU_16_8B 0x80
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_FCR_HSU_16_14B 0xc0
#define UART_FCR_HSU_64B_FIFO 0x20
#define UART_FCR_HSU_16B_FIFO 0x00
#define UART_FCR_HALF_EMPT_TXI 0x00
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_FCR_FULL_EMPT_TXI 0x08
#define UART_ASR 0x01
#define UART_RFL 0x03
#define UART_TFL 0x04
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_ICR 0x05
#define UART_ACR 0x00
#define UART_CPR 0x01
#define UART_TCR 0x02
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_CKS 0x03
#define UART_TTL 0x04
#define UART_RTL 0x05
#define UART_FCL 0x06
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_FCH 0x07
#define UART_ID1 0x08
#define UART_ID2 0x09
#define UART_ID3 0x0A
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_REV 0x0B
#define UART_CSR 0x0C
#define UART_NMR 0x0D
#define UART_CTR 0xFF
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_ACR_RXDIS 0x01
#define UART_ACR_TXDIS 0x02
#define UART_ACR_DSRFC 0x04
#define UART_ACR_TLENB 0x20
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_ACR_ICRRD 0x40
#define UART_ACR_ASREN 0x80
#define UART_RSA_BASE (- 8)
#define UART_RSA_MSR ((UART_RSA_BASE) + 0)
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_RSA_MSR_SWAP (1 << 0)
#define UART_RSA_MSR_FIFO (1 << 2)
#define UART_RSA_MSR_FLOW (1 << 3)
#define UART_RSA_MSR_ITYP (1 << 4)
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_RSA_IER ((UART_RSA_BASE) + 1)
#define UART_RSA_IER_Rx_FIFO_H (1 << 0)
#define UART_RSA_IER_Tx_FIFO_H (1 << 1)
#define UART_RSA_IER_Tx_FIFO_E (1 << 2)
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_RSA_IER_Rx_TOUT (1 << 3)
#define UART_RSA_IER_TIMER (1 << 4)
#define UART_RSA_SRR ((UART_RSA_BASE) + 2)
#define UART_RSA_SRR_Tx_FIFO_NEMP (1 << 0)
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_RSA_SRR_Tx_FIFO_NHFL (1 << 1)
#define UART_RSA_SRR_Tx_FIFO_NFUL (1 << 2)
#define UART_RSA_SRR_Rx_FIFO_NEMP (1 << 3)
#define UART_RSA_SRR_Rx_FIFO_NHFL (1 << 4)
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_RSA_SRR_Rx_FIFO_NFUL (1 << 5)
#define UART_RSA_SRR_Rx_TOUT (1 << 6)
#define UART_RSA_SRR_TIMER (1 << 7)
#define UART_RSA_FRR ((UART_RSA_BASE) + 2)
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_RSA_TIVSR ((UART_RSA_BASE) + 3)
#define UART_RSA_TCR ((UART_RSA_BASE) + 4)
#define UART_RSA_TCR_SWITCH (1 << 0)
#define SERIAL_RSA_BAUD_BASE (921600)
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define SERIAL_RSA_BAUD_BASE_LO (SERIAL_RSA_BAUD_BASE / 8)
#define UART_OMAP_MDR1 0x08
#define UART_OMAP_MDR2 0x09
#define UART_OMAP_SCR 0x10
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_OMAP_SSR 0x11
#define UART_OMAP_EBLR 0x12
#define UART_OMAP_OSC_12M_SEL 0x13
#define UART_OMAP_MVER 0x14
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_OMAP_SYSC 0x15
#define UART_OMAP_SYSS 0x16
#define UART_OMAP_WER 0x17
#define UART_OMAP_MDR1_16X_MODE 0x00
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_OMAP_MDR1_SIR_MODE 0x01
#define UART_OMAP_MDR1_16X_ABAUD_MODE 0x02
#define UART_OMAP_MDR1_13X_MODE 0x03
#define UART_OMAP_MDR1_MIR_MODE 0x04
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_OMAP_MDR1_FIR_MODE 0x05
#define UART_OMAP_MDR1_CIR_MODE 0x06
#define UART_OMAP_MDR1_DISABLE 0x07
#define UART_EXAR_8XMODE 0x88
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_EXAR_SLEEP 0x8b
#define UART_EXAR_DVID 0x8d
#define UART_EXAR_FCTR 0x08
#define UART_FCTR_EXAR_IRDA 0x08
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_FCTR_EXAR_485 0x10
#define UART_FCTR_EXAR_TRGA 0x00
#define UART_FCTR_EXAR_TRGB 0x60
#define UART_FCTR_EXAR_TRGC 0x80
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define UART_FCTR_EXAR_TRGD 0xc0
#define UART_EXAR_TXTRG 0x0a
#define UART_EXAR_RXTRG 0x0b
#endif
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
