[PATCH] mach-omap: add HAS_DEBUG_LL

Jan Weitzel j.weitzel at phytec.de
Mon Mar 5 05:33:26 EST 2012


Add support for debug_ll

Signed-off-by: Jan Weitzel <j.weitzel at phytec.de>
---
 arch/arm/Kconfig                           |    1 +
 arch/arm/mach-omap/include/mach/debug_ll.h |   54 ++++++++++++++++++++++++++++
 2 files changed, 55 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/mach-omap/include/mach/debug_ll.h

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 4c0ee58..67a1009 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -61,6 +61,7 @@ config ARCH_NOMADIK
 
 config ARCH_OMAP
 	bool "TI OMAP"
+	select HAS_DEBUG_LL
 
 config ARCH_PXA
 	bool "Intel/Marvell PXA based"
diff --git a/arch/arm/mach-omap/include/mach/debug_ll.h b/arch/arm/mach-omap/include/mach/debug_ll.h
new file mode 100644
index 0000000..be388d1
--- /dev/null
+++ b/arch/arm/mach-omap/include/mach/debug_ll.h
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2011
+ * Author: Jan Weitzel <j.weitzel at phytec.de>
+ * based on arch/arm/mach-versatile/include/mach/debug_ll.h
+ *
+ * barebox 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.
+ *
+ * barebox is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with barebox.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __MACH_DEBUG_LL_H__
+#define   __MACH_DEBUG_LL_H__
+
+#include <asm/io.h>
+
+#ifdef CONFIG_ARCH_OMAP3
+#include <mach/omap3-silicon.h>
+
+#ifdef CONFIG_OMAP3EVM_UART1
+#define UART_BASE	OMAP_UART1_BASE
+#else
+#define UART_BASE	OMAP_UART3_BASE
+#endif
+
+#endif
+
+#ifdef CONFIG_ARCH_OMAP4
+#include <mach/omap4-silicon.h>
+#define UART_BASE	OMAP44XX_UART3_BASE
+#endif
+
+#define LSR_THRE	0x20	/* Xmit holding register empty */
+#define LSR		(5 << 2)
+#define THR		(0 << 2)
+
+static inline void putc(char c)
+{
+	/* Wait until there is space in the FIFO */
+	while ((readb(UART_BASE + LSR) & LSR_THRE) == 0);
+	/* Send the character */
+	writeb(c, UART_BASE + THR);
+	/* Wait to make sure it hits the line, in case we die too soon. */
+	while ((readb(UART_BASE + LSR) & LSR_THRE) == 0);
+}
+#endif
-- 
1.7.0.4




More information about the barebox mailing list