/*#*
*#* $Log$
+ *#* Revision 1.24 2005/04/12 01:36:37 bernie
+ *#* Add hack to enable TX line at module initialization.
+ *#*
+ *#* Revision 1.23 2005/04/11 19:10:27 bernie
+ *#* Include top-level headers from cfg/ subdir.
+ *#*
*#* Revision 1.22 2005/02/18 11:18:33 bernie
*#* Fixes for Harvard processors from project_ks.
*#*
*#* Rename UNUSED() to UNUSED_ARG().
*#*/
-#include <debug.h>
-#include <cpu.h>
-#include <macros.h> /* for BV() */
-#include <config.h>
+#include <cfg/debug.h>
+#include <cfg/cpu.h>
+#include <cfg/macros.h> /* for BV() */
+#include <cfg/config.h>
#include <hw.h>
#include <mware/formatwr.h> /* for _formatted_write() */
/*
* Support for special bus policies or external transceivers
* on UART0 (to be overridden in "hw.h").
+ *
+ * HACK: if we don't set TXEN, kdbg disables the transmitter
+ * after each output statement until the serial driver
+ * is initialized. These glitches confuse the debug
+ * terminal that ends up printing some trash.
*/
#ifndef KDBG_UART0_BUS_INIT
- #define KDBG_UART0_BUS_INIT do {} while (0)
+ #define KDBG_UART0_BUS_INIT do { \
+ UCSR0B = BV(TXEN); \
+ } while (0)
#endif
#ifndef KDBG_UART0_BUS_RX
#define KDBG_UART0_BUS_RX do {} while (0)
/*
* Support for special bus policies or external transceivers
* on UART1 (to be overridden in "hw.h").
+ *
+ * HACK: if we don't set TXEN, kdbg disables the transmitter
+ * after each output statement until the serial driver
+ * is initialized. These glitches confuse the debug
+ * terminal that ends up printing some trash.
*/
#ifndef KDBG_UART1_BUS_INIT
- #define KDBG_UART1_BUS_INIT do {} while (0)
+ #define KDBG_UART1_BUS_INIT do { \
+ UCSR1B = BV(TXEN); \
+ } while (0)
#endif
#ifndef KDBG_UART1_BUS_RX
#define KDBG_UART1_BUS_RX do {} while (0)