On Tuesday 21 August 2012, Barry Song wrote:
for the moment, that is needed just because the DEBUG UART base
address is difficult for different SoC. debug-macro.S is very early,
it depends on the SIRFSOC_UART1_PA_BASE.
/* UART-1: used as serial debug port */
#ifdef CONFIG_ARCH_PRIMA2
#define SIRFSOC_UART1_PA_BASE 0xb0060000
#elif defined(CONFIG_ARCH_MARCO)
#define SIRFSOC_UART1_PA_BASE 0xcc060000
#endif
otherwise, PRIMA2 and MARCO can co-exist.
Ok, I see.
i think i can find some ways to set the rp dynamically according to chip type.
.macro addruart, rp, rv, tmp
ldr \rp, =SIRFSOC_UART1_PA_BASE @ physical
ldr \rv, =SIRFSOC_UART1_VA_BASE @ virtual
.endm
The most common way to do this is to have multiple entries in
arch/arm/Kconfig.debug in the "Kernel low-level debugging port"
menu. For production kernels, you would just leave out DEBUG_LL
while for debugging you have to pick one UART.
Arnd