[PATCH 1/4] ARM: sirf: add two debug ports for CSRatlas7 SoC

Barry Song 21cnbao at gmail.com
Thu Jan 1 23:51:41 PST 2015


2014-12-31 23:31 GMT+08:00, Arnd Bergmann <arnd at arndb.de>:
> On Wednesday 31 December 2014 23:05:44 Barry Song wrote:
>> 2014-12-31 6:35 GMT+08:00 Arnd Bergmann <arnd at arndb.de>:
>> > On Thursday 25 December 2014 16:34:17 Barry Song wrote:
>> >>  #if defined(CONFIG_DEBUG_SIRFPRIMA2_UART1)
>> >> -#define SIRFSOC_UART1_PA_BASE          0xb0060000
>> >> +#define SIRF_LLUART_PA_BASE          0xb0060000
>> >>  #elif defined(CONFIG_DEBUG_SIRFMARCO_UART1)
>> >> -#define SIRFSOC_UART1_PA_BASE          0xcc060000
>> >> +#define SIRF_LLUART_PA_BASE          0xcc060000
>> >> +#elif defined(CONFIG_DEBUG_SIRFATLAS7_UART1)
>> >> +#define SIRF_LLUART_PA_BASE          0x18020000
>> >> +#elif defined(CONFIG_DEBUG_SIRFATLAS7_UART0)
>> >> +#define SIRF_LLUART_PA_BASE          0x18010000
>> >>  #else
>> >> -#define SIRFSOC_UART1_PA_BASE          0
>> >> +#define SIRF_LLUART_PA_BASE          0
>> >>  #endif
>> >
>> > I think it would be nicer to use DEBUG_UART_PHYS/DEBUG_UART_VIRT here.
>>
>> yes if it is more general name for all. my second feeling is that does
>> this conflict CSR namespace stuff into high-level and common namespace
>> things?
>
> I think my comment was misleading. What I meant was to use
> CONFIG_DEBUG_UART_PHYS from arch/arm/Kconfig.debug the same way
> we do for the 8250 and pl011 compatible uarts.

it is even better if all CSR ports are same in register layout. then
we can simply have a Kconfig options for all ports and use the
CONFIG_DEBUG_UART_VIRT/PHYS to differentiate ports. but here we still
need the options for different ports as TXFIFO_EMPTY bits are
different on different ports.

+#ifdef CONFIG_DEBUG_SIRFATLAS7_UART0
+#define SIRF_LLUART_TXFIFO_EMPTY			(1 << 8)
+#else
+#define SIRF_LLUART_TXFIFO_EMPTY			(1 << 6)
+#endif

but we can still get benefit to define the BASE address from Kconfig
and have some similar ways with:

include/debug/8250.S:           ldr     \rv, =CONFIG_DEBUG_UART_VIRT
include/debug/bcm63xx.S:        ldr     \rv, =CONFIG_DEBUG_UART_VIRT
include/debug/meson.S:  ldr     \rv, =(CONFIG_DEBUG_UART_VIRT)
 @ virtual
include/debug/msm.S:    ldr     \rv, =CONFIG_DEBUG_UART_VIRT
include/debug/pl01x.S:          ldr     \rv, =CONFIG_DEBUG_UART_VIRT
include/debug/s3c24xx.S:                ldr     \rv, = CONFIG_DEBUG_UART_VIRT


>
> 	Arnd
>

-barry



More information about the linux-arm-kernel mailing list