debug-macro.S 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. /* arch/arm/mach-s3c6400/include/mach/debug-macro.S
  2. *
  3. * Copyright 2008 Openmoko, Inc.
  4. * Copyright 2008 Simtec Electronics
  5. * http://armlinux.simtec.co.uk/
  6. * Ben Dooks <ben@simtec.co.uk>
  7. *
  8. * This program is free software; you can redistribute it and/or modify
  9. * it under the terms of the GNU General Public License version 2 as
  10. * published by the Free Software Foundation.
  11. */
  12. /* pull in the relevant register and map files. */
  13. #include <mach/map.h>
  14. #include <plat/regs-serial.h>
  15. /* note, for the boot process to work we have to keep the UART
  16. * virtual address aligned to an 1MiB boundary for the L1
  17. * mapping the head code makes. We keep the UART virtual address
  18. * aligned and add in the offset when we load the value here.
  19. */
  20. .macro addruart, rx, rtmp
  21. mrc p15, 0, \rx, c1, c0
  22. tst \rx, #1
  23. ldreq \rx, = S3C_PA_UART
  24. ldrne \rx, = (S3C_VA_UART + S3C_PA_UART & 0xfffff)
  25. #if CONFIG_DEBUG_S3C_UART != 0
  26. add \rx, \rx, #(0x400 * CONFIG_DEBUG_S3C_UART)
  27. #endif
  28. .endm
  29. /* include the reset of the code which will do the work, we're only
  30. * compiling for a single cpu processor type so the default of s3c2440
  31. * will be fine with us.
  32. */
  33. #include <plat/debug-macro.S>