From 51590926011847cf145e3ffc77ae79027709b839 Mon Sep 17 00:00:00 2001 From: Barry Song Date: Thu, 20 Dec 2012 19:45:25 +0800 Subject: [PATCH] --- yaml --- r: 355484 b: refs/heads/master c: 7f46a10724e0d31c83029436e54298be2cc558fa h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/arm/Kconfig.debug | 14 ++++++++++++++ trunk/arch/arm/mach-prima2/include/mach/uart.h | 6 ++++++ .../arch/arm/mach-prima2/include/mach/uncompress.h | 3 +++ 4 files changed, 24 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 0e37f338f05b..b404d7d8a2c4 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4898de3d15d8ba34aa7a1b0f753a476d52ebdf92 +refs/heads/master: 7f46a10724e0d31c83029436e54298be2cc558fa diff --git a/trunk/arch/arm/Kconfig.debug b/trunk/arch/arm/Kconfig.debug index 661030d6bc6c..00ad1f895da2 100644 --- a/trunk/arch/arm/Kconfig.debug +++ b/trunk/arch/arm/Kconfig.debug @@ -386,6 +386,20 @@ choice Say Y here if you want kernel low-level debugging support on Tegra based platforms. + config DEBUG_SIRFPRIMA2_UART1 + bool "Kernel low-level debugging messages via SiRFprimaII UART1" + depends on ARCH_PRIMA2 + help + Say Y here if you want the debug print routines to direct + their output to the uart1 port on SiRFprimaII devices. + + config DEBUG_SIRFMARCO_UART1 + bool "Kernel low-level debugging messages via SiRFmarco UART1" + depends on ARCH_MARCO + help + Say Y here if you want the debug print routines to direct + their output to the uart1 port on SiRFmarco devices. + config DEBUG_VEXPRESS_UART0_DETECT bool "Autodetect UART0 on Versatile Express Cortex-A core tiles" depends on ARCH_VEXPRESS && CPU_CP15_MMU diff --git a/trunk/arch/arm/mach-prima2/include/mach/uart.h b/trunk/arch/arm/mach-prima2/include/mach/uart.h index c98b4d5ac24a..c10510d01a44 100644 --- a/trunk/arch/arm/mach-prima2/include/mach/uart.h +++ b/trunk/arch/arm/mach-prima2/include/mach/uart.h @@ -10,7 +10,13 @@ #define __MACH_PRIMA2_SIRFSOC_UART_H /* UART-1: used as serial debug port */ +#if defined(CONFIG_DEBUG_SIRFPRIMA2_UART1) #define SIRFSOC_UART1_PA_BASE 0xb0060000 +#elif defined(CONFIG_DEBUG_SIRFMARCO_UART1) +#define SIRFSOC_UART1_PA_BASE 0xcc060000 +#else +#define SIRFSOC_UART1_PA_BASE 0 +#endif #define SIRFSOC_UART1_VA_BASE SIRFSOC_VA(0x060000) #define SIRFSOC_UART1_SIZE SZ_4K diff --git a/trunk/arch/arm/mach-prima2/include/mach/uncompress.h b/trunk/arch/arm/mach-prima2/include/mach/uncompress.h index 0c898fcf909c..15f3edcfbb47 100644 --- a/trunk/arch/arm/mach-prima2/include/mach/uncompress.h +++ b/trunk/arch/arm/mach-prima2/include/mach/uncompress.h @@ -25,6 +25,9 @@ static __inline__ void putc(char c) * during kernel decompression, all mappings are flat: * virt_addr == phys_addr */ + if (!SIRFSOC_UART1_PA_BASE) + return; + while (__raw_readl((void __iomem *)SIRFSOC_UART1_PA_BASE + SIRFSOC_UART_TXFIFO_STATUS) & SIRFSOC_UART1_TXFIFO_FULL) barrier();