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 <[email protected]>
Cc: Russell King <[email protected]>
Cc: Greg Ungerer <[email protected]>
Cc: Arnd Bergmann <[email protected]>
---

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

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 <[email protected]>
+ * 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
-- 
1.9.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to