bcm63xx.S 643 B

123456789101112131415161718192021222324252627282930313233
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * Broadcom BCM63xx low-level UART debug
  4. *
  5. * Copyright (C) 2014 Broadcom Corporation
  6. */
  7. #include <linux/serial_bcm63xx.h>
  8. .macro addruart, rp, rv, tmp
  9. ldr \rp, =CONFIG_DEBUG_UART_PHYS
  10. ldr \rv, =CONFIG_DEBUG_UART_VIRT
  11. .endm
  12. .macro senduart, rd, rx
  13. /* word access do not work */
  14. strb \rd, [\rx, #UART_FIFO_REG]
  15. .endm
  16. .macro waituarttxrdy, rd, rx
  17. 1001: ldr \rd, [\rx, #UART_IR_REG]
  18. tst \rd, #(1 << UART_IR_TXEMPTY)
  19. beq 1001b
  20. .endm
  21. .macro waituartcts, rd, rx
  22. .endm
  23. .macro busyuart, rd, rx
  24. 1002: ldr \rd, [\rx, #UART_IR_REG]
  25. tst \rd, #(1 << UART_IR_TXTRESH)
  26. beq 1002b
  27. .endm