diff mbox

[3/3] ARM: mach-moxart: add MOXA ART UART debug files

Message ID 1371040448-28742-4-git-send-email-jonas.jensen@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Jonas Jensen June 12, 2013, 12:34 p.m. UTC
Signed-off-by: Jonas Jensen <jonas.jensen@gmail.com>
---
 arch/arm/Kconfig.debug          |   10 ++++++++++
 arch/arm/include/debug/moxart.S |   14 ++++++++++++++
 2 files changed, 24 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/include/debug/moxart.S

Comments

Olof Johansson June 12, 2013, 10:56 p.m. UTC | #1
Hi,

On Wed, Jun 12, 2013 at 02:34:08PM +0200, Jonas Jensen wrote:
> Signed-off-by: Jonas Jensen <jonas.jensen@gmail.com>
> ---
>  arch/arm/Kconfig.debug          |   10 ++++++++++
>  arch/arm/include/debug/moxart.S |   14 ++++++++++++++
>  2 files changed, 24 insertions(+), 0 deletions(-)
>  create mode 100644 arch/arm/include/debug/moxart.S
> 
> diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
> index 1d41908..a0e4a32 100644
> --- a/arch/arm/Kconfig.debug
> +++ b/arch/arm/Kconfig.debug
> @@ -422,6 +422,15 @@ choice
>  		  Say Y here if you want kernel low-level debugging support
>  		  on Allwinner A1X based platforms on the UART1.
>  
> +    config DEBUG_MOXART_UART0
> +        bool "Kernel low-level debugging messages via MOXART UART0"
> +        depends on ARCH_MOXART
> +        help
> +          Say Y here if you want kernel low-level debugging support
> +          on MOXART based platforms on the UART0.
> +          select this to make sure "putc" in arch/arm/boot/compressed/debug.S
> +          uses arch/arm/include/debug/moxart.S:s "addruart" macro

Looks like the last two lines above are leftovers? It's not super-helpful for
someone trying to figure out if they want this option or not; the first two
lines covers that quite nicely.

> +
>  	config DEBUG_TEGRA_UART
>  		depends on ARCH_TEGRA
>  		bool "Use Tegra UART for low-level debug"
> @@ -642,6 +651,7 @@ config DEBUG_LL_INCLUDE
>  	default "debug/sirf.S" if DEBUG_SIRFPRIMA2_UART1 || DEBUG_SIRFMARCO_UART1
>  	default "debug/socfpga.S" if DEBUG_SOCFPGA_UART
>  	default "debug/sunxi.S" if DEBUG_SUNXI_UART0 || DEBUG_SUNXI_UART1
> +	default "debug/moxart.S" if DEBUG_MOXART_UART0
>  	default "debug/tegra.S" if DEBUG_TEGRA_UART
>  	default "debug/ux500.S" if DEBUG_UX500_UART
>  	default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT || \
> diff --git a/arch/arm/include/debug/moxart.S b/arch/arm/include/debug/moxart.S
> new file mode 100644
> index 0000000..01e2aee
> --- /dev/null
> +++ b/arch/arm/include/debug/moxart.S
> @@ -0,0 +1,14 @@
> +/* Copyright (C) 2013 Jonas Jensen <jonas.jensen@gmail.com>
> + * This program is free software; you can redistribute it and/or modify it
> + * under the terms of the GNU General Public License as published by the
> + * Free Software Foundation; either version 2 of the License,
> + * or (at your option) any later version. */
> +
> +#define MOXART_UART_DEBUG_PHYS_BASE		0x98200000
> +
> +.macro	addruart, rp, rv, tmp
> +	ldr	\rp, =MOXART_UART_DEBUG_PHYS_BASE	@ physical

You need to set rv here too.

-Olof
Jonas Jensen June 14, 2013, 2:35 p.m. UTC | #2
Hi,

Thanks for the replies.

