at v2.6.13 1.5 kB view raw
1/* linux/include/asm-arm/arch-ebsa285/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#include <asm/hardware/dec21285.h> 15 16#ifndef CONFIG_DEBUG_DC21285_PORT 17 /* For NetWinder debugging */ 18 .macro addruart,rx 19 mrc p15, 0, \rx, c1, c0 20 tst \rx, #1 @ MMU enabled? 21 moveq \rx, #0x7c000000 @ physical 22 movne \rx, #0xff000000 @ virtual 23 orr \rx, \rx, #0x000003f8 24 .endm 25 26 .macro senduart,rd,rx 27 strb \rd, [\rx] 28 .endm 29 30 .macro busyuart,rd,rx 311002: ldrb \rd, [\rx, #0x5] 32 and \rd, \rd, #0x60 33 teq \rd, #0x60 34 bne 1002b 35 .endm 36 37 .macro waituart,rd,rx 381001: ldrb \rd, [\rx, #0x6] 39 tst \rd, #0x10 40 beq 1001b 41 .endm 42#else 43 /* For EBSA285 debugging */ 44 .equ dc21285_high, ARMCSR_BASE & 0xff000000 45 .equ dc21285_low, ARMCSR_BASE & 0x00ffffff 46 47 .macro addruart,rx 48 mrc p15, 0, \rx, c1, c0 49 tst \rx, #1 @ MMU enabled? 50 moveq \rx, #0x42000000 51 movne \rx, #dc21285_high 52 .if dc21285_low 53 orrne \rx, \rx, #dc21285_low 54 .endif 55 .endm 56 57 .macro senduart,rd,rx 58 str \rd, [\rx, #0x160] @ UARTDR 59 .endm 60 61 .macro busyuart,rd,rx 621001: ldr \rd, [\rx, #0x178] @ UARTFLG 63 tst \rd, #1 << 3 64 bne 1001b 65 .endm 66 67 .macro waituart,rd,rx 68 .endm 69#endif