diff mbox

arm: ks8695: Migrate debug_ll macros to shared directory

Message ID 1405506667-4649-1-git-send-email-daniel.thompson@linaro.org
State New
Headers show

Commit Message

Daniel Thompson July 16, 2014, 10:31 a.m. UTC
As part of the migration a couple of uart definitions have been copied
from of the platform specific header files.

Note that, in order to keep oldconfig working nicely we must defer the
removal of arch/arm/mach-ks8695/include/mach/debug-macro.S until
DEBUG_LL_UART_NONE has been removed.

Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Greg Ungerer <gerg@uclinux.org>
Cc: Arnd Bergmann <arnd.bergmann@linaro.org>
---

Notes:
    This is a contribution towards the removal of DEBUG_LL_UART_NONE, see
    http://thread.gmane.org/gmane.linux.kernel/1712068/focus=1746065 for
    details.

 arch/arm/Kconfig.debug          |  8 ++++++++
 arch/arm/include/debug/ks8695.S | 40 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 48 insertions(+)
 create mode 100644 arch/arm/include/debug/ks8695.S

Comments

Daniel Thompson July 16, 2014, 10:36 a.m. UTC | #1
On 16/07/14 11:31, Daniel Thompson wrote:
> As part of the migration a couple of uart definitions have been copied
> from of the platform specific header files.
> 
> Note that, in order to keep oldconfig working nicely we must defer the
> removal of arch/arm/mach-ks8695/include/mach/debug-macro.S until
> DEBUG_LL_UART_NONE has been removed.
> 
> Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
> Cc: Russell King <linux@arm.linux.org.uk>
> Cc: Greg Ungerer <gerg@uclinux.org>
> Cc: Arnd Bergmann <arnd.bergmann@linaro.org>
> ---
> 
> Notes:
>     This is a contribution towards the removal of DEBUG_LL_UART_NONE, see
>     http://thread.gmane.org/gmane.linux.kernel/1712068/focus=1746065 for
>     details.

Sorry wrong link (focus is not in the most meaningful message). Better
link is:
http://thread.gmane.org/gmane.linux.kernel/1712068/focus=1746366


Daniel.
Arnd Bergmann July 16, 2014, 11:11 a.m. UTC | #2
On Wednesday 16 July 2014 11:31:07 Daniel Thompson wrote:
> As part of the migration a couple of uart definitions have been copied
> from of the platform specific header files.
> 
> Note that, in order to keep oldconfig working nicely we must defer the
> removal of arch/arm/mach-ks8695/include/mach/debug-macro.S until
> DEBUG_LL_UART_NONE has been removed.
> 
> Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
> Cc: Russell King <linux@arm.linux.org.uk>
> Cc: Greg Ungerer <gerg@uclinux.org>
> Cc: Arnd Bergmann <arnd.bergmann@linaro.org>
> ---
> 
> Notes:
>     This is a contribution towards the removal of DEBUG_LL_UART_NONE, see
>     http://thread.gmane.org/gmane.linux.kernel/1712068/focus=1746065 for
>     details.
> 
>  arch/arm/Kconfig.debug          |  8 ++++++++
>  arch/arm/include/debug/ks8695.S | 40 ++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 48 insertions(+)
>  create mode 100644 arch/arm/include/debug/ks8695.S
> 
The change looks good, but it seems you forgot to remove
arch/arm/mach-ks8695/include/mach/debug-macro.S.

When you add that, also remember to use 'git format-patch -M' to show the
changes you did rather than one file added and one removed.

	Arnd
Daniel Thompson July 16, 2014, 12:28 p.m. UTC | #3
On 16/07/14 12:11, Arnd Bergmann wrote:
> On Wednesday 16 July 2014 11:31:07 Daniel Thompson wrote:
>> As part of the migration a couple of uart definitions have been copied
>> from of the platform specific header files.
>>
>> Note that, in order to keep oldconfig working nicely we must defer the
>> removal of arch/arm/mach-ks8695/include/mach/debug-macro.S until
>> DEBUG_LL_UART_NONE has been removed.
>>
>> Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
>> Cc: Russell King <linux@arm.linux.org.uk>
>> Cc: Greg Ungerer <gerg@uclinux.org>
>> Cc: Arnd Bergmann <arnd.bergmann@linaro.org>
>> ---
>>
>> Notes:
>>     This is a contribution towards the removal of DEBUG_LL_UART_NONE, see
>>     http://thread.gmane.org/gmane.linux.kernel/1712068/focus=1746065 for
>>     details.
>>
>>  arch/arm/Kconfig.debug          |  8 ++++++++
>>  arch/arm/include/debug/ks8695.S | 40 ++++++++++++++++++++++++++++++++++++++++
>>  2 files changed, 48 insertions(+)
>>  create mode 100644 arch/arm/include/debug/ks8695.S
>>
> The change looks good, but it seems you forgot to remove
> arch/arm/mach-ks8695/include/mach/debug-macro.S.

I explained why I didn't delete this file in the changelog.

If this patch were applied whilst DEBUG_LL_UART_NONE still exists then
there are problems with oldconfig builds failing to compile (for the
same reason as the versatile stuff).


> When you add that, also remember to use 'git format-patch -M' to show the
> changes you did rather than one file added and one removed.

