debug-8250.S 817 B

123456789101112131415161718192021222324252627282930313233
  1. /*
  2. * arch/arm/include/asm/hardware/debug-8250.S
  3. *
  4. * Copyright (C) 1994-1999 Russell King
  5. *
  6. * This program is free software; you can redistribute it and/or modify
  7. * it under the terms of the GNU General Public License version 2 as
  8. * published by the Free Software Foundation.
  9. */
  10. #include <linux/serial_reg.h>
  11. #ifndef UART_SHIFT
  12. #define UART_SHIFT CONFIG_DEBUG_UART_8250_SHIFT
  13. #endif
  14. .macro senduart,rd,rx
  15. strb \rd, [\rx, #UART_TX << UART_SHIFT]
  16. .endm
  17. .macro busyuart,rd,rx
  18. 1002: ldrb \rd, [\rx, #UART_LSR << UART_SHIFT]
  19. and \rd, \rd, #UART_LSR_TEMT | UART_LSR_THRE
  20. teq \rd, #UART_LSR_TEMT | UART_LSR_THRE
  21. bne 1002b
  22. .endm
  23. .macro waituart,rd,rx
  24. #ifdef CONFIG_DEBUG_UART_8250_FLOW_CONTROL
  25. 1001: ldrb \rd, [\rx, #UART_MSR << UART_SHIFT]
  26. tst \rd, #UART_MSR_CTS
  27. beq 1001b
  28. #endif
  29. .endm