mirror of https://gitee.com/openkylin/linux.git
ARM: PRIMA2: provide two DEBUG_LL ports for prima2 and marco
prima2 and marco has different memory base, the old code will fail if we enable DEBUG_LL in marco. this patch adds two debuf port, while debugging, we select one of PRIMA2 and MARCO debug ports, in the products, we disable DEBUG_LL. Signed-off-by: Barry Song <Baohua.Song@csr.com>
This commit is contained in:
parent
4898de3d15
commit
7f46a10724
|
@ -386,6 +386,20 @@ choice
|
||||||
Say Y here if you want kernel low-level debugging support
|
Say Y here if you want kernel low-level debugging support
|
||||||
on Tegra based platforms.
|
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
|
config DEBUG_VEXPRESS_UART0_DETECT
|
||||||
bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
|
bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
|
||||||
depends on ARCH_VEXPRESS && CPU_CP15_MMU
|
depends on ARCH_VEXPRESS && CPU_CP15_MMU
|
||||||
|
|
|
@ -10,7 +10,13 @@
|
||||||
#define __MACH_PRIMA2_SIRFSOC_UART_H
|
#define __MACH_PRIMA2_SIRFSOC_UART_H
|
||||||
|
|
||||||
/* UART-1: used as serial debug port */
|
/* UART-1: used as serial debug port */
|
||||||
|
#if defined(CONFIG_DEBUG_SIRFPRIMA2_UART1)
|
||||||
#define SIRFSOC_UART1_PA_BASE 0xb0060000
|
#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_VA_BASE SIRFSOC_VA(0x060000)
|
||||||
#define SIRFSOC_UART1_SIZE SZ_4K
|
#define SIRFSOC_UART1_SIZE SZ_4K
|
||||||
|
|
||||||
|
|
|
@ -25,6 +25,9 @@ static __inline__ void putc(char c)
|
||||||
* during kernel decompression, all mappings are flat:
|
* during kernel decompression, all mappings are flat:
|
||||||
* virt_addr == phys_addr
|
* virt_addr == phys_addr
|
||||||
*/
|
*/
|
||||||
|
if (!SIRFSOC_UART1_PA_BASE)
|
||||||
|
return;
|
||||||
|
|
||||||
while (__raw_readl((void __iomem *)SIRFSOC_UART1_PA_BASE + SIRFSOC_UART_TXFIFO_STATUS)
|
while (__raw_readl((void __iomem *)SIRFSOC_UART1_PA_BASE + SIRFSOC_UART_TXFIFO_STATUS)
|
||||||
& SIRFSOC_UART1_TXFIFO_FULL)
|
& SIRFSOC_UART1_TXFIFO_FULL)
|
||||||
barrier();
|
barrier();
|
||||||
|
|
Loading…
Reference in New Issue