Linux 4.1.18
[linux/fpc-iii.git] / arch / mn10300 / kernel / mn10300-debug.c
blobbd8196478cbcf2c104dffbe81871c0eb135710a9
1 /* Debugging stuff for the MN10300-based processors
3 * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved.
4 * Written by David Howells (dhowells@redhat.com)
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.
11 #include <linux/sched.h>
12 #include <asm/serial-regs.h>
14 #undef MN10300_CONSOLE_ON_SERIO
17 * write a string directly through one of the serial ports on-board the MN10300
19 #ifdef MN10300_CONSOLE_ON_SERIO
20 void debug_to_serial_mnser(const char *p, int n)
22 char ch;
24 for (; n > 0; n--) {
25 ch = *p++;
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;
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;
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;
54 #endif
57 #endif