I hope at some point soon(ish) to have a patch series that moves all
four platforms across and trashes DEBUG_LL_UART_NONE. I'll respin this
patch as part of that (with the deleted file).
Arnd Bergmann July 16, 2014, 12:35 p.m. UTC | #4
On Wednesday 16 July 2014 13:28:48 Daniel Thompson wrote:
> On 16/07/14 12:11, Arnd Bergmann wrote:
> > On Wednesday 16 July 2014 11:31:07 Daniel Thompson wrote:
> >> As part of the migration a couple of uart definitions have been copied
> >> from of the platform specific header files.
> >>
> >> Note that, in order to keep oldconfig working nicely we must defer the
> >> removal of arch/arm/mach-ks8695/include/mach/debug-macro.S until
> >> DEBUG_LL_UART_NONE has been removed.
> >>
> >> Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
> >> Cc: Russell King <linux@arm.linux.org.uk>
> >> Cc: Greg Ungerer <gerg@uclinux.org>
> >> Cc: Arnd Bergmann <arnd.bergmann@linaro.org>
> >> ---
> >>
> >> Notes:
> >>     This is a contribution towards the removal of DEBUG_LL_UART_NONE, see
> >>     http://thread.gmane.org/gmane.linux.kernel/1712068/focus=1746065 for
> >>     details.
> >>
> >>  arch/arm/Kconfig.debug          |  8 ++++++++
> >>  arch/arm/include/debug/ks8695.S | 40 ++++++++++++++++++++++++++++++++++++++++
> >>  2 files changed, 48 insertions(+)
> >>  create mode 100644 arch/arm/include/debug/ks8695.S
> >>
> > The change looks good, but it seems you forgot to remove
> > arch/arm/mach-ks8695/include/mach/debug-macro.S.
> 
> I explained why I didn't delete this file in the changelog.
> 
> If this patch were applied whilst DEBUG_LL_UART_NONE still exists then
> there are problems with oldconfig builds failing to compile (for the
> same reason as the versatile stuff).

Ah right, sorry for missing that.

> > When you add that, also remember to use 'git format-patch -M' to show the
> > changes you did rather than one file added and one removed.
> 
> I hope at some point soon(ish) to have a patch series that moves all
> four platforms across and trashes DEBUG_LL_UART_NONE. I'll respin this
> patch as part of that (with the deleted file).

Ok.

	Arnd
diff mbox

Patch

diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index 8f90595..6f9664a 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -340,6 +340,13 @@  choice
 		  Say Y here if you want the debug print routines to direct
 		  their output to UART1 serial port on KEYSTONE2 devices.
 
+	config DEBUG_KS8695_UART
+		bool "KS8695 Debug UART"
+		depends on ARCH_KS8695
+		help
+		  Say Y here if you want kernel low-level debugging support
+		  on KS8695.
+
 	config DEBUG_MMP_UART2
 		bool "Kernel low-level debugging message via MMP UART2"
 		depends on ARCH_MMP
@@ -1006,6 +1013,7 @@  config DEBUG_LL_INCLUDE
 				 DEBUG_IMX6Q_UART || \
 				 DEBUG_IMX6SL_UART || \
 				 DEBUG_IMX6SX_UART
+	default "debug/ks8695.S" if DEBUG_KS8695_UART
 	default "debug/msm.S" if DEBUG_MSM_UART || DEBUG_QCOM_UARTDM
 	default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
 	default "debug/s3c24xx.S" if DEBUG_S3C24XX_UART
diff --git a/arch/arm/include/debug/ks8695.S b/arch/arm/include/debug/ks8695.S
new file mode 100644
index 0000000..961da1f
--- /dev/null
+++ b/arch/arm/include/debug/ks8695.S
@@ -0,0 +1,40 @@ 
+/*
+ * arch/arm/include/debug/ks8695.S
+ *
+ * Copyright (C) 2006 Ben Dooks <ben@simtec.co.uk>
+ * Copyright (C) 2006 Simtec Electronics
+ *
+ * KS8695 - Debug macros
+ *
+ * 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 KS8695_UART_PA	0x03ffe000
+#define KS8695_UART_VA	0xf00fe000
+#define KS8695_URTH	(0x04)
+#define KS8695_URLS	(0x14)
+#define URLS_URTE	(1 << 6)
+#define URLS_URTHRE	(1 << 5)
+
+	.macro	addruart, rp, rv, tmp
+		ldr	\rp, =KS8695_UART_PA		@ physical base address
+		ldr	\rv, =KS8695_UART_VA		@ virtual base address
+	.endm
+
+	.macro	senduart, rd, rx
+		str	\rd, [\rx, #KS8695_URTH]	@ Write to Transmit Holding Register
+	.endm
+
+	.macro	busyuart, rd, rx
+1001:		ldr	\rd, [\rx, #KS8695_URLS]	@ Read Line Status Register
+		tst	\rd, #URLS_URTE			@ Holding & Shift registers empty?
+		beq	1001b
+	.endm
+
+	.macro	waituart, rd, rx
+1001:		ldr	\rd, [\rx, #KS8695_URLS]	@ Read Line Status Register
+		tst	\rd, #URLS_URTHRE		@ Holding Register empty?
+		beq	1001b
+	.endm