1 /* Debugging stuff for the MN10300-based processors 2 * 3 * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. 4 * Written by David Howells (dhowells@redhat.com) 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public Licence 8 * as published by the Free Software Foundation; either version 9 * 2 of the Licence, or (at your option) any later version. 10 */ 11 #include <linux/sched.h> 12 #include <asm/serial-regs.h> 13 14 #undef MN10300_CONSOLE_ON_SERIO 15 16 /* 17 * write a string directly through one of the serial ports on-board the MN10300 18 */ 19 #ifdef MN10300_CONSOLE_ON_SERIO debug_to_serial_mnser(const char * p,int n)20void debug_to_serial_mnser(const char *p, int n) 21 { 22 char ch; 23 24 for (; n > 0; n--) { 25 ch = *p++; 26 27 #if MN10300_CONSOLE_ON_SERIO == 0 28 while (SC0STR & (SC01STR_TBF)) continue; 29 SC0TXB = ch; 30 while (SC0STR & (SC01STR_TBF)) continue; 31 if (ch == 0x0a) { 32 SC0TXB = 0x0d; 33 while (SC0STR & (SC01STR_TBF)) continue; 34 } 35 36 #elif MN10300_CONSOLE_ON_SERIO == 1 37 while (SC1STR & (SC01STR_TBF)) continue; 38 SC1TXB = ch; 39 while (SC1STR & (SC01STR_TBF)) continue; 40 if (ch == 0x0a) { 41 SC1TXB = 0x0d; 42 while (SC1STR & (SC01STR_TBF)) continue; 43 } 44 45 #elif MN10300_CONSOLE_ON_SERIO == 2 46 while (SC2STR & (SC2STR_TBF)) continue; 47 SC2TXB = ch; 48 while (SC2STR & (SC2STR_TBF)) continue; 49 if (ch == 0x0a) { 50 SC2TXB = 0x0d; 51 while (SC2STR & (SC2STR_TBF)) continue; 52 } 53 54 #endif 55 } 56 } 57 #endif 58 59