From 308d4fe2d5bf5fc11373a7689ca8e199268b4dab Mon Sep 17 00:00:00 2001 From: Tony Lindgren Date: Thu, 13 May 2004 14:19:05 +0100 Subject: [PATCH] [ARM PATCH] 1853/1: Update OMAP low level debug functions Patch from Tony Lindgren Changes OMAP low level debug function to allow virtual IO != physical IO. Also removes waituart checking, as it only worked for first serial port. --- arch/arm/kernel/debug.S | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/arch/arm/kernel/debug.S b/arch/arm/kernel/debug.S index 9c0acea282247..eacb85cea97f3 100644 --- a/arch/arm/kernel/debug.S +++ b/arch/arm/kernel/debug.S @@ -469,9 +469,24 @@ #include +#ifdef CONFIG_ARCH_OMAP730 +#define OMAP_SERIAL_REG_SHIFT 0 +#else +#define OMAP_SERIAL_REG_SHIFT 2 +#endif + /* See also __create_page_tables in head.S */ .macro addruart,rx - mov \rx, #0xff000000 + mrc p15, 0, \rx, c1, c0 + tst \rx, #1 @ MMU enabled? + moveq \rx, #0xff000000 @ physical base address + movne \rx, #0xfe000000 @ virtual base orr \rx, \rx, #0x00fb0000 +#ifdef CONFIG_OMAP_LL_DEBUG_UART3 + orr \rx, \rx, #0x00009000 @ UART 3 +#endif +#if defined(CONFIG_OMAP_LL_DEBUG_UART2) || defined(CONFIG_OMAP_LL_DEBUG_UART3) + orr \rx, \rx, #0x00000800 @ UART 2 & 3 +#endif .endm .macro senduart,rd,rx @@ -486,9 +501,6 @@ .endm .macro waituart,rd,rx -1001: ldrb \rd, [\rx, #(0x6 << OMAP_SERIAL_REG_SHIFT)] - tst \rd, #0x10 - beq 1001b .endm #elif defined(CONFIG_ARCH_S3C2410) -- 2.53.0