@@ -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
new file mode 100644
@@ -0,0 +1,43 @@
+/*
+ * Marvell Armada SoC kernel uncompression UART routines
+ *
+ * Copyright (C) 2012 Marvell
+ *
+ * Lior Amsalem <alior@marvell.com>
+ *
+ * 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()