home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / arm / mach-lh7a40x / include / mach / debug-macro.S < prev    next >
Encoding:
Text File  |  2008-12-24  |  1.2 KB  |  40 lines

  1. /* arch/arm/mach-lh7a40x/include/mach/debug-macro.S
  2.  *
  3.  * Debugging macro include header
  4.  *
  5.  *  Copyright (C) 1994-1999 Russell King
  6.  *  Moved from linux/arch/arm/kernel/debug.S by Ben Dooks
  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. */
  13.  
  14.     @ It is not known if this will be appropriate for every 40x
  15.     @ board.
  16.  
  17.         .macro  addruart,rx
  18.         mrc     p15, 0, \rx, c1, c0
  19.         tst     \rx, #1                 @ MMU enabled?
  20.         mov     \rx, #0x00000700        @ offset from base
  21.         orreq   \rx, \rx, #0x80000000   @ physical base
  22.         orrne   \rx, \rx, #0xf8000000   @ virtual base
  23.         .endm
  24.  
  25.         .macro  senduart,rd,rx
  26.         strb    \rd, [\rx]              @ DATA
  27.         .endm
  28.  
  29.         .macro  busyuart,rd,rx          @ spin while busy
  30. 1001:        ldr     \rd, [\rx, #0x10]       @ STATUS
  31.         tst     \rd, #1 << 3            @ BUSY (TX FIFO not empty)
  32.         bne     1001b                   @ yes, spin
  33.         .endm
  34.  
  35.         .macro  waituart,rd,rx          @ wait for Tx FIFO room
  36. 1001:        ldrb    \rd, [\rx, #0x10]       @ STATUS
  37.         tst     \rd, #1 << 5            @ TXFF (TX FIFO full)
  38.         bne     1001b                   @ yes, spin
  39.         .endm
  40.