Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

MXC: add debug-macro.S for mxc

This patch adds debug-macro.S for arch-mxc

Disadvantage: Due to the board specific UART definition, these macros (and
compile time) will fail for multi board kernels.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>

authored by

Sascha Hauer and committed by
Robert Schwebel
4bc25650 d0f349fb

+43
+5
include/asm-arm/arch-mxc/board-mx31ads.h
··· 109 109 110 110 #define MXC_MAX_EXP_IO_LINES 16 111 111 112 + /* mandatory for CONFIG_LL_DEBUG */ 113 + 114 + #define MXC_LL_UART_PADDR UART1_BASE_ADDR 115 + #define MXC_LL_UART_VADDR AIPS1_IO_ADDRESS(UART1_BASE_ADDR) 116 + 112 117 #endif /* __ASM_ARCH_MXC_BOARD_MX31ADS_H__ */
+38
include/asm-arm/arch-mxc/debug-macro.S
··· 1 + /* linux/include/asm-arm/arch-imx/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/arch/hardware.h> 15 + 16 + #ifdef CONFIG_MACH_MX31ADS 17 + #include <asm/arch/board-mx31ads.h> 18 + #endif 19 + 20 + .macro addruart,rx 21 + mrc p15, 0, \rx, c1, c0 22 + tst \rx, #1 @ MMU enabled? 23 + ldreq \rx, =MXC_LL_UART_PADDR @ physical 24 + ldrne \rx, =MXC_LL_UART_VADDR @ virtual 25 + .endm 26 + 27 + .macro senduart,rd,rx 28 + str \rd, [\rx, #0x40] @ TXDATA 29 + .endm 30 + 31 + .macro waituart,rd,rx 32 + .endm 33 + 34 + .macro busyuart,rd,rx 35 + 1002: ldr \rd, [\rx, #0x98] @ SR2 36 + tst \rd, #1 << 3 @ TXDC 37 + beq 1002b @ wait until transmit done 38 + .endm