Subject: [PATCH 4/6] ARM: sunxi: Add earlyprintk support

From: [email-masked] (Maxime Ripard)
Date: Fri, 16 Nov 2012 10:20:35 +0100

Le 16/11/2012 08:47, Stefan Roese a ?crit :
> On 11/15/2012 11:46 PM, Maxime Ripard wrote:
>> Signed-off-by: Maxime Ripard <[email-masked]>
>> ---
>>  arch/arm/Kconfig.debug         |    8 ++++++++
>>  arch/arm/include/debug/sunxi.S |   22 ++++++++++++++++++++++
>>  2 files changed, 30 insertions(+)
>>  create mode 100644 arch/arm/include/debug/sunxi.S
>>
>> diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
>> index b0f3857..6672b02 100644
>> --- a/arch/arm/Kconfig.debug
>> +++ b/arch/arm/Kconfig.debug
>> @@ -345,6 +345,13 @@ choice
>>  		  Say Y here if you want kernel low-level debugging support
>>  		  on SOCFPGA based platforms.
>>  
>> +	config DEBUG_SUNXI_UART
>> +		bool "Kernel low-level debugging messages via sunXi UART"
>> +		depends on ARCH_SUNXI
>> +		help
>> +		  Say Y here if you want kernel low-level debugging support
>> +		  on Allwinner A1X based platforms.
>>
>>  	config DEBUG_VEXPRESS_UART0_DETECT
>>  		bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
>>  		depends on ARCH_VEXPRESS && CPU_CP15_MMU
>> @@ -416,6 +423,7 @@ config DEBUG_LL_INCLUDE
>>  	default "debug/mvebu.S" if DEBUG_MVEBU_UART
>>  	default "debug/picoxcell.S" if DEBUG_PICOXCELL_UART
>>  	default "debug/socfpga.S" if DEBUG_SOCFPGA_UART
>> +	default "debug/sunxi.S" if DEBUG_SUNXI_UART
>>  	default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT || \
>>  		DEBUG_VEXPRESS_UART0_CA9 || DEBUG_VEXPRESS_UART0_RS1
>>  	default "mach/debug-macro.S"
>> diff --git a/arch/arm/include/debug/sunxi.S b/arch/arm/include/debug/sunxi.S
>> new file mode 100644
>> index 0000000..ffd101f
>> --- /dev/null
>> +++ b/arch/arm/include/debug/sunxi.S
>> @@ -0,0 +1,22 @@
>> +/*
>> + * Early serial output macro for Allwinner A1X SoCs
>> + *
>> + * Copyright (C) 2012 Maxime Ripard
>> + *
>> + * Maxime Ripard <[email-masked]>
>> + *
>> + * This program is free software; you can redistribute it and/or modify
>> + * it under the terms of the GNU General Public License version 2 as
>> + * published by the Free Software Foundation.
>> +*/
>> +
>> +#define SUNXI_UART1_PHYS_BASE	0x01c28400
>> +#define SUNXI_UART1_VIRT_BASE	0xf1c28400
>> +
>> +	.macro	addruart, rp, rv, tmp
>> +	ldr	\rp, =SUNXI_UART1_PHYS_BASE
>> +	ldr	\rv, =SUNXI_UART1_VIRT_BASE
>> +	.endm
>> +
>> +#define UART_SHIFT	2
>> +#include <asm/hardware/debug-8250.S>
> 
> A10 (cubieboard) has debug the UART on UART0 instead of UART1 as on A13.
> So we need support this here as well. I suggest that I add support debug
> on UART0 with my cubieboard patches.

Ok, we'll do it that way then. Thanks!

Maxime

-- 
Maxime Ripard, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com