From: Stephen Warren <[email protected]>

Now that we have a way to provide uncompress.h in a multi-platform zImage,
re-instate mvebu's uncompress.h. This was originally removed as part of
commit 387798b "ARM: initial multiplatform support". Note that actually
enabling this via DEBUG_LL still entails the restrictions outlined for
that option.

Cc: Gregory CLEMENT <[email protected]>
Cc: Thomas Petazzoni <[email protected]>
Cc: Lior Amsalem <[email protected]>
Cc: Andrew Lunn <[email protected]>
Cc: Yehuda Yitschak <[email protected]>
Signed-off-by: Stephen Warren <[email protected]>
---
 arch/arm/Kconfig.debug                    |    3 +-
 arch/arm/include/debug/mvebu-uncompress.h |   43 +++++++++++++++++++++++++++++
 2 files changed, 45 insertions(+), 1 deletions(-)
 create mode 100644 arch/arm/include/debug/mvebu-uncompress.h

diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index 0daec3d..af34a43 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -423,8 +423,9 @@ config DEBUG_LL_INCLUDE
 config UNCOMPRESS_INCLUDE
        string
        default "debug/icedcc-uncompress.h" if DEBUG_ICEDCC
+       default "debug/mvebu-uncompress.h" if DEBUG_MVEBU_UART
        default "debug/none-uncompress.h" if ARCH_MULTIPLATFORM || \
-               DEBUG_HIGHBANK_UART || DEBUG_MVEBU_UART || \
+               DEBUG_HIGHBANK_UART || \
                DEBUG_PICOXCELL_UART || DEBUG_SOCFPGA_UART || \
                DEBUG_VEXPRESS_UART0_DETECT || DEBUG_VEXPRESS_UART0_CA9 || \
                DEBUG_VEXPRESS_UART0_RS1
diff --git a/arch/arm/include/debug/mvebu-uncompress.h 
b/arch/arm/include/debug/mvebu-uncompress.h
new file mode 100644
index 0000000..df3bd6b
--- /dev/null
+++ b/arch/arm/include/debug/mvebu-uncompress.h
@@ -0,0 +1,43 @@
+/*
+ * Marvell Armada SoC kernel uncompression UART routines
+ *
+ * Copyright (C) 2012 Marvell
+ *
+ * Lior Amsalem <[email protected]>
+ *
+ * This file is licensed under the terms of the GNU General Public
+ * License version 2.  This program is licensed "as is" without any
+ * warranty of any kind, whether express or implied.
+ */
+
+#define ARMADA_370_XP_REGS_PHYS_BASE   0xd0000000
+
+#define UART_THR ((volatile unsigned char *)(ARMADA_370_XP_REGS_PHYS_BASE\
+                                                               + 0x12000))
+#define UART_LSR ((volatile unsigned char *)(ARMADA_370_XP_REGS_PHYS_BASE\
+                                                               + 0x12014))
+
+#define LSR_THRE       0x20
+
+static void putc(const char c)
+{
+       int i;
+
+       for (i = 0; i < 0x1000; i++) {
+               /* Transmit fifo not full? */
+               if (*UART_LSR & LSR_THRE)
+                       break;
+       }
+
+       *UART_THR = c;
+}
+
+static void flush(void)
+{
+}
+
+/*
+ * nothing to do
+ */
+#define arch_decomp_setup()
+#define arch_decomp_wdog()
-- 
1.7.0.4

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

Reply via email to