uart8250.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. /*
  2. * Copyright (c) 2015-2022, ARM Limited and Contributors. All rights reserved.
  3. *
  4. * SPDX-License-Identifier: BSD-3-Clause
  5. */
  6. #ifndef UART8250_H
  7. #define UART8250_H
  8. /* UART register */
  9. #define UART_RBR 0x00 /* Receive buffer register */
  10. #define UART_DLL 0x00 /* Divisor latch lsb */
  11. #define UART_THR 0x00 /* Transmit holding register */
  12. #define UART_DLH 0x04 /* Divisor latch msb */
  13. #define UART_IER 0x04 /* Interrupt enable register */
  14. #define UART_FCR 0x08 /* FIFO control register */
  15. #define UART_LCR 0x0c /* Line control register */
  16. #define UART_MCR 0x10 /* Modem control register */
  17. #define UART_LSR 0x14 /* Line status register */
  18. #define UART_HIGHSPEED 0x24 /* High speed UART */
  19. /* FCR */
  20. #define UART_FCR_FIFO_EN 0x01 /* enable FIFO */
  21. #define UART_FCR_CLEAR_RCVR 0x02 /* clear the RCVR FIFO */
  22. #define UART_FCR_CLEAR_XMIT 0x04 /* clear the XMIT FIFO */
  23. /* LCR */
  24. #define UART_LCR_WLS_8 0x03 /* 8 bit character length */
  25. #define UART_LCR_DLAB 0x80 /* divisor latch access bit */
  26. /* MCR */
  27. #define UART_MCR_DTR 0x01
  28. #define UART_MCR_RTS 0x02
  29. /* LSR */
  30. #define UART_LSR_DR 0x01 /* Data ready */
  31. #define UART_LSR_THRE 0x20 /* Xmit holding register empty */
  32. #endif /* UART8250_H */