diff options
author | Cyril Chemparathy <cyril@ti.com> | 2010-05-18 12:51:17 -0400 |
---|---|---|
committer | Kevin Hilman <khilman@deeprootsystems.com> | 2010-06-21 15:48:30 -0400 |
commit | dc2eb76c40590a3c080294d1fbd000c8f70d88a9 (patch) | |
tree | 8c7bccdd0eb4dfba763cd19216d8c0a13dfb5d51 /arch/arm/mach-davinci/include/mach/serial.h | |
parent | 7e27d6e778cd87b6f2415515d7127eba53fe5d02 (diff) |
Davinci: generalized debug macros
This patch adopts a debug uart selection similar to the OMAP model. During
the boot process, the uncompress code determines the physical and virtual base
addresses of the board-specific debug uart. These addresses are then passed
on to the in-kernel debug macros through a small chunk of memory placed just
below the page tables (@0x80003ff8).
Signed-off-by: Cyril Chemparathy <cyril@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Diffstat (limited to 'arch/arm/mach-davinci/include/mach/serial.h')
-rw-r--r-- | arch/arm/mach-davinci/include/mach/serial.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/arm/mach-davinci/include/mach/serial.h b/arch/arm/mach-davinci/include/mach/serial.h index f6c4f34909a2..b21ec224b11d 100644 --- a/arch/arm/mach-davinci/include/mach/serial.h +++ b/arch/arm/mach-davinci/include/mach/serial.h | |||
@@ -11,8 +11,19 @@ | |||
11 | #ifndef __ASM_ARCH_SERIAL_H | 11 | #ifndef __ASM_ARCH_SERIAL_H |
12 | #define __ASM_ARCH_SERIAL_H | 12 | #define __ASM_ARCH_SERIAL_H |
13 | 13 | ||
14 | #include <asm/memory.h> | ||
15 | |||
14 | #include <mach/hardware.h> | 16 | #include <mach/hardware.h> |
15 | 17 | ||
18 | /* | ||
19 | * Stolen area that contains debug uart physical and virtual addresses. These | ||
20 | * addresses are filled in by the uncompress.h code, and are used by the debug | ||
21 | * macros in debug-macro.S. | ||
22 | * | ||
23 | * This area sits just below the page tables (see arch/arm/kernel/head.S). | ||
24 | */ | ||
25 | #define DAVINCI_UART_INFO (PHYS_OFFSET + 0x3ff8) | ||
26 | |||
16 | #define DAVINCI_UART0_BASE (IO_PHYS + 0x20000) | 27 | #define DAVINCI_UART0_BASE (IO_PHYS + 0x20000) |
17 | #define DAVINCI_UART1_BASE (IO_PHYS + 0x20400) | 28 | #define DAVINCI_UART1_BASE (IO_PHYS + 0x20400) |
18 | #define DAVINCI_UART2_BASE (IO_PHYS + 0x20800) | 29 | #define DAVINCI_UART2_BASE (IO_PHYS + 0x20800) |
@@ -26,11 +37,13 @@ | |||
26 | #define UART_DM646X_SCR 0x10 | 37 | #define UART_DM646X_SCR 0x10 |
27 | #define UART_DM646X_SCR_TX_WATERMARK 0x08 | 38 | #define UART_DM646X_SCR_TX_WATERMARK 0x08 |
28 | 39 | ||
40 | #ifndef __ASSEMBLY__ | ||
29 | struct davinci_uart_config { | 41 | struct davinci_uart_config { |
30 | /* Bit field of UARTs present; bit 0 --> UART1 */ | 42 | /* Bit field of UARTs present; bit 0 --> UART1 */ |
31 | unsigned int enabled_uarts; | 43 | unsigned int enabled_uarts; |
32 | }; | 44 | }; |
33 | 45 | ||
34 | extern int davinci_serial_init(struct davinci_uart_config *); | 46 | extern int davinci_serial_init(struct davinci_uart_config *); |
47 | #endif | ||
35 | 48 | ||
36 | #endif /* __ASM_ARCH_SERIAL_H */ | 49 | #endif /* __ASM_ARCH_SERIAL_H */ |