On 13 June 2013 00:56, Olof Johansson <olof@lixom.net> wrote:
>> diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
>> index 1d41908..a0e4a32 100644
>> --- a/arch/arm/Kconfig.debug
>> +++ b/arch/arm/Kconfig.debug
>> @@ -422,6 +422,15 @@ choice
>>                 Say Y here if you want kernel low-level debugging support
>>                 on Allwinner A1X based platforms on the UART1.
>>
>> +    config DEBUG_MOXART_UART0
>> +        bool "Kernel low-level debugging messages via MOXART UART0"
>> +        depends on ARCH_MOXART
>> +        help
>> +          Say Y here if you want kernel low-level debugging support
>> +          on MOXART based platforms on the UART0.
>> +          select this to make sure "putc" in arch/arm/boot/compressed/debug.S
>> +          uses arch/arm/include/debug/moxart.S:s "addruart" macro
>
> Looks like the last two lines above are leftovers? It's not super-helpful for
> someone trying to figure out if they want this option or not; the first two
> lines covers that quite nicely.

Leftovers removed. I only added them because I spent some time
figuring out the call chain around putc.

>> +++ b/arch/arm/include/debug/moxart.S
>> @@ -0,0 +1,14 @@
>> +/* Copyright (C) 2013 Jonas Jensen <jonas.jensen@gmail.com>
>> + * This program is free software; you can redistribute it and/or modify it
>> + * under the terms of the GNU General Public License as published by the
>> + * Free Software Foundation; either version 2 of the License,
>> + * or (at your option) any later version. */
>> +
>> +#define MOXART_UART_DEBUG_PHYS_BASE          0x98200000
>> +
>> +.macro       addruart, rp, rv, tmp
>> +     ldr     \rp, =MOXART_UART_DEBUG_PHYS_BASE       @ physical
>
> You need to set rv here too.

Done. Used to be set with the IO_ADDRESS macro I worked so hard to
remove. Looking at other platforms, it seems accepted to set a
hardcoded value here.


Best regards,
Jonas
diff mbox

Patch

diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index 1d41908..a0e4a32 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -422,6 +422,15 @@  choice
 		  Say Y here if you want kernel low-level debugging support
 		  on Allwinner A1X based platforms on the UART1.
 
+    config DEBUG_MOXART_UART0
+        bool "Kernel low-level debugging messages via MOXART UART0"
+        depends on ARCH_MOXART
+        help
+          Say Y here if you want kernel low-level debugging support
+          on MOXART based platforms on the UART0.
+          select this to make sure "putc" in arch/arm/boot/compressed/debug.S
+          uses arch/arm/include/debug/moxart.S:s "addruart" macro
+
 	config DEBUG_TEGRA_UART
 		depends on ARCH_TEGRA
 		bool "Use Tegra UART for low-level debug"
@@ -642,6 +651,7 @@  config DEBUG_LL_INCLUDE
 	default "debug/sirf.S" if DEBUG_SIRFPRIMA2_UART1 || DEBUG_SIRFMARCO_UART1
 	default "debug/socfpga.S" if DEBUG_SOCFPGA_UART
 	default "debug/sunxi.S" if DEBUG_SUNXI_UART0 || DEBUG_SUNXI_UART1
+	default "debug/moxart.S" if DEBUG_MOXART_UART0
 	default "debug/tegra.S" if DEBUG_TEGRA_UART
 	default "debug/ux500.S" if DEBUG_UX500_UART
 	default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT || \
diff --git a/arch/arm/include/debug/moxart.S b/arch/arm/include/debug/moxart.S
new file mode 100644
index 0000000..01e2aee
--- /dev/null
+++ b/arch/arm/include/debug/moxart.S
@@ -0,0 +1,14 @@ 
+/* Copyright (C) 2013 Jonas Jensen <jonas.jensen@gmail.com>
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License,
+ * or (at your option) any later version. */
+
+#define MOXART_UART_DEBUG_PHYS_BASE		0x98200000
+
+.macro	addruart, rp, rv, tmp
+	ldr	\rp, =MOXART_UART_DEBUG_PHYS_BASE	@ physical
+.endm
+
+#define UART_SHIFT	2
+#include <asm/hardware/debug-8250.S>