sirf.S 1021 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /*
  2. * arch/arm/mach-prima2/include/mach/debug-macro.S
  3. *
  4. * Copyright (c) 2011 Cambridge Silicon Radio Limited, a CSR plc group company.
  5. *
  6. * Licensed under GPLv2 or later.
  7. */
  8. #if defined(CONFIG_DEBUG_SIRFPRIMA2_UART1)
  9. #define SIRFSOC_UART1_PA_BASE 0xb0060000
  10. #elif defined(CONFIG_DEBUG_SIRFMARCO_UART1)
  11. #define SIRFSOC_UART1_PA_BASE 0xcc060000
  12. #else
  13. #define SIRFSOC_UART1_PA_BASE 0
  14. #endif
  15. #define SIRFSOC_UART1_VA_BASE 0xFEC60000
  16. #define SIRFSOC_UART_TXFIFO_STATUS 0x0114
  17. #define SIRFSOC_UART_TXFIFO_DATA 0x0118
  18. #define SIRFSOC_UART1_TXFIFO_FULL (1 << 5)
  19. #define SIRFSOC_UART1_TXFIFO_EMPTY (1 << 6)
  20. .macro addruart, rp, rv, tmp
  21. ldr \rp, =SIRFSOC_UART1_PA_BASE @ physical
  22. ldr \rv, =SIRFSOC_UART1_VA_BASE @ virtual
  23. .endm
  24. .macro senduart,rd,rx
  25. str \rd, [\rx, #SIRFSOC_UART_TXFIFO_DATA]
  26. .endm
  27. .macro busyuart,rd,rx
  28. .endm
  29. .macro waituart,rd,rx
  30. 1001: ldr \rd, [\rx, #SIRFSOC_UART_TXFIFO_STATUS]
  31. tst \rd, #SIRFSOC_UART1_TXFIFO_EMPTY
  32. beq 1001b
  33. .